Instructor: Gershon Elber
T.A.: Haitham Fadila
Handed out: July 2nd, 2023 Due date: Please contact the course staff to coordinate.
Description
Develop a program for viewing surface differential geometry on parametric tensor product B-spline surfaces. The splines may be of any order and have arbitrary end conditions.
The surface will be drawn as a set of isocurves where the user can control the number of samples per curve and the number of isocurves per dimension separately.
The surfaces should be created in two optional ways:
The user should be allowed to modify orders, knots, and control points’ positions of the surface as he/she wants.
In order to demonstrate the surface’s differential geometry, your program should display the following geometric entities moving along any isoparametric curve picked by the user or the line between any two points (anywhere on the surface – not necessarily along an isoparametric direction) selected by the user (i.e. animation). You should also allow static display of the differential geometry entities at any selected point:
The user should be able to toggle the display of each of the above geometric objects as well as the surface and its control mesh.
Select one from
You should also implement one of the following additional options:
Data file format
Data for the surface will be read from the text file. The file format is as follows:
u_knots[n] = f f … f v_knots[n] = f f … f
points[n][n] =
followed by the coordinates for the control points. Each control point has three coordinates (x, y, and z) separated by white space. Each point will appear on a separate line. The points appear in u-major form (u runs faster than v).
Sample data files can be downloaded from here .
A demo can be downloaded from here. In case of a discrepancy between the exe file and this document, this document governs.
Submission
Everyone should contribute an interesting data file.
We will schedule a time to grade the program with you.