Write a program that loads a triangle mesh model (with at least 100 triangles) from an smf file. smf files can be found here
The file name of the model should be passed as an argument to your program
Calculate a surface normal for each triangle.
Normalize the normal and take its absolute value, and set the triangle's color equal to this vector. This will visualize the normal as a color.
Implement a rotating camera view of the model using
the LookAt function.
Your camera should rotate on a cylinder around the model.
Allow the user to interactively change the height, the orbit radius and cylinder angle of the camera via keyboard input.
Changing the angle should make the camera rotate around and look at the smf model (i.e. your LookAt point stays constant (the model centroid perhaps)).
Recall that the Cartesian coordinates of a point (X, Y , Z)
defined in cylindrical coordinates (θ, R(adius), H(eight))
X = R * cos(θ)
Y = R * sin(θ)
Z = H
Allow the user to select either parallel or perspective projection.
Your flat-shaded models should look something like the ones below.
Last modified February 26, 2017.