by: benjamin arai & conley read cs231 project, spring 2005 university of california, riverside...

18
By: Benjamin Arai & Conley Read CS231 Project, Spring 2005 University of California, Riverside Professor: Victor Zordan Modeling the Human Spine

Upload: april-warner

Post on 17-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

By: Benjamin Arai & Conley Read

CS231 Project, Spring 2005

University of California, Riverside

Professor: Victor Zordan

Modeling the Human Spine

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

• 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

Modeling the Human Spine in 3D

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

n

iCui

CuiCi

d

dd

0

n

iTui

TuiTi

d

dd

0

n

iLui

LuiLi

d

dd

0

,

,

• 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

• Individual participation values are summed to created a weighted sum

• Each vertebra contains a unique summed weight according to its location

Vertebra Weighting

Cdw CiCi Tdw TiTi Ldw LiLi

,

,

LiTiCii wwww

Vertebra Weights for Each Spine Region

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

1 3 5 7 9 11 13 15 17 19 21 23

Vertebra (C1- C24)

Wei

gh

t Cervical

Thoracic

Lumbar

Region Participation Using Dissipation Rates for Weights

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

1 3 5 7 9 11 13 15 17 19 21 23

Vertebra (C1- C24)

Par

tici

pat

ion

%

Cervical

Thoracic

Lumbar

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

• 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 (x,y,z) Components

itoiii

itoiii

itoiii

distdwz

distdwy

distdwx

__1

__1

__1

sin

cos

sin

Computing the Flexion

• Pitch• angle_x = Wx * wi * π

• Roll• angle_z = Wz * wi * π

• Yaw• angle_y = wi * Θ

ii wYaw

m

iii wPitch

0

Animation

Application Demo

Conley Read is a graduate student at the University of California, Riverside. His current interests are in data mining, software verification and user interfaces. Read received his BS in Computer Science from the University of California, Riverside in Fall 2004.

Benjamin Arai is a graduate student at the University of California, Riverside. His current research is in distributed and peer-to-peer systems. Arai received his BS in Computer Science from the University of California, Riverside in Spring 2004.

Questions