190 likes | 333 Views
Modeling the Human Spine. By: Benjamin Arai & Conley Read. CS231 Project, Spring 2005 University of California, Riverside Professor: Victor Zordan. Abstract. Related works to spine modeling Anatomical Spine Initial Pose User Interface User input to spine position
E N D
Modeling the Human Spine By: Benjamin Arai & Conley Read CS231 Project, Spring 2005 University of California, Riverside Professor: Victor Zordan
Abstract • Related works to spine modeling • Anatomical Spine • Initial Pose • User Interface • User input to spine position • Animation of human spine
Motivation • Efficiency vs. Accuracy • Proper modeling of the human body • Towards single person animation modeling • Current approaches and lack of expression
Anatomical Spine • Spine • Cervical region • (C1 - C7) • Created from load from the weight of the head • (20 -40) degrees • Thoracic region • (T1 – T12) • Kyphosis Curve • (< 40 – 50) degrees • Lumbar region • (L1 – L5) • Weight Bearing • Spine makes an “S”-like curve
Anatomical Spine • Vertebra • Born with 33 vertebra • 9 fused during childhood to create the sacrum and coccygeal bones • Intervertebral Discs • Round in shape • Elastic type structure
Implementation • Modeling the spine in 3D • Initial Spine pose • Efficiency • User Interface • Translation from input to positions • Computing (x, y, z) components • Computing flexion • Final pose • Animation
Modeling the Human Spine in 3D • Model taken from the University of Princeton’s 3D Model Search Engine • Mesh components imported to OpenGL • Modeling portion used only vertebra and not intervertebral discs
Initial Spine Pose • Per Vertebra Mapping • Individual vertebra require user parameters defined • Benefits include the ability to define expressive poses • Method is time consuming • Abstract Spine Mapping • Simple control structure • May not be able to express certain poses given limited control structure • Unification of Direct & Abstract Mapping • Simplifies control structure • Maps inputs to larger quantized regions for one-to-many mapping • Mimics human interaction with spine
Mapping User Input to the Spine • Each region of the spine contains a certain coefficient (C, T, L) • Coefficients are applied to each of the vertebra • Individual vertebra contain a combination of each curve coefficient , ,
Vertebra Weighting • Individual participation values are summed to created a weighted sum • Each vertebra contains a unique summed weight according to its location , ,
Distribution of Weights • Left: Weights computed from the spine regions for each of the vertebra • Right: Participation rates computed for each of the vertebra and there respective regions
User Interface • The interface is based on a small number of input parameters: • Input Boxes: Coefficients: C, T, L • Slider: Controls the rotation: theta • Slider: Directional weights for each of the regions • x and z Cervical • x and z Thoracic • x and z Lumbar
Example of User Interface • All sliders default to zero for movement in both the negative and positive directions • Default coefficient (C, T, L) values represent representative constraints for a average human spine
Computing (x,y,z) Components • X-Y Component • y = cos ( -angle_x ) * intervertebral_distance • x = sin ( -angle_x ) * intervertebral_distance • Z-Y Component • y = cos ( -angle_z ) * intervertebral_distance • z = sin ( -angle_z ) * intervertebral_distance • We calculate each vertebra location in its own coordinate space
Computing the Flexion • Pitch • angle_x = Wx * wi * π • Roll • angle_z = Wz * wi * π • Yaw • angle_y = wi * Θ