1Computer Graphics 1 15-462AnnouncementsAssignment 1 due Friday at midnightWritten Assignment 1 out Thursday on the webQuestions on Assignment 1?Hierarchical ModelingA lesson in stick person anatomy.orChoosing the right parameters.Hierarchical transformations.The matrix stack.See Angel 9.1-9.7A lesson in stick person anatomy.orChoosing the right parameters.Hierarchical transformations.The matrix stack.See Angel 9.1-9.7COMPUTER GRAPHICS 115-46213 Sept 20013Computer Graphics 1 15-462Staying Oriented (in the course)RenderManipulate imageThe framework forthe topics we’re coveringraster ops,painttransformations,hierarchiesAnimate GeometrySpecify ModelBuild Geometrytime dependenttransformations4Computer Graphics 1 15-462Modeling with Transformations• You’ve learned everything you need to know to make a stick person out of cubes.• Just translate, rotate, and scale each one to get the right size, shape, position, and orientation.• Looks great--until you try to make it move.5Computer Graphics 1 15-462The Right Control Knobs• As soon as you want to change something, the model falls apart• Reason: the thing you’re modeling is constrained but your model doesn’t know it• What we need: – some sort of representation of structure– a set of “control knobs” (parameters) that make it easy to move our stick person through legal configurations• This kind of control is convenient for static models, and vital for animation!• Key is to structure the transformations in the right way: using a hierarchy6Computer Graphics 1 15-462Hierarchical Modeling Example"Number One" Playgroup - Duran Duboi Issue 141: SIGGRAPH 2002 Electronic Theater Program7Computer Graphics 1 15-462Making an Articulated Model• A minimal 2-D jointed object:–Two pieces, A (“forearm”) and B (“upper arm”)–Attach point q on B to point r on A (“elbow”)–Desired control knobs:» T: shoulder position (point at which p winds up)» u: shoulder angle (A and B rotate together about p)» v: elbow angle (A rotates about r, which stays attached to q)AArBBqpBBpAArq8Computer Graphics 1 15-462Making an Arm, step 1• Start with A and B in their untransformed configurations (B is hiding behind A)• First apply a series of transformations to A, leaving Bwhere it is…AAr9Computer Graphics 1 15-462Making an Arm, step 2• Translate by -r, bringing r to the origin• You can now see B peeking out from behind ABBqpAArAAr10Computer Graphics 1 15-462Making an Arm, step 3• Next, we rotate A by v (the “elbow” angle)BBqpAArBBqpAAr11Computer Graphics 1 15-462Making an Arm, step 4• Translate A by q, bringing r and q together to form the elbow joint• We can regard q as the origin of the lower arm coordinate system, and regard A as being in this coordinate system.BBqpAArBBqpAAr12Computer Graphics 1 15-462Making an Arm, step 5• From now on, each transformation applies to both A and B (This is important!)• First, translate by -p, bringing p to the origin• A and B both move together, so the elbow doesn’t separate!BBqpAArBBqpAAr13Computer Graphics 1 15-462Making an Arm, step 6• Then, we rotate by u, the “shoulder” angle • Again, A and B rotate togetherBBpAArBBqpAAr14Computer Graphics 1 15-462Making an Arm, step 7• Finally, translate by T, bringing the arm where we want it• p is at origin of upper arm coordinate systemBBqpAArBBqpAAr15Computer Graphics 1 15-462So What Have We Done?• Seems more complicated than just translating and rotating each piece separately• But the model is easy to modify/animate:–Remember the transformation sequence, and the parameters you used—they’re part of the model.–Whenever the parameters change, reapply all of the transformations and draw the result»The model will not fall apart!!!• Note:–u, v, and T are parameters of the model.–but p, q, and r are structural constants.–Changing u,v, or T wiggles the arm–Changing p,q, or r dismembers it (useful only in video games!)16Computer Graphics 1 15-462Transformation Hierarchies• This is the build-an-arm sequence, represented as a tree• Interpretation:–Leaves are geometric primitives–Internal nodes are transformations–Transformations apply to everything under them—start at the bottom and work your way up• You can build a wide range of models this wayTrans -rTrans -rRot vRot vTrans qTrans qAATrans -pTrans -pRot uRot uTrans TTrans TBBControl KnobPrimitiveStructural17Computer Graphics 1 15-462Transformation Hierarchies• Another point of view:• The shoulder coordinate transformation moves everything below it with respect to the shoulder:–B–A and its transformation • The elbow coordinate transformation moves A with respect to the shoulder coordinate transformTrans -rTrans -rRot vRot vTrans qTrans qAATrans -pTrans -pRot uRot uTrans TTrans TBBShoulder coordinate xform Elbow coordinate xformPrimitive18Computer Graphics 1 15-462A Schematic Humanoid• Each node represents–rotation(s)–geometric primitive(s)–struct. transformations• The root can be anywhere. We chose the hip (can re-root)• Control knob for each joint angle, plus global position and orientation• A realistic human would be much more complex hiphiptorsotorsoheadheadl. arm2l. arm2l. arm1l. arm1r. arm1r. arm1r. arm2r. arm2l. leg1l. leg1l. leg2l. leg2r. leg1r. leg1r. leg 2r. leg 2shouldershoulderneckneck19Computer Graphics 1 15-462Directed Acyclic GraphThis is a graph, so you can re-root it (make head the root)It’s directed, rendering traversal only follows links one way.It’s acyclic, to avoid infinite loops in rendering.Not necessarily a tree.e.g. l.arm2 and r.arm2 primitives might be two instantiations (one mirrored) of the same geometryhiphiptorsotorsoheadheadl. arm2l. arm2l. arm1l. arm1r. arm1r. arm1r. arm2r. arm2l. leg1l. leg1l. leg2l. leg2r. leg1r. leg1r. leg 2r. leg 2shouldershoulderneckneck20Computer Graphics 1 15-462What Hierarchies Can and Can’t Do• Advantages:–Reasonable control knobs–Maintains structural constraints• Disadvantages:–Doesn’t always give the “right” control knobs trivially » e.g. hand or foot position - re-rooting may help–Can’t do closed kinematic chains easily (keep hand on hip)–Missing other constraints: do not walk through walls• Hierarchies are a vital tool for modeling and animation21Computer Graphics 1 15-462So What Have We Done?• Forward Kinematics– Given the model and the joint angles, where is the
View Full Document