SlideShare a Scribd company logo
1 of 61
Now Playing:
Blue Monk
from “Nights of Ballads and Blues”
Recorded March 4, 1963
McCoy Tyner - Piano
Steve Davis - Bass
Lex Humphries - Drums
Music By Thelonius Monk
3D Transforms &
Computer Animation
Rick Skarbez, Instructor
COMP 575
September 6, 2007
Announcements
• Homework 1 is out today
• Due at the end of class next Thursday
• Tabitha Peck (tpeck@cs.unc.edu) is
here to ask you to participate in her
user study
• Introduced the concept of vector spaces
• Learned the basic 2D transforms
• Translation
• Scaling
• Rotation
• Shearing
• Talked about why we use homogeneous
coordinates and transform matrices
• Talked about how to compose transforms
Last Time
Today
• Discuss robot arm example from last
class
• Extend transforms to 3D
• Aside: Talk about some principles of
computer animation
Robotic Arm Example
• Fingers first
• Then wrist
• Then elbow
• Finally,
shoulder
x
y
T1
R1
R2
R3
P
Find the new location of P (P’) after some
translations T1, T2, T3, T4 and rotations R1, R2,
and R3.
Express in terms of a matrix product, i.e.
P’ = R1R2R3P
T2
T3
T4
Robotic Arm Example
x
y
P
T4
Robotic Arm Example
P’
P’ = T4P
x
y
Robotic Arm Example
P’
P’’ = R3P’ = R3T4P
P’’
R3
x
y
Robotic Arm Example
P’’’ = T3P’’ = T3R3T4P
P’’
T3
P’’’
x
y
Robotic Arm Example
P4 = R2P’’’ = R2T3R3T4P
P’’’
P4
R2
x
y
Robotic Arm Example
P4
T2
P5
P5 = T2P4 = T2R2T3R3T4P
x
y
Robotic Arm Example
P5
P6
R1
P6 = R1P5 = R1T2R2T3R3T4P
x
y
Robotic Arm Example
P6
P7
T1
P7 = T1P6 = T1R1T2R2T3R3T4P
x
y
Robotic Arm Example
P6
P7
T1
P7 = T1P6 = T1R1T2R2T3R3T4P
T1
R1
R2
R3
T2
T3
T4
x
y
Robotic Arm Example
P7 = T1P6 = T1R1T2R2T3R3T4P
P7
T1
R1
R2
R3
T2
T3
T4
3D Transforms
x
y
T
x
y z
T
Pretty much exactly the same as
2D transforms
Homogenous
Coordinates in 3D
Reminder:
w = 1 for points
w = 0 for vectors
2D
3D
3D
2D
• Just as with 2D, need to add a w term
• Normalizing is done in the same way as
before
Cross Products
• We talked about the cross product
operator in the math lecture
• Defined as
• The cross product of 2 vectors is a
vector perpendicular to both of the other
two vectors
• Wasn’t really applicable in 2D
• Note that 2 vectors can make this true
Cross Product
Direction
• The direction of the resulting vector
from a cross product can be determined
by the “right hand rule”
• With your right hand, for P x Q
• Point your thumb in the direction of P
• Point your index finger in the direction
of Q
• Rotate your middle finger to be
perpendicular to the thumb and index
• This is the direction of P x Q
Coordinate Systems
• This is why coordinate systems are
sometimes referred to as left or right
handed
• Given x and y vectors, the direction of
the z vector specifies its handedness
+x
+y
+z
+x
+y
+z
Left-Handed Right-Handed
Translation in 3D
• We will represent translation with a
matrix of the following form:
t is the x-offset
u is the y-offset
v is the z-offset
Scaling in 3D
• We will represent scaling with a matrix
of the following form:
α is the scale factor in the x-direction
β is the scale factor in the y-direction
γ is the scale factor in the z-direction
Rotation in 3D
• Extending rotation to 3D is somewhat
more complicated than either
translation or scaling
• In 2D, you could only rotate around 1
point
• In 3D, you can rotate around any of
the 3 axes
• Each axis produces a slightly
different rotation matrix
Rotation in 3D
• Rotation about the z-axis is most
familiar
• Essentially, this is what we already
did, in the z=0 plane
Rotation in 3D
Rotation About
The Z-Axis
Rotation About
The X-Axis
Rotation About
The Y-Axis
Rotation about any
axis in 3D
• How can we extend this to rotation
about any axis, not just the principle
axes?
• Need to move the axis we want to rotate
about to one of the principle axes (say, the z
axis)
• First, apply a rotation about x, to move the
axis into the yz-plane (Rx)
• Then, apply a rotation about y, to move the
axis onto the z-axis (Ry)
• Then apply your desired rotation, followed
by the inverses of the other two (to reverse
Rotation about any
axis in 3D
Rtotal = Rx
-1Ry
-1RzRyRx
Rotation about any
point and any axis in
3D
• To rotate about a non-origin point,
extend in the same way as in 2D
• First, translate to the origin (Txyz
-1)
• Then apply your rotation (in the most
general case, Rx
-1Ry
-1RzRyRx)
• Then translate back (Txyz)
Rtotal = Txyz Rx
-1Ry
-1RzRyRx Txyz
-1
Transforms Recap
• Robot Arm example
• 3D transforms
• Very similar to 2D transforms
• Rotation is a bit more complex
• Can rotate about any axis
• Cross products
• Coordinate systems
• Left vs. right handed
Computer Animation
• Can think of animation as objects being
transformed over time
• We have a “timeline” that says what
transforms are applied at what times
• Each rendered image is one frame
• The duration of each frame (say, 1/60
of a second for 60fps) is a single time
step
“Principles of Traditional
Animation Applied to 3D
Computer Graphics”
• Lasseter noticed a trend
• Computers were making animation
easier than ever before
• But animation was not getting better
• Actually, it was often worse
• Why?
John Lasseter (Pixar), SIGGRAPH 1987
The Problem with
Good Tools
• Why was there so much bad
animation?
• New tools were allowing users with no
experience to animate
The Illusion of Life
• Many of the principles behind
traditional animation were
developed by Disney
animators in the 1930s
• The Illusion of Life
• Lasseter’s talk was intended to extend
these principles to computer animation
The Principles
1. Squash and Stretch
2. Timing and Motion
3. Anticipation
4. Staging
5. Follow-through and Overlapping Action
6. Straight-ahead and Pose-to-pose Action
7. Slow In and Out
8. Arcs
9. Exaggeration
10.Secondary Action
Squash and Stretch
• In the real world, only totally rigid
objects (i.e. chairs, rocks) remain rigid
when moving
• Living things deform
• So, if you want something to look
“alive”, you can’t just rigidly slide it
around
• Squash and stretch to emphasize
motion
Squash and Stretch
• Squash on contact
• Stretch with motion (more → faster)
• Need to conserve volume
• That is, if you’re stretching in x,
need to squash in y and z
Squash and Stretch
• Hinged objects (i.e. Luxo Jr.) can
squash and stretch without deforming
Squash and Stretch
Slow
Motion
Fast
Motion
Fast
Motion
w/S&S
If objects overlap between frames, the eye can
smooth the motion
Timing
• The speed of motion gives us cues
about
• Weight
• Size
• Meaning
• Motion must be “readable”
• Must take long enough for the viewer
to see and understand
• Must be quick enough to hold
Timing
• Small and light objects should be fast
and nimble
• Large and heavy objects should be
slow and lumbering
Keyframes and In-
Betweening
• Keyframes are frames in a sequence of
animation that mark the beginning and
end of a smooth transition
• In-Betweens are the frames between a
beginning and end keyframe
• The in-betweens make the animation
sequence appear smooth
Keyframes and In-
Betweening
Before After
In-betweens
Timing
• Imagine an animation where a person is
looking over his left shoulder, then his
right
• No in-betweens: Hit by a strong force, head nearly
snapped off
• 1 in-between: Hit by a frying pan
• 3 in-betweens: Dodging a flying object
• 5 in-betweens: Giving an order (“Come over here”)
• 7 in-betweens: Looking around for something
• 10 in-betweens: Stretching a sore neck
• All from the same 2 keyframes!
Anticipation
• There are 3 parts to any action
1. The preparation for the action (anticipation)
2. The action
3. The termination of the action (follow-
through)
• Can be anatomical preparation
• Pulling back your foot before kicking
• Or just to draw the viewers’ attention
• A character looking at something off-
screen
Anticipation
From Andre & Wally B, Lucasfilm CG, 1984
Anticipation
From Luxo Jr., Pixar, 1987
Staging
• When an action occurs
• Make sure it is clear
• Make sure it is visible
• Only stage 1 important action at a time
• In Luxo Jr, it is always clear which
character is the center of attention
• Action is more clearly visible in
silhouette
Follow-through and
Overlapping Action
• When throwing a ball, your hand
doesn’t just stop after the ball is
released
• When a multi-part object moves, usually
one part will lead and the others will
follow
• i.e. In walking, motion starts at the
hip, then the leg moves, then finally
the foot
• Therefore, sub-objects will begin and
end their motions at different times
Follow-through and
Overlapping Action
• Overlapping means that you start a
second motion before the first has
completely finished
• Blend the follow-through of one action
into the anticipation of the next
• “When a character knows what he is going to do he
doesn’t have to stop before each individual action and
think to do it. He has planned in advance in his mind.”
- Walt Disney
Straight-Ahead and
Pose-to-Pose Action
• Straight-ahead action is when an
animator hand-composes all the frames
in a scene
• Sort of like a scene of all keyframes
• Action looks wild and out-of-control
• Pose-to-pose action is when an animator
carefully composes individual important
poses, and then tweens them
• Used when timing and smoothness
matter
Pose-to-Pose Action
• To achieve smooth motions, you would
normally work hierarchically
• First, draw the keyframes
• Then draw some inbetweens
• Finally, draw all the remaining inbetweens
Pose-to-Pose Action
• Computer animation is naturally
hierarchical, but slightly different
• Consider a jump
• Create translation keyframes for the entire
model
• Add rotation/translation keyframes for
arms
• Add rotation/translation keyframes for legs
• etc.
Slow In and Out
• Refers to the spacing of the in-
betweens
• Instead of having an object move with
constant velocity, allow the velocity to
vary
• Enforce continuity of 2nd and 3rd
Slow
Slow
Fast
Arcs
• Motion in nature almost always occurs
in an arc
• Not in straight lines
• Even if you think the motion should be
in a straight line, adding some variation
will make it look more natural
Exaggeration
• Can exaggerate
• Shape of objects
• Motion of objects
• Sound
• Character emotions
• Exaggeration is “accentuating the
essence of an idea”
• Not just amplification, but removal of
distraction
Exaggeration
• Exaggeration should be used carefully
• Use it too little, and the exaggerated
things will stand out too much
• Use it too much, and the scene will
become unrealistic
Secondary Action
• Include the actions that happen as a
result of the primary action
• One example would be the facial
expression, while the body expresses
the primary action
• Another would be Luxo Jr.’s cord,
which moves because it is attached to
a moving body
Personality
• The sum total of all the principles
discussed before
• The goal of animation is to produce
something that a viewer wants to watch
• The animator should have a consistent
personality in mind when decided how
to apply the principles
• Need to know what you want before
you start
Personality
Simple things, like breaking symmetry
add an level of complexity (and subtlety)
to the character
Next Time
• Introduction to OpenGL programming

More Related Content

Similar to september6.ppt

Knowledge and reasoning power point for engineering students
Knowledge and reasoning power point for engineering studentsKnowledge and reasoning power point for engineering students
Knowledge and reasoning power point for engineering studentsGeetha Kannan
 
Session 3 master presentation, projectile
Session 3 master presentation, projectileSession 3 master presentation, projectile
Session 3 master presentation, projectileLinford Molaodi
 
Calculus for Kids - Lesson 4
Calculus for Kids - Lesson 4Calculus for Kids - Lesson 4
Calculus for Kids - Lesson 4JoshuaThompson106
 
Force and Motion
Force and MotionForce and Motion
Force and Motionmrspena
 
Calculus for Kids - Lesson 6
Calculus for Kids - Lesson 6Calculus for Kids - Lesson 6
Calculus for Kids - Lesson 6JoshuaThompson106
 
Force and motion fcat review
Force and motion fcat reviewForce and motion fcat review
Force and motion fcat reviewmrspena
 
Animation Project
Animation Project Animation Project
Animation Project vikas563
 
Real time gesture recognition of human hand
Real time gesture recognition of human handReal time gesture recognition of human hand
Real time gesture recognition of human handVishnu Kudumula
 
Kinematics i
Kinematics iKinematics i
Kinematics ikleybf
 
Chapter3physics
Chapter3physicsChapter3physics
Chapter3physicsfurmannv
 
kinematics-graphing.ppt
kinematics-graphing.pptkinematics-graphing.ppt
kinematics-graphing.pptMichael Fraser
 
Honors methods of motion
Honors methods of motionHonors methods of motion
Honors methods of motionstephm32
 
Calculus for Kids - Lesson 3
Calculus for Kids - Lesson 3Calculus for Kids - Lesson 3
Calculus for Kids - Lesson 3JoshuaThompson106
 
Calculus for Kids - Lesson 2
Calculus for Kids - Lesson 2Calculus for Kids - Lesson 2
Calculus for Kids - Lesson 2JoshuaThompson106
 
Lecture 9-online
Lecture 9-onlineLecture 9-online
Lecture 9-onlinelifebreath
 
Transformations of functions
Transformations of functionsTransformations of functions
Transformations of functionsVictoria Ball
 
Programming physics games with Python and OpenGL
Programming physics games with Python and OpenGLProgramming physics games with Python and OpenGL
Programming physics games with Python and OpenGLDaniel Pope
 
AI-Lec3 State Search Space-Graph Theory.pptx
AI-Lec3 State Search Space-Graph Theory.pptxAI-Lec3 State Search Space-Graph Theory.pptx
AI-Lec3 State Search Space-Graph Theory.pptxSeharAli13
 

Similar to september6.ppt (20)

Knowledge and reasoning power point for engineering students
Knowledge and reasoning power point for engineering studentsKnowledge and reasoning power point for engineering students
Knowledge and reasoning power point for engineering students
 
Session 3 master presentation, projectile
Session 3 master presentation, projectileSession 3 master presentation, projectile
Session 3 master presentation, projectile
 
Calculus for Kids - Lesson 4
Calculus for Kids - Lesson 4Calculus for Kids - Lesson 4
Calculus for Kids - Lesson 4
 
Force and Motion
Force and MotionForce and Motion
Force and Motion
 
Calculus for Kids - Lesson 6
Calculus for Kids - Lesson 6Calculus for Kids - Lesson 6
Calculus for Kids - Lesson 6
 
Force and motion fcat review
Force and motion fcat reviewForce and motion fcat review
Force and motion fcat review
 
Animation Project
Animation Project Animation Project
Animation Project
 
Real time gesture recognition of human hand
Real time gesture recognition of human handReal time gesture recognition of human hand
Real time gesture recognition of human hand
 
Motion Physics
Motion PhysicsMotion Physics
Motion Physics
 
Kinematics i
Kinematics iKinematics i
Kinematics i
 
Chapter3physics
Chapter3physicsChapter3physics
Chapter3physics
 
kinematics-graphing.ppt
kinematics-graphing.pptkinematics-graphing.ppt
kinematics-graphing.ppt
 
Honors methods of motion
Honors methods of motionHonors methods of motion
Honors methods of motion
 
Forces and motion 1
Forces and motion 1Forces and motion 1
Forces and motion 1
 
Calculus for Kids - Lesson 3
Calculus for Kids - Lesson 3Calculus for Kids - Lesson 3
Calculus for Kids - Lesson 3
 
Calculus for Kids - Lesson 2
Calculus for Kids - Lesson 2Calculus for Kids - Lesson 2
Calculus for Kids - Lesson 2
 
Lecture 9-online
Lecture 9-onlineLecture 9-online
Lecture 9-online
 
Transformations of functions
Transformations of functionsTransformations of functions
Transformations of functions
 
Programming physics games with Python and OpenGL
Programming physics games with Python and OpenGLProgramming physics games with Python and OpenGL
Programming physics games with Python and OpenGL
 
AI-Lec3 State Search Space-Graph Theory.pptx
AI-Lec3 State Search Space-Graph Theory.pptxAI-Lec3 State Search Space-Graph Theory.pptx
AI-Lec3 State Search Space-Graph Theory.pptx
 

More from CharlesMatu2

The cause of ww1 happened 1914 this was after the the asssasination of Arc...
The  cause of ww1  happened  1914 this was after the the asssasination of Arc...The  cause of ww1  happened  1914 this was after the the asssasination of Arc...
The cause of ww1 happened 1914 this was after the the asssasination of Arc...CharlesMatu2
 
history_of_american_agriculture.ppt
history_of_american_agriculture.ppthistory_of_american_agriculture.ppt
history_of_american_agriculture.pptCharlesMatu2
 
Origin of Agriculture.ppt
Origin of Agriculture.pptOrigin of Agriculture.ppt
Origin of Agriculture.pptCharlesMatu2
 
History of Science and Technology.ppt
History of Science and Technology.pptHistory of Science and Technology.ppt
History of Science and Technology.pptCharlesMatu2
 
Lighting & Shading in OpenGL Non-Photorealistic Rendering.ppt
Lighting & Shading in OpenGL Non-Photorealistic Rendering.pptLighting & Shading in OpenGL Non-Photorealistic Rendering.ppt
Lighting & Shading in OpenGL Non-Photorealistic Rendering.pptCharlesMatu2
 
BBM3117 CAT 31ST.docx
BBM3117 CAT 31ST.docxBBM3117 CAT 31ST.docx
BBM3117 CAT 31ST.docxCharlesMatu2
 
Computer graphics.docx
Computer graphics.docxComputer graphics.docx
Computer graphics.docxCharlesMatu2
 
BIT4103 HUMAN COMPUTER INTERACTION CAT.docx
BIT4103 HUMAN COMPUTER INTERACTION CAT.docxBIT4103 HUMAN COMPUTER INTERACTION CAT.docx
BIT4103 HUMAN COMPUTER INTERACTION CAT.docxCharlesMatu2
 

More from CharlesMatu2 (15)

The cause of ww1 happened 1914 this was after the the asssasination of Arc...
The  cause of ww1  happened  1914 this was after the the asssasination of Arc...The  cause of ww1  happened  1914 this was after the the asssasination of Arc...
The cause of ww1 happened 1914 this was after the the asssasination of Arc...
 
AP Ch 1.ppt
AP Ch 1.pptAP Ch 1.ppt
AP Ch 1.ppt
 
history_of_american_agriculture.ppt
history_of_american_agriculture.ppthistory_of_american_agriculture.ppt
history_of_american_agriculture.ppt
 
Origin of Agriculture.ppt
Origin of Agriculture.pptOrigin of Agriculture.ppt
Origin of Agriculture.ppt
 
History of Science and Technology.ppt
History of Science and Technology.pptHistory of Science and Technology.ppt
History of Science and Technology.ppt
 
september11.ppt
september11.pptseptember11.ppt
september11.ppt
 
september13.ppt
september13.pptseptember13.ppt
september13.ppt
 
september18.ppt
september18.pptseptember18.ppt
september18.ppt
 
august23.ppt
august23.pptaugust23.ppt
august23.ppt
 
november29.ppt
november29.pptnovember29.ppt
november29.ppt
 
october9.ppt
october9.pptoctober9.ppt
october9.ppt
 
Lighting & Shading in OpenGL Non-Photorealistic Rendering.ppt
Lighting & Shading in OpenGL Non-Photorealistic Rendering.pptLighting & Shading in OpenGL Non-Photorealistic Rendering.ppt
Lighting & Shading in OpenGL Non-Photorealistic Rendering.ppt
 
BBM3117 CAT 31ST.docx
BBM3117 CAT 31ST.docxBBM3117 CAT 31ST.docx
BBM3117 CAT 31ST.docx
 
Computer graphics.docx
Computer graphics.docxComputer graphics.docx
Computer graphics.docx
 
BIT4103 HUMAN COMPUTER INTERACTION CAT.docx
BIT4103 HUMAN COMPUTER INTERACTION CAT.docxBIT4103 HUMAN COMPUTER INTERACTION CAT.docx
BIT4103 HUMAN COMPUTER INTERACTION CAT.docx
 

Recently uploaded

04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一ffjhghh
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystSamantha Rae Coolbeth
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 

Recently uploaded (20)

04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data Analyst
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 

september6.ppt

  • 1. Now Playing: Blue Monk from “Nights of Ballads and Blues” Recorded March 4, 1963 McCoy Tyner - Piano Steve Davis - Bass Lex Humphries - Drums Music By Thelonius Monk
  • 2. 3D Transforms & Computer Animation Rick Skarbez, Instructor COMP 575 September 6, 2007
  • 3. Announcements • Homework 1 is out today • Due at the end of class next Thursday • Tabitha Peck (tpeck@cs.unc.edu) is here to ask you to participate in her user study
  • 4. • Introduced the concept of vector spaces • Learned the basic 2D transforms • Translation • Scaling • Rotation • Shearing • Talked about why we use homogeneous coordinates and transform matrices • Talked about how to compose transforms Last Time
  • 5. Today • Discuss robot arm example from last class • Extend transforms to 3D • Aside: Talk about some principles of computer animation
  • 6. Robotic Arm Example • Fingers first • Then wrist • Then elbow • Finally, shoulder
  • 7. x y T1 R1 R2 R3 P Find the new location of P (P’) after some translations T1, T2, T3, T4 and rotations R1, R2, and R3. Express in terms of a matrix product, i.e. P’ = R1R2R3P T2 T3 T4 Robotic Arm Example
  • 9. x y Robotic Arm Example P’ P’’ = R3P’ = R3T4P P’’ R3
  • 10. x y Robotic Arm Example P’’’ = T3P’’ = T3R3T4P P’’ T3 P’’’
  • 11. x y Robotic Arm Example P4 = R2P’’’ = R2T3R3T4P P’’’ P4 R2
  • 12. x y Robotic Arm Example P4 T2 P5 P5 = T2P4 = T2R2T3R3T4P
  • 13. x y Robotic Arm Example P5 P6 R1 P6 = R1P5 = R1T2R2T3R3T4P
  • 14. x y Robotic Arm Example P6 P7 T1 P7 = T1P6 = T1R1T2R2T3R3T4P
  • 15. x y Robotic Arm Example P6 P7 T1 P7 = T1P6 = T1R1T2R2T3R3T4P T1 R1 R2 R3 T2 T3 T4
  • 16. x y Robotic Arm Example P7 = T1P6 = T1R1T2R2T3R3T4P P7 T1 R1 R2 R3 T2 T3 T4
  • 17. 3D Transforms x y T x y z T Pretty much exactly the same as 2D transforms
  • 18. Homogenous Coordinates in 3D Reminder: w = 1 for points w = 0 for vectors 2D 3D 3D 2D • Just as with 2D, need to add a w term • Normalizing is done in the same way as before
  • 19. Cross Products • We talked about the cross product operator in the math lecture • Defined as • The cross product of 2 vectors is a vector perpendicular to both of the other two vectors • Wasn’t really applicable in 2D • Note that 2 vectors can make this true
  • 20. Cross Product Direction • The direction of the resulting vector from a cross product can be determined by the “right hand rule” • With your right hand, for P x Q • Point your thumb in the direction of P • Point your index finger in the direction of Q • Rotate your middle finger to be perpendicular to the thumb and index • This is the direction of P x Q
  • 21. Coordinate Systems • This is why coordinate systems are sometimes referred to as left or right handed • Given x and y vectors, the direction of the z vector specifies its handedness +x +y +z +x +y +z Left-Handed Right-Handed
  • 22. Translation in 3D • We will represent translation with a matrix of the following form: t is the x-offset u is the y-offset v is the z-offset
  • 23. Scaling in 3D • We will represent scaling with a matrix of the following form: α is the scale factor in the x-direction β is the scale factor in the y-direction γ is the scale factor in the z-direction
  • 24. Rotation in 3D • Extending rotation to 3D is somewhat more complicated than either translation or scaling • In 2D, you could only rotate around 1 point • In 3D, you can rotate around any of the 3 axes • Each axis produces a slightly different rotation matrix
  • 25. Rotation in 3D • Rotation about the z-axis is most familiar • Essentially, this is what we already did, in the z=0 plane
  • 26. Rotation in 3D Rotation About The Z-Axis Rotation About The X-Axis Rotation About The Y-Axis
  • 27. Rotation about any axis in 3D • How can we extend this to rotation about any axis, not just the principle axes? • Need to move the axis we want to rotate about to one of the principle axes (say, the z axis) • First, apply a rotation about x, to move the axis into the yz-plane (Rx) • Then, apply a rotation about y, to move the axis onto the z-axis (Ry) • Then apply your desired rotation, followed by the inverses of the other two (to reverse
  • 28. Rotation about any axis in 3D Rtotal = Rx -1Ry -1RzRyRx
  • 29. Rotation about any point and any axis in 3D • To rotate about a non-origin point, extend in the same way as in 2D • First, translate to the origin (Txyz -1) • Then apply your rotation (in the most general case, Rx -1Ry -1RzRyRx) • Then translate back (Txyz) Rtotal = Txyz Rx -1Ry -1RzRyRx Txyz -1
  • 30. Transforms Recap • Robot Arm example • 3D transforms • Very similar to 2D transforms • Rotation is a bit more complex • Can rotate about any axis • Cross products • Coordinate systems • Left vs. right handed
  • 31. Computer Animation • Can think of animation as objects being transformed over time • We have a “timeline” that says what transforms are applied at what times • Each rendered image is one frame • The duration of each frame (say, 1/60 of a second for 60fps) is a single time step
  • 32. “Principles of Traditional Animation Applied to 3D Computer Graphics” • Lasseter noticed a trend • Computers were making animation easier than ever before • But animation was not getting better • Actually, it was often worse • Why? John Lasseter (Pixar), SIGGRAPH 1987
  • 33. The Problem with Good Tools • Why was there so much bad animation? • New tools were allowing users with no experience to animate
  • 34. The Illusion of Life • Many of the principles behind traditional animation were developed by Disney animators in the 1930s • The Illusion of Life • Lasseter’s talk was intended to extend these principles to computer animation
  • 35. The Principles 1. Squash and Stretch 2. Timing and Motion 3. Anticipation 4. Staging 5. Follow-through and Overlapping Action 6. Straight-ahead and Pose-to-pose Action 7. Slow In and Out 8. Arcs 9. Exaggeration 10.Secondary Action
  • 36. Squash and Stretch • In the real world, only totally rigid objects (i.e. chairs, rocks) remain rigid when moving • Living things deform • So, if you want something to look “alive”, you can’t just rigidly slide it around • Squash and stretch to emphasize motion
  • 37. Squash and Stretch • Squash on contact • Stretch with motion (more → faster) • Need to conserve volume • That is, if you’re stretching in x, need to squash in y and z
  • 38. Squash and Stretch • Hinged objects (i.e. Luxo Jr.) can squash and stretch without deforming
  • 39. Squash and Stretch Slow Motion Fast Motion Fast Motion w/S&S If objects overlap between frames, the eye can smooth the motion
  • 40. Timing • The speed of motion gives us cues about • Weight • Size • Meaning • Motion must be “readable” • Must take long enough for the viewer to see and understand • Must be quick enough to hold
  • 41. Timing • Small and light objects should be fast and nimble • Large and heavy objects should be slow and lumbering
  • 42. Keyframes and In- Betweening • Keyframes are frames in a sequence of animation that mark the beginning and end of a smooth transition • In-Betweens are the frames between a beginning and end keyframe • The in-betweens make the animation sequence appear smooth
  • 44. Timing • Imagine an animation where a person is looking over his left shoulder, then his right • No in-betweens: Hit by a strong force, head nearly snapped off • 1 in-between: Hit by a frying pan • 3 in-betweens: Dodging a flying object • 5 in-betweens: Giving an order (“Come over here”) • 7 in-betweens: Looking around for something • 10 in-betweens: Stretching a sore neck • All from the same 2 keyframes!
  • 45. Anticipation • There are 3 parts to any action 1. The preparation for the action (anticipation) 2. The action 3. The termination of the action (follow- through) • Can be anatomical preparation • Pulling back your foot before kicking • Or just to draw the viewers’ attention • A character looking at something off- screen
  • 46. Anticipation From Andre & Wally B, Lucasfilm CG, 1984
  • 48. Staging • When an action occurs • Make sure it is clear • Make sure it is visible • Only stage 1 important action at a time • In Luxo Jr, it is always clear which character is the center of attention • Action is more clearly visible in silhouette
  • 49. Follow-through and Overlapping Action • When throwing a ball, your hand doesn’t just stop after the ball is released • When a multi-part object moves, usually one part will lead and the others will follow • i.e. In walking, motion starts at the hip, then the leg moves, then finally the foot • Therefore, sub-objects will begin and end their motions at different times
  • 50. Follow-through and Overlapping Action • Overlapping means that you start a second motion before the first has completely finished • Blend the follow-through of one action into the anticipation of the next • “When a character knows what he is going to do he doesn’t have to stop before each individual action and think to do it. He has planned in advance in his mind.” - Walt Disney
  • 51. Straight-Ahead and Pose-to-Pose Action • Straight-ahead action is when an animator hand-composes all the frames in a scene • Sort of like a scene of all keyframes • Action looks wild and out-of-control • Pose-to-pose action is when an animator carefully composes individual important poses, and then tweens them • Used when timing and smoothness matter
  • 52. Pose-to-Pose Action • To achieve smooth motions, you would normally work hierarchically • First, draw the keyframes • Then draw some inbetweens • Finally, draw all the remaining inbetweens
  • 53. Pose-to-Pose Action • Computer animation is naturally hierarchical, but slightly different • Consider a jump • Create translation keyframes for the entire model • Add rotation/translation keyframes for arms • Add rotation/translation keyframes for legs • etc.
  • 54. Slow In and Out • Refers to the spacing of the in- betweens • Instead of having an object move with constant velocity, allow the velocity to vary • Enforce continuity of 2nd and 3rd Slow Slow Fast
  • 55. Arcs • Motion in nature almost always occurs in an arc • Not in straight lines • Even if you think the motion should be in a straight line, adding some variation will make it look more natural
  • 56. Exaggeration • Can exaggerate • Shape of objects • Motion of objects • Sound • Character emotions • Exaggeration is “accentuating the essence of an idea” • Not just amplification, but removal of distraction
  • 57. Exaggeration • Exaggeration should be used carefully • Use it too little, and the exaggerated things will stand out too much • Use it too much, and the scene will become unrealistic
  • 58. Secondary Action • Include the actions that happen as a result of the primary action • One example would be the facial expression, while the body expresses the primary action • Another would be Luxo Jr.’s cord, which moves because it is attached to a moving body
  • 59. Personality • The sum total of all the principles discussed before • The goal of animation is to produce something that a viewer wants to watch • The animator should have a consistent personality in mind when decided how to apply the principles • Need to know what you want before you start
  • 60. Personality Simple things, like breaking symmetry add an level of complexity (and subtlety) to the character
  • 61. Next Time • Introduction to OpenGL programming