Instructor: Gershon Elber
T.A.: Boris van Sosin
Handed out: April 21st, 2025 Due date: May 12th, 2025
Description
Develop an interactive graphics program that will display a parametric curve by stepping and sampling the parametric domain at equal steps and help to visualize the moving Frenet frame (the tangent, normal, and binormal vectors), curvature, and torsion on parametric space curves. You should consider carefully ways to help visualize curvature and torsion. Simply printing numbers is not sufficient. For curvature, you should, at least, draw the osculating circle at a point on the curve. For torsion, you could draw a line of appropriate length. Provide an option to click on a point on a curve and visualize all the above-mentioned properties at that point. You also need to be able to animate the Frenet frame (and other primitives) moving along the curve. Also, provide in your program a way to interactively edit the curve’s equation form. Finally, you need to allow the user to modify the parameter domain over which the Frenet frame will move and the size of the steps it will take along the curve. Allow user control on the fineness of the curve display (i.e., the steps in the parametric domain) and allow the specification of the domain boundary.
Your program is to work on arbitrary parametric space curves, which will be read from data files whose format is as follows (see here for examples) :
Make sure to submit on time a ZIP file containing the complete project, including all sources and one new data file (see below). Then, you will present your project at time and place coordinated with you, after the deadline. Call your executable file frenet.exe, and build your application in release mode. A user should be able to operate the application using nothing but the exe file. Use message-boxes and/or context-sensitive help as you see appropriate. All submissions of labs are either by individuals or in pairs.
Everyone should also contribute a new interesting data file to the class data directory in the format described above.
Good luck!