Animating Transformations
|
|
- Loren Gilbert
- 5 years ago
- Views:
Transcription
1 Animating Transformations Connelly Barnes CS445: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin
2 Overview Rotations and SVD Interpolating/Approximating Points o Vectors o Unit-Vectors Interpolating/Approximating Transformations o Matrices o Rotations» SVD Factorization» Euler Angles
3 Rotations What are rotations?
4 Rotations What are rotations? A rotation R is a linear transformation that has determinant equal to one and preserves the angle between any two vectors:
5 Rotations What are rotations? A rotation R is a linear transformation that has determinant equal to one and preserves the angle between any two vectors: Recall that the dot-product between two vectors can be expressed as a matrix multiplication:
6 Rotations What are rotations? A rotation R is a linear transformation that has determinant equal to one and preserves the angle between any two vectors: This implies that:
7 Rotations What are rotations? A rotation R is a linear transformation that has determinant equal to one and preserves the angle between any two vectors: This implies that:
8 Rotations What are rotations? A rotation R is a linear transformation that has determinant equal to one and preserves the angle between any two vectors: This implies that: Since this is true for all v and w, this means that:
9 Rotations What are rotations? A rotation R is a linear transformation that has determinant equal to one and preserves the angle between any two vectors. A rotation R is a linear transformation that has determinant equal to one and whose transpose is equal to its inverse.
10 Rotations What are rotations? A rotation R is a linear transformation that has determinant equal to one and preserves the angle between any two vectors. A rotation R is a linear transformation that has determinant equal to one and whose transpose is equal to its inverse. A rotation in 3D can be specified by a 3x3 matrix.
11 Rotations What are rotations? A rotation in 3D can also be specified by: o its axis of rotation w ( w =1) and o its angle of rotation θ θ w
12 Rotations What are rotations? A rotation in 3D can also be specified by: o its axis of rotation w ( w =1) and o its angle of rotation θ Properties: o The rotation corresponding to (θ,w) is the same as the rotation corresponding to (-θ,-w).
13 Rotations What are rotations? A rotation in 3D can also be specified by: o its axis of rotation w ( w =1) and o its angle of rotation θ Properties: o The rotation corresponding to (θ,w) is the same as the rotation corresponding to (-θ,-w). o Given two rotations corresponding to (θ 1,w) and (θ 2,w), the product of the rotations corresponds to (θ 1 +θ 2,w).
14 Rotations What are rotations? A rotation in 3D can also be specified by: o its axis of rotation w ( w =1) and o its angle of rotation θ Properties: o The rotation corresponding to (θ,w) is the same as the rotation corresponding to (-θ,-w). o Given two rotations corresponding to (θ 1,w) and (θ 2,w), the product of the rotations corresponds to (θ 1 +θ 2,w). o Given a rotation corresponding (θ,w), the rotation raised to the power α corresponds to (αθ,w).
15 Rotations What are rotations? A rotation in 3D can also be specified by: o its axis of rotation w ( w =1) and o its angle of rotation θ Properties: o The rotation corresponding to (θ,w) is the same as the rotation corresponding to (-θ,-w). o Given two rotations corresponding to (θ 1,w) and (θ 2,w), the product of the rotations corresponds to (θ 1 +θ 2,w). o Given a rotation corresponding (θ,w), the rotation raised to the How power do α we corresponds define the to product (αθ,w). of rotations corresponding to (θ 1,w 1 ) and (θ 2,w 2 )?
16 SVD Any mxn matrix M can be expressed in terms of its Singular Value Decomposition as: where: o U is an nxn rotation matrix, o V is an mxm rotation matrix, and o D is an mxn diagonal matrix (i.e off-diagonals are all 0).
17 SVD Applications: Compression Model Alignment Matrix Inversion Solving Over-Constrained Linear Equations
18 SVD Matrix Inversion: If we have an nxn invertible matrix M, we can use SVD to compute the inverse of M.
19 SVD Matrix Inversion: If we have an nxn invertible matrix M, we can use SVD to compute the inverse of M. Expressing M in terms of its SVD gives: where: o U is an nxn rotation matrix, o V is an nxn rotation matrix, and o D is an nxn diagonal matrix (i.e off-diagonals are all 0).
20 SVD Matrix Inversion: If we have an nxn invertible matrix M, we can use SVD to compute the inverse of M. We can express M -1 as:
21 SVD Matrix Inversion: If we have an nxn invertible matrix M, we can use SVD to compute the inverse of M. We can express M -1 as:
22 SVD Matrix Inversion: If we have an nxn invertible matrix M, we can use SVD to compute the inverse of M. We can express M -1 as: Since: o U is a rotation, U -1 =U t. o V is a rotation, V -1 =V t.
23 SVD Matrix Inversion: If we have an nxn invertible matrix M, we can use SVD to compute the inverse of M. We can express M -1 as: Since: o D is a diagonal matrix:
24 SVD Solving Over-Constrained Linear Equations: If we have m equations in n unknowns, with m>n, the problem is over-constrained and there is no general solution.
25 However, using SVD, we can find the values of {x 1,,x n } that get us as close to {y 1,,y m } as possible. SVD Solving Over-Constrained Linear Equations: If we have m equations in n unknowns, with m n, the problem is over-constrained and there is no general solution.
26 SVD Solving Over-Constrained Linear Equations: If we express the matrix A in terms of its SVD: then we can set the matrix A * to be: where D * is the diagonal matrix with: This is called the pseudo-inverse of A. That is, we invert A as much as possible.
27 SVD Solving Over-Constrained Linear Equations: If we set: this gives us the values of {x 1,,x n } that most nearly solve the initial equation:
28 Overview Rotations and SVD Interpolating/Approximating Points o Vectors o Unit-Vectors Interpolating/Approximating Transformations o Matrices o Rotations» SVD Factorization» Euler Angles
29 Vectors Given a collection of n control points {p 0,,p n-1 }, define a curve Φ(t) that approximates/interpolates the points.
30 Vectors Given a collection of n control points {p 0,,p n-1 }, define a curve Φ(t) that approximates/interpolates the points. Linear Interpolation: o Interpolating o C 0 continuous p 1 p 2 p 6 Φ 6 (t) p 7 Φ 0 (t) Φ 1 (t) Φ 2 (t) Φ 5 (t) p 5 p 3 Φ 4 (t) p 0 Φ 3 (t) p 4
31 Vectors Given a collection of n control points {p 0,,p n-1 }, define a curve Φ(t) that approximates/interpolates the points. Catmull-Rom Splines (Cardinal Splines with t=0): o Interpolating o C 1 continuous p 1 p 2 p 6 p 7 Φ 1 (t) Φ 2 (t) Φ 5 (t) p 5 p 3 Φ 4 (t) p 0 Φ 3 (t) p 4
32 Vectors Given a collection of n control points {p 0,,p n-1 }, define a curve Φ(t) that approximates/interpolates the points. Uniform Cubic B-Splines: o Approximating o C 2 continuous p 1 p 2 p 6 p 7 Φ 1 (t) Φ 2 (t) Φ 5 (t) p 5 p 0 p 3 Φ 3 (t) p 4 Φ 4 (t)
33 Unit-Vectors What if we add the additional constraint that the points {p 0,,p n-1 } and the curve Φ(t) have to lie on the unit circle/sphere ( p i =1, Φ(t) =1)?
34 Unit-Vectors What if we add the additional constraint that the points {p 0,,p n-1 } and the curve Φ(t) have to lie on the unit circle/sphere ( p i =1, Φ(t) =1)? We can t interpolate/approximate the points as before, because the in-between points don t have to lie on the unit circle/sphere! Φ(t)=(1-t)p 0 +tp 1 p 0 p 1 p 0 p 1
35 Unit-Vectors What if we add the additional constraint that the points {p 0,,p n-1 } and the curve Φ(t) have to lie on the unit circle/sphere ( p i =1, Φ(t) =1)? We can normalize the in-between points by sending them to the closest circle/sphere point: p 0 p 1 Φ(t)=(1-t)p 0 +tp 1
36 Curve Normalization Limitations: The normalized curve is not always well defined. p 0 p 1 Φ(t)=(1-t)p 0 +tp 1
37 Curve Normalization Limitations: The normalized curve is not always well defined. Just because points are uniformly distributed on the original curve, does not mean that they will be uniformly distributed on the normalized one. p 0 p 1 Φ(t)=(1-t)p 0 +tp 1
38 Curve Normalization Limitations: The normalized curve is not always well defined. Just because points are uniformly distributed on the original curve, does not mean that they will be uniformly distributed on the normalized one. SLERP: If we set: o p 0 =(cosθ 0,sinθ 0 ) o p 1 =(cosθ 1,sinθ 1 ) p 0 p 1 We can set:
39 Overview Interpolating/Approximating Rotations and SVD Interpolating/Approximating Points o Vectors o Unit-Vectors Interpolating/Approximating Transformations o Matrices o Rotations» SVD Factorization» Euler Angles
40 Matrices Given a collection of n matrices {M 0,,M n-1 }, define a curve Φ(t) that approximates/interpolates the matrices.
41 Matrices Given a collection of n matrices {M 0,,M n-1 }, define a curve Φ(t) that approximates/interpolates the matrices. As with vectors: Linear Interpolation: Catmull-Rom Interpolation: Uniform Cubic B-Spline Approximation:
42 Rotations What if we add the additional constraint that the matrices {M 0,,M n-1 } and the values of the curve Φ(t) have to be rotations?
43 Rotations What if we add the additional constraint that the matrices {M 0,,M n-1 } and the values of the curve Φ(t) have to be rotations? We can t interpolate/approximate the matrices as before, because the in-between matrices don t have to be rotations!
44 Rotations What if we add the additional constraint that the matrices {M 0,,M n-1 } and the values of the curve Φ(t) have to be rotations? We can t interpolate/approximate the matrices as before, because the in-between matrices don t have to be rotations! We could try to normalize, by mapping every matrix Φ(t) to the nearest rotation.
45 Challenge Given a matrix M, how do you find the rotation matrix R that is closest to M?
46 SVD Factorization Given a matrix M, how do you find the rotation matrix R that is closest to M? Singular Value Decomposition (SVD) allows us to express any M as a diagonal matrix, multiplied on the left and right by the rotations R 1 and R 2 :
47 SVD Factorization Given a matrix M, how do you find the rotation matrix R that is closest to M? Singular Value Decomposition (SVD) allows us to express any M as a diagonal matrix, multiplied on the left and right by the rotations R 1 and R 2 : To be fully correct, you need to ensure that the product of sgn(λ i ) is 1. If not, you need to flip the sign of the sgn(λ i ) where λ i is smallest. The closest rotation R to M is then just the rotation:
48 Euler Angles Every rotation matrix R can be expressed as: o some rotation about the x-axis, multiplied by o some rotation about the y-axis, multiplied by o some rotation about the z-axis: The angles (θ,φ,ψ) are called the Euler angles.
49 Euler Angles Instead of blending matrices and then normalizing using SVD, we can blend the Euler angles: o For each M k, compute the Euler angles (θ k,φ k,ψ k )
50 Euler Angles Instead of blending matrices and then normalizing using SVD, we can blend the Euler angles: o For each M k, compute the Euler angles (θ k,φ k,ψ k ) o Interpolate/Approximate the Euler angles:
51 Euler Angles Instead of blending matrices and then normalizing using SVD, we can blend the Euler angles: o For each M k, compute the Euler angles (θ k,φ k,ψ k ) o Interpolate/Approximate the Euler angles:» Linear Interpolation:
52 Euler Angles Instead of blending matrices and then normalizing using SVD, we can blend the Euler angles: o For each M k, compute the Euler angles (θ k,φ k,ψ k ) o Interpolate/Approximate the Euler angles:» Linear Interpolation» Catmull-Rom Interpolation:
53 Euler Angles Instead of blending matrices and then normalizing using SVD, we can blend the Euler angles: o For each M k, compute the Euler angles (θ k,φ k,ψ k ) o Interpolate/Approximate the Euler angles:» Linear Interpolation» Catmull-Rom Interpolation» Uniform Cubic B-Spline Approximation:
54 Euler Angles Instead of blending matrices and then normalizing using SVD, we can blend the Euler angles: o For each M k, compute the Euler angles (θ k,φ k,ψ k ) o Interpolate/Approximate the Euler angles:» Linear Interpolation» Catmull-Rom Interpolation» Uniform Cubic B-Spline Approximation o Set the value of the in-between matrix to:
Quaternions and Exponentials
Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office
More informationModeling Transformations
Modeling Transformations Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Connelly Barnes, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Modeling Transformations
More informationImage Filtering, Warping and Sampling
Image Filtering, Warping and Sampling Connelly Barnes CS 4810 University of Virginia Acknowledgement: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David
More informationInterlude: Solving systems of Equations
Interlude: Solving systems of Equations Solving Ax = b What happens to x under Ax? The singular value decomposition Rotation matrices Singular matrices Condition number Null space Solving Ax = 0 under
More informationTransformations Week 9, Lecture 18
CS 536 Computer Graphics Transformations Week 9, Lecture 18 2D Transformations David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 3 2D Affine Transformations
More informationRay Casting. Connelly Barnes CS 4810: Graphics
Ray Casting Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Traditional Pinhole Camera The film
More informationMETR Robotics Tutorial 2 Week 3: Homogeneous Coordinates SOLUTIONS & COMMENTARY
METR4202 -- Robotics Tutorial 2 Week 3: Homogeneous Coordinates SOLUTIONS & COMMENTARY Questions 1. Calculate the homogeneous transformation matrix A BT given the [20 points] translations ( A P B ) and
More information3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)
3D Transformations CS 4620 Lecture 10 1 Translation 2 Scaling 3 Rotation about z axis 4 Rotation about x axis 5 Rotation about y axis 6 Properties of Matrices Translations: linear part is the identity
More informationAn idea which can be used once is a trick. If it can be used more than once it becomes a method
An idea which can be used once is a trick. If it can be used more than once it becomes a method - George Polya and Gabor Szego University of Texas at Arlington Rigid Body Transformations & Generalized
More informationLecture 18 of 41. Scene Graphs: Rendering Lab 3b: Shader
Scene Graphs: Rendering Lab 3b: Shader William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public mirror web site: http://www.kddresearch.org/courses/cis636
More informationTransformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering
RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Transformation Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Announcement Project
More informationCOMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective
COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective Department of Computing and Information Systems The Lecture outline Introduction Rotation about artibrary axis
More informationChapter 18. Geometric Operations
Chapter 18 Geometric Operations To this point, the image processing operations have computed the gray value (digital count) of the output image pixel based on the gray values of one or more input pixels;
More informationCOMP 558 lecture 19 Nov. 17, 2010
COMP 558 lecture 9 Nov. 7, 2 Camera calibration To estimate the geometry of 3D scenes, it helps to know the camera parameters, both external and internal. The problem of finding all these parameters is
More information3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11
3D Transformations CS 4620 Lecture 11 1 Announcements A2 due tomorrow Demos on Monday Please sign up for a slot Post on piazza 2 Translation 3 Scaling 4 Rotation about z axis 5 Rotation about x axis 6
More informationAdvanced Computer Graphics Transformations. Matthias Teschner
Advanced Computer Graphics Transformations Matthias Teschner Motivation Transformations are used To convert between arbitrary spaces, e.g. world space and other spaces, such as object space, camera space
More informationTransformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
Transformations Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Angel: Interactive Computer Graphics 4E Addison-Wesley 25 1 Objectives
More informationInteractive Computer Graphics. Warping and morphing. Warping and Morphing. Warping and Morphing. Lecture 14+15: Warping and Morphing. What is.
Interactive Computer Graphics Warping and morphing Lecture 14+15: Warping and Morphing Lecture 14: Warping and Morphing: Slide 1 Lecture 14: Warping and Morphing: Slide 2 Warping and Morphing What is Warping
More informationCS354 Computer Graphics Rotations and Quaternions
Slide Credit: Don Fussell CS354 Computer Graphics Rotations and Quaternions Qixing Huang April 4th 2018 Orientation Position and Orientation The position of an object can be represented as a translation
More informationGlobal Illumination. Connelly Barnes CS 4810: Graphics
Global Illumination Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Overview Direct Illumination
More informationCS545 Contents IX. Inverse Kinematics. Reading Assignment for Next Class. Analytical Methods Iterative (Differential) Methods
CS545 Contents IX Inverse Kinematics Analytical Methods Iterative (Differential) Methods Geometric and Analytical Jacobian Jacobian Transpose Method Pseudo-Inverse Pseudo-Inverse with Optimization Extended
More informationTransforms. COMP 575/770 Spring 2013
Transforms COMP 575/770 Spring 2013 Transforming Geometry Given any set of points S Could be a 2D shape, a 3D object A transform is a function T that modifies all points in S: T S S T v v S Different transforms
More informationParametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2
Parametric Surfaces Michael Kazhdan (601.457/657) HB 10.6 -- 10.9, 10.1 FvDFH 11.2 Announcement OpenGL review session: When: Wednesday (10/1) @ 7:00-9:00 PM Where: Olin 05 Cubic Splines Given a collection
More informationGeometric Transformations
Geometric Transformations CS 4620 Lecture 9 2017 Steve Marschner 1 A little quick math background Notation for sets, functions, mappings Linear and affine transformations Matrices Matrix-vector multiplication
More informationQuaternions and Rotations
CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body
More informationCS 559 Computer Graphics Midterm Exam March 22, :30-3:45 pm
CS 559 Computer Graphics Midterm Exam March 22, 2010 2:30-3:45 pm This exam is closed book and closed notes. Please write your name and CS login on every page! (we may unstaple the exams for grading) Please
More informationFor each question, indicate whether the statement is true or false by circling T or F, respectively.
True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)
More informationGame Engineering CS S-05 Linear Transforms
Game Engineering CS420-2016S-05 Linear Transforms David Galles Department of Computer Science University of San Francisco 05-0: Matrices as Transforms Recall that Matrices are transforms Transform vectors
More informationVisual Recognition: Image Formation
Visual Recognition: Image Formation Raquel Urtasun TTI Chicago Jan 5, 2012 Raquel Urtasun (TTI-C) Visual Recognition Jan 5, 2012 1 / 61 Today s lecture... Fundamentals of image formation You should know
More informationAnimation Curves and Splines 2
Animation Curves and Splines 2 Animation Homework Set up Thursday a simple avatar E.g. cube/sphere (or square/circle if 2D) Specify some key frames (positions/orientations) Associate Animation a time with
More informationComputer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics
Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control
More informationCS 775: Advanced Computer Graphics. Lecture 3 : Kinematics
CS 775: Advanced Computer Graphics Lecture 3 : Kinematics Traditional Cell Animation, hand drawn, 2D Lead Animator for keyframes http://animation.about.com/od/flashanimationtutorials/ss/flash31detanim2.htm
More informationPart II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors.
Visualizing Quaternions Part II: Visualizing Quaternion Geometry Andrew J. Hanson Indiana University Part II: OUTLINE The Spherical Projection Trick: Visualizing unit vectors. Quaternion Frames Quaternion
More informationSplines, or: Connecting the Dots. Jens Ogniewski Information Coding Group
Splines, or: Connecting the Dots Jens Ogniewski Information Coding Group Note that not all is covered in the book, especially Change of Interpolation Centripetal Catmull-Rom and other advanced parameterization
More informationRobot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering
PR 5 Robot Dynamics & Control /8/7 PR 5: Robot Dynamics & Control Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering The Inverse Kinematics The determination of all possible
More informationCurves D.A. Forsyth, with slides from John Hart
Curves D.A. Forsyth, with slides from John Hart Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction
More informationTwo-view geometry Computer Vision Spring 2018, Lecture 10
Two-view geometry http://www.cs.cmu.edu/~16385/ 16-385 Computer Vision Spring 2018, Lecture 10 Course announcements Homework 2 is due on February 23 rd. - Any questions about the homework? - How many of
More informationMotivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 19: Basic Geometric Concepts and Rotations Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/fa10 Motivation Moving from rendering to simulation,
More informationAnimating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University
Animating orientation CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Orientation in the plane θ (cos θ, sin θ) ) R θ ( x y = sin θ ( cos θ sin θ )( x y ) cos θ Refresher: Homogenous
More information3D Transformations World Window to Viewport Transformation Week 2, Lecture 4
CS 430/536 Computer Graphics I 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory
More information2D/3D Geometric Transformations and Scene Graphs
2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background
More informationCALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES
CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model
More informationApplications of Dual Quaternions in Three Dimensional Transformation and Interpolation
Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation November 11, 2013 Matthew Smith mrs126@uclive.ac.nz Department of Computer Science and Software Engineering University
More informationFundamentals of Computer Animation
Fundamentals of Computer Animation Quaternions as Orientations () page 1 Multiplying Quaternions q1 = (w1, x1, y1, z1); q = (w, x, y, z); q1 * q = ( w1.w - v1.v, w1.v + w.v1 + v1 X v) where v1 = (x1, y1,
More information12.1 Quaternions and Rotations
Fall 2015 CSCI 420 Computer Graphics 12.1 Quaternions and Rotations Hao Li http://cs420.hao-li.com 1 Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera
More informationShort on camera geometry and camera calibration
Short on camera geometry and camera calibration Maria Magnusson, maria.magnusson@liu.se Computer Vision Laboratory, Department of Electrical Engineering, Linköping University, Sweden Report No: LiTH-ISY-R-3070
More informationVisualizing Quaternions
Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 25 Tutorial OUTLINE I: (45min) Twisting Belts, Rolling Balls, and Locking Gimbals: Explaining Rotation Sequences
More informationDifferential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]
Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder] Preliminaries Recall: Given a smooth function f:r R, the function
More informationQuaternions and Rotations
CSCI 420 Computer Graphics Lecture 20 and Rotations Rotations Motion Capture [Angel Ch. 3.14] Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera parameters
More informationLeast-Squares Fitting of Data with B-Spline Curves
Least-Squares Fitting of Data with B-Spline Curves David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International
More informationAnimation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation
Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate
More informationQuaternions and Rotations
CSCI 480 Computer Graphics Lecture 20 and Rotations April 6, 2011 Jernej Barbic Rotations Motion Capture [Ch. 4.12] University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s11/ 1 Rotations
More informationManual image registration in BrainVoyager QX Table of Contents
Manual image registration in BrainVoyager QX Table of Contents Manual image registration in BrainVoyager QX......1 Performing manual alignment for functional to anatomical images......2 Step 1: preparation......2
More informationSUMMARY. CS380: Introduction to Computer Graphics Projection Chapter 10. Min H. Kim KAIST School of Computing 18/04/12. Smooth Interpolation
CS38: Introduction to Computer Graphics Projection Chapter Min H. Kim KAIST School of Computing Smooth Interpolation SUMMARY 2 Cubic Bezier Spline To evaluate the function c(t) at any value of t, we perform
More informationMatrix Operations with Applications in Computer Graphics
Matrix Operations with Applications in Computer Graphics The zero matrix is a matrix with all zero entries. The identity matrix is the matrix I with on the main diagonal entries and for all other entries.
More informationMath background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6
Math background 2D Geometric Transformations CS 4620 Lecture 6 Read: Chapter 2: Miscellaneous Math Chapter 5: Linear Algebra Notation for sets, functions, mappings Linear transformations Matrices Matrix-vector
More informationanimation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time
animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time computer graphics animation 2009 fabio pellacini 2 animation representation many ways to
More informationanimation computer graphics animation 2009 fabio pellacini 1
animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time computer graphics animation 2009 fabio pellacini 2 animation representation many ways to
More information2D and 3D Transformations AUI Course Denbigh Starkey
2D and 3D Transformations AUI Course Denbigh Starkey. Introduction 2 2. 2D transformations using Cartesian coordinates 3 2. Translation 3 2.2 Rotation 4 2.3 Scaling 6 3. Introduction to homogeneous coordinates
More informationMath 231E, Lecture 34. Polar Coordinates and Polar Parametric Equations
Math 231E, Lecture 34. Polar Coordinates and Polar Parametric Equations 1 Definition of polar coordinates Let us first recall the definition of Cartesian coordinates: to each point in the plane we can
More informationComputer Animation II
Computer Animation II Orientation interpolation Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic Lecture 13 6.837 Fall 2002 Interpolation Review from Thursday Splines Articulated bodies
More informationComputer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE
Computer Animation Algorithms and Techniques Rick Parent Ohio State University z< MORGAN KAUFMANN PUBLISHERS AN IMPRINT OF ELSEVIER SCIENCE AMSTERDAM BOSTON LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO
More informationKnow it. Control points. B Spline surfaces. Implicit surfaces
Know it 15 B Spline Cur 14 13 12 11 Parametric curves Catmull clark subdivision Parametric surfaces Interpolating curves 10 9 8 7 6 5 4 3 2 Control points B Spline surfaces Implicit surfaces Bezier surfaces
More informationWarping. 12 May 2015
Warping 12 May 2015 Warping, morphing, mosaic Slides from Durand and Freeman (MIT), Efros (CMU, Berkeley), Szeliski (MSR), Seitz (UW), Lowe (UBC) http://szeliski.org/book/ 2 Image Warping Image filtering:
More informationCS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations
CS 445 / 645 Introduction to Computer Graphics Lecture 21 Representing Rotations Parameterizing Rotations Straightforward in 2D A scalar, θ, represents rotation in plane More complicated in 3D Three scalars
More informationParameterization. Michael S. Floater. November 10, 2011
Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point
More informationJorg s Graphics Lecture Notes Coordinate Spaces 1
Jorg s Graphics Lecture Notes Coordinate Spaces Coordinate Spaces Computer Graphics: Objects are rendered in the Euclidean Plane. However, the computational space is better viewed as one of Affine Space
More informationLesson 28: When Can We Reverse a Transformation?
Lesson 8 M Lesson 8: Student Outcomes Students determine inverse matrices using linear systems. Lesson Notes In the final three lessons of this module, students discover how to reverse a transformation
More informationAnimation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions
More informationKinematical Animation.
Kinematical Animation 3D animation in CG Goal : capture visual attention Motion of characters Believable Expressive Realism? Controllability Limits of purely physical simulation : - little interactivity
More informationComputer Animation. Rick Parent
Algorithms and Techniques Interpolating Values Animation Animator specified interpolation key frame Algorithmically controlled Physics-based Behavioral Data-driven motion capture Motivation Common problem:
More informationξ ν ecliptic sun m λ s equator
Attitude parameterization for GAIA L. Lindegren (1 July ) SAG LL Abstract. The GAIA attaitude may be described by four continuous functions of time, q1(t), q(t), q(t), q4(t), which form a quaternion of
More informationAdditional mathematical results
Additional mathematical results In this appendix we consider some useful mathematical results that are relevant to threedimensional computer graphics but were not considered in the book itself. 0.1 The
More informationDD2429 Computational Photography :00-19:00
. Examination: DD2429 Computational Photography 202-0-8 4:00-9:00 Each problem gives max 5 points. In order to pass you need about 0-5 points. You are allowed to use the lecture notes and standard list
More informationInteractive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing
Interactive Computer Graphics Aliasing and Anti-Aliasing Hearn & Baker, chapter 4-7 D transforms Hearn & Baker, chapter 5 Aliasing and Anti-Aliasing Problem: jaggies Also known as aliasing. It results
More informationGeometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3
Geometric transformations in 3D and coordinate frames Computer Graphics CSE 167 Lecture 3 CSE 167: Computer Graphics 3D points as vectors Geometric transformations in 3D Coordinate frames CSE 167, Winter
More informationGeometric Transformations and Image Warping
Geometric Transformations and Image Warping Ross Whitaker SCI Institute, School of Computing University of Utah Univ of Utah, CS6640 2009 1 Geometric Transformations Greyscale transformations -> operate
More informationLecture 5 2D Transformation
Lecture 5 2D Transformation What is a transformation? In computer graphics an object can be transformed according to position, orientation and size. Exactly what it says - an operation that transforms
More informationGraphics and Interaction Transformation geometry and homogeneous coordinates
433-324 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation
More informationAH Matrices.notebook November 28, 2016
Matrices Numbers are put into arrays to help with multiplication, division etc. A Matrix (matrices pl.) is a rectangular array of numbers arranged in rows and columns. Matrices If there are m rows and
More informationCOMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates
COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation
More information0_PreCNotes17 18.notebook May 16, Chapter 12
Chapter 12 Notes BASIC MATRIX OPERATIONS Matrix (plural: Matrices) an n x m array of elements element a ij Example 1 a 21 = a 13 = Multiply Matrix by a Scalar Distribute scalar to all elements Addition
More informationIMAGE-BASED RENDERING AND ANIMATION
DH2323 DGI17 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION IMAGE-BASED RENDERING AND ANIMATION Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters
More informationSplines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes
CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines Catmull-Rom Splines Other Cubic Splines [Angel Ch 12.4-12.12] Roller coaster
More information3D Geometry and Camera Calibration
3D Geometr and Camera Calibration 3D Coordinate Sstems Right-handed vs. left-handed 2D Coordinate Sstems ais up vs. ais down Origin at center vs. corner Will often write (u, v) for image coordinates v
More informationTEAMS National Competition Middle School Version Photometry Solution Manual 25 Questions
TEAMS National Competition Middle School Version Photometry Solution Manual 25 Questions Page 1 of 14 Photometry Questions 1. When an upright object is placed between the focal point of a lens and a converging
More informationMatching and Recognition in 3D. Based on slides by Tom Funkhouser and Misha Kazhdan
Matching and Recognition in 3D Based on slides by Tom Funkhouser and Misha Kazhdan From 2D to 3D: Some Things Easier No occlusion (but sometimes missing data instead) Segmenting objects often simpler From
More informationAnimations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala
Animations Hakan Bilen University of Edinburgh Computer Graphics Fall 2017 Some slides are courtesy of Steve Marschner and Kavita Bala Animation Artistic process What are animators trying to do? What tools
More informationCSE 167: Introduction to Computer Graphics Lecture #2: Coordinate Transformations
CSE 167: Introduction to Computer Graphics Lecture #2: Coordinate Transformations Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework #1 due Friday Oct
More informationAnimation Lecture 10 Slide Fall 2003
Animation Lecture 10 Slide 1 6.837 Fall 2003 Conventional Animation Draw each frame of the animation great control tedious Reduce burden with cel animation layer keyframe inbetween cel panoramas (Disney
More informationRotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops)
Cornell University CS 569: Interactive Computer Graphics Rotations (and other transformations) Lecture 4 2008 Steve Marschner 1 Rotation as rotation matrix 9 floats orthogonal and unit length columns and
More information+ i a y )( cosφ + isinφ) ( ) + i( a x. cosφ a y. = a x
Rotation Matrices and Rotated Coordinate Systems Robert Bernecky April, 2018 Rotated Coordinate Systems is a confusing topic, and there is no one standard or approach 1. The following provides a simplified
More informationArticulated Characters
Articulated Characters Skeleton A skeleton is a framework of rigid body bones connected by articulated joints Used as an (invisible?) armature to position and orient geometry (usually surface triangles)
More informationThe real voyage of discovery consists not in seeking new landscapes, but in having new eyes.
The real voyage of discovery consists not in seeking new landscapes, but in having new eyes. - Marcel Proust University of Texas at Arlington Camera Calibration (or Resectioning) CSE 4392-5369 Vision-based
More informationTentti/Exam Midterm 2/Välikoe 2, December
1: 2: 3: Extra: Total 1-3: / 23 4: 5: 6: Total 4-6: / 20 Aalto ME-C3100 Computer Graphics, Fall 2015 Lehtinen / Kemppinen, Ollikainen, Puomio Tentti/Exam Midterm 2/Välikoe 2, December 16 2015 Name, student
More information521493S Computer Graphics Exercise 2 Solution (Chapters 4-5)
5493S Computer Graphics Exercise Solution (Chapters 4-5). Given two nonparallel, three-dimensional vectors u and v, how can we form an orthogonal coordinate system in which u is one of the basis vectors?
More informationInterpolating/approximating pp gcurves
Chap 3 Interpolating Values 1 Outline Interpolating/approximating pp gcurves Controlling the motion of a point along a curve Interpolation of orientation Working with paths Interpolation between key frames
More informationOrientation & Quaternions
Orientation & Quaternions Orientation Position and Orientation The position of an object can be represented as a translation of the object from the origin The orientation of an object can be represented
More informationGEOMETRIC TRANSFORMATIONS AND VIEWING
GEOMETRIC TRANSFORMATIONS AND VIEWING 2D and 3D 1/44 2D TRANSFORMATIONS HOMOGENIZED Transformation Scaling Rotation Translation Matrix s x s y cosθ sinθ sinθ cosθ 1 dx 1 dy These 3 transformations are
More informationCS 335 Graphics and Multimedia. Geometric Warping
CS 335 Graphics and Multimedia Geometric Warping Geometric Image Operations Eample transformations Straightforward methods and their problems The affine transformation Transformation algorithms: Forward
More information