1 - Compile and install the libraries.
2 - 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))
3 - Implement the operation "csg_classify" to test the containment of points with respect to a CSG object.
4 - 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.
5 - Implement a new CSG Node, CSG_TRANSFORM.
6 - 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).
7 - Write a program to compute the approximate volume of a csg model.
8 - Using libgp and libgener, write a program to input a 2D curve interactively and create a surface of rotation.
9 - Implement the generative model for EXTRUSION.
10 - Write two programs to creata a cylinder: a) one using a surface of rotation model, and b) the other using an extrusion model.
11 - Implement the generative models (TAPER, TWIST and BEND), and write a program to create surfaces using it.