You are already familiar with the concept of hierarchical modeling through your work in OpenGL and Blender. In this assignment we will explore hierarchical modeling in Vizard. The idea is the same -- when a parent node moves, its children move, and when a parent rotates, its children rotate with it.
You will note that, unlike in OpenGL where you have full control over the transformation matrices for each parent and its children, Vizard automatically applies the parent transformation matrix to each of its children. This makes things like scaling a bit difficult, because a parent and a child cannot be scaled independently.
To avoid scaling issues, we will design our hierarchical object in Blender, and export each node in the scene graph as an individual object file (.obj). We will then import these objects in Vizard to reconstruct the original model, then animate it using interpolation.
The parts connected by the joint(s) need to be saved as separate objects before being imported in Vizard. A python script for exporting selected objects from Blender is available online here. Follow the installation instructions (which are pretty straightforward) and add the script to your Blender installation. Once installed, you will see the option "Export/Selected/OBJ" when you try to export a selected object from Blender.
As specified in an earlier assignment, Under "Operator presets" deselect all checkboxes and then select "Include Edges", "Write Normals", "Include UVs", "Write Materials", and "Objects as OBJ groups". Then click the "Export Selected" button.
One simple example (in a single zip file BlenderVizardInterpolation.zip that includes the Vizard code, plus the Blender and object files) is provided to you as a starting point.