Slide 1Last Time:Final Projects IFinal Projects IIQuestions?TodayRigid Body DynamicsSlide 8CollisionsClothSlide 11Finite Element MethodFracture“Half-Edge” Connectivity Data StructureLevel of DetailMultiple MaterialsReduced DeformationFluid SimulationSlide 19Slide 20Articulated ModelsSkeleton HierarchyForward KinematicsInverse Kinematics (IK)Real IK ProblemOptimization ExampleKinematics vs. DynamicsHow Do They Animate Movies?Slide 29Slide 30Interpolating Orientations in 3-DFlawed Solution3D RotationsEuler AnglesInterpolating Euler AnglesGimbal LockEuler Angles in the Real WorldSlide 38Slide 39Solution: Quaternion Interpolation1D Sphere and Complex PlaneVelocity Issue: lerp vs. slerp2-Angle Orientation3 Angles – Quaternions!QuaternionsQuaternion PrinciplesQuaternion InterpolationSlide 48Quaternion Algebra IQuaternion Algebra IISlide 51Next Week: Color!MIT EECS 6.837, Durand and CutlerAnimation IIIMIT EECS 6.837, Durand and CutlerLast Time:•Collision detection & Collision response•Particle interaction–flocking•Spring-Mass systems–chains–meshesMIT EECS 6.837, Durand and CutlerFinal Projects I•Do the user interface (if any) last•Avoid adding lots of new scene file parsing•Don’t expect to understand all the details from some research paper before you start coding•It’s ok to do a simplified implementation(just discuss the limitations in your report)•Normal lab hours next week •Additional office hours (just send email!)MIT EECS 6.837, Durand and CutlerFinal Projects II•CSG folks → get it to work in your raytracer first→ pre-visualization second•Rigid Body folks → take baby steps from PS #9•Distributed Ray Tracing folks → looks good•Have Fun!MIT EECS 6.837, Durand and CutlerQuestions?MIT EECS 6.837, Durand and CutlerToday( )tx( )tv•More Dynamics–Rigid Body–Fracture–Deformation•Forward & Inverse Kinematics•Interpolation of Rotations–Euler Angles–QuaternionsMIT EECS 6.837, Durand and CutlerRigid Body Dynamics•Could use particles for all points on the object–But rigid body does not deform–Few degrees of freedom•Use only one particle at the center of mass•Compute Net Force &Net TorqueNet ForceNet Torquef1(t)f2(t)f3(t)x(t)v(t)MIT EECS 6.837, Durand and CutlerRigid Body Dynamics•Physics–Velocity–Acceleration–Angular Momentum•Collisions•Frictionfrom: Darren Lewis http://www.stanford.edu/~dalewis/cs448a/rigidbody.htmlMIT EECS 6.837, Durand and CutlerCollisions•We know how to simulate bouncing really well•But resting collisions are hard to manage Victor J. Milenkovic & Harald SchmidlOptimization-Based AnimationSIGGRAPH 2001Guendelman, Bridson & FedkiwNonconvex Rigid Bodies with StackingSIGGRAPH 2003MIT EECS 6.837, Durand and CutlerCloth•Dynamic motion driven by animationDavid Baraff & Andrew WitkinLarge Steps in Cloth SimulationSIGGRAPH 1998MIT EECS 6.837, Durand and CutlerCollisionsRobert Bridson, Ronald Fedkiw & John AndersonRobust Treatment of Collisions, Contact and Friction for Cloth AnimationSIGGRAPH 2002•Cloth has many points of contact•Efficient collision detection•Stable numerical treatmentMIT EECS 6.837, Durand and CutlerFinite Element Method •To solve the continuous problem(deformation of all points of the object)–Discretize the problem –Express the interrelationship–Solve a big linear system•More principled than Mass-Springobjectfinite elements large matricial system Diagram from Debunne et al. 2001MIT EECS 6.837, Durand and Cutler•Fracture threshhold•Remeshing–need connectivity info!James O’Brien & Jessica HodginsGraphical Modeling and Animation of Brittle FractureSIGGRAPH 1999•Material properties•Parameter tuningFractureMIT EECS 6.837, Durand and Cutler“Half-Edge” Connectivity Data Structure•For efficiently finding adjacent elements•Each oriented half edge points to:–the oppositely-oriented half edge–the next vertex –the next half edge–the polygonal face•Many variations…Diagram from Justin LegakisMIT EECS 6.837, Durand and CutlerLevel of Detail•Interactive shape deformation•Use high-resolution model only in areas of extreme deformationGilles Debunne , Mathieu Desbrun, Marie-Paule Cani, & Alan H. BarrDynamic Real-Time Deformations using Space & Time Adaptive SamplingSIGGRAPH 2001MIT EECS 6.837, Durand and CutlerMultiple MaterialsMueller, Dorsey, McMillan, Jagnow, & CutlerStable Real-Time DeformationsSymposium on Computer Animation 2002MIT EECS 6.837, Durand and CutlerReduced Deformation•Collisions are expensive•Deformation is expensive•This is a lot of geometry!•Simplify the simulation modelDoug L. James & Dinesh K. PaiBD-Tree: Output-Sensitive Collision Detection for Reduced Deformable ModelsSIGGRAPH 2004MIT EECS 6.837, Durand and CutlerFluid Simulation•Discretize volume of fluid–Exchanges and velocity at voxel boundary•Write Navier Stokes equations–Incompressible, etc.•Numerical integration–Finite elements, finite differences•Challenges:–Robust integration, stability–Speed–Realistic surfaceFigure from Fedkiw et al. 2001Figure from Enright et al. 2002MIT EECS 6.837, Durand and CutlerQuestions?MIT EECS 6.837, Durand and CutlerToday( )tx( )tv•More Dynamics–Rigid Body–Fracture–Deformation•Forward & Inverse Kinematics•Interpolation of Rotations–Euler Angles–QuaternionsMIT EECS 6.837, Durand and CutlerArticulated Models•Articulated models:–rigid parts–connected by joints•They can be animated by specifying the joint angles as functions of time.t1t2qiq ti( )t1t2MIT EECS 6.837, Durand and CutlerSkeleton Hierarchy•Each bone transformation described relative to the parent in the hierarchy:hipsr-thighr-calfr-footleft-leg..., , , , ,h h h h h hx y z q f s, ,t t tq f scq,fq fvsyxz1 DOF: knee1 DOF: knee2 DOF: wrist2 DOF: wrist3 DOF: arm3 DOF: armMIT EECS 6.837, Durand and CutlerForward Kinematics•Given skeleton parameters p,and the position of the effecter in local coordinates Vs, what is the position of the effector in the world coordinates Vw?Vw = T(xh,yh,zh)R(qh,fh,sh)ThR(qt,ft,st)TtR(Qc)TcR(qf,ff)VsVw = S(p)Vsvsyxzvsvs, , , , ,h h h h h hx y z q f s, ,t t tq f scq,fq fMIT EECS 6.837, Durand and CutlerInverse Kinematics (IK)•Given the position of the effecter in local coordinates Vs and the desired position Vw in world coordinates, what are the skeleton parameters p?•Much harder requires solving the inverse of the non-linear function: find p s.t. S(p)Vs = Vw•Underdetermined
View Full Document