1 - Get the library libcsg.a . Save the file csg.tgz , decompress it with gunzip and use tar to create the directory "./i3d/base/csg" . Compile and install the library.
2 - Get the library libgener.a . Save the file gener.tgz , decompress it with gunzip and use tar to create the directory "./i3d/base/gener" . Compile and install the library.
3 - Using libcsg, write a program to create CSG models.
The program should accept definitions of geometric primitives in the
format (UPPERCASE_DIGIT = primitive_definition), and csg expressions
in the infix format.
Example:
A = s {1, 1, 1, 4}; B = s {3, 2, 1, 10}; (A | (B & A))
4 - Implement the operation "csg_classify" to test the containment of points with respect to a CSG object.
5 - Using libgener, write a program to create a surface of rotation. The program should read a 2D curve, and have as parameters, the axis of rotation, the total angle of rotation, and the discretization of the mesh.
6 - Implement a new CSG Node, CSG_TRANSFORM.
7 - Using libgp and libcsg, write an interactive program to create CSG objects using primitive, groups, transformations (translation, rotation, scaling), and point set ops (union, difference, complement).
8 - Write a program to compute the approximate volume of a csg model.
9 - Using libgp and libgener, write a program to input a 2D curve interactively and create a surface of rotation.
10 - Implement the generative model for EXTRUSION.
11 - Write two programs to creata a cylinder: a) one using a surface of rotation model, and b) the other using an extrusion model.
12 - Implement the generative models (TAPER, TWIST and BEND), and write a program to create surfaces using it.