Notes for April 7 class

Object hierarchy

In class on Thursday we talked about possible future scenarios for totally immersive computer graphics.

The next topic we will discuss is how to create hierarchical movement, which is necessary for animating multipart things such as people and machines.

We are going to go over this in class in more detail on Tuesday, but meanwhile, here is the high level idea. We can describe an entire renderable scene as a tree of objects, each of which has the following structure, as follows.

Notice that this definition is recursive, since an Object3D can contain an array of children which are also of the same type. So essentially we are forming a graph structure.

Notice also that each node of this graph contains a Matrix. Each matrix transformation is relative to its parent. We will go over that concept in more detail on Tuesday.

   Object3D:
      Geometry:
         vertices
	 edges or faces
      Material
      Matrix
      Object3D children[...]

 


 

Homework, due by start of class on Thursday April 14

  • Implement Hermite and Bezier curves, based on the material we discussed in class on Tuesday, and on the course notes from Tuesday.

  • Once you have done that, animate the 3D shapes you have already made by using time-varying spline curves, using both Hermite and the Bezier techniques. You can use the values of the splines as arguments for the translate, rotate and scale primitives that you have already implemented.

    Use your spline-based animation software to make interesting and compelling animations.