CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation
|
|
- Arnold Sharp
- 5 years ago
- Views:
Transcription
1 CS 475 / CS 675 Computer Graphics Lecture 16 : Interpolation for
2 Keyframing Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent) results. In between Frames KF1 KF KF3 KF4 KF5 Time
3 Keyframing
4 Keyframing Interpolate Position
5 Keyframing Interpolate Orientation
6 Interpolating orientation Fixed Angle Representation - Ordered triple of rotations about global axes. Any triple is valid that doesn't immediately repeat an axis, e.g., x-y-z or z-x-y. But not x-x-y. Let us assume a z-y-x order for now.,, P ' =R z. R y. R x. P
7 Interpolating orientation Fixed Angle Representation Make a rotation matrix from the angles and interpolate [ 1 1 R z 9 = 1 1 [ ] 1 R z 9 = ] [ ] R z? = 1 1
8 Interpolating orientation Fixed Angle Representation Interpolate the angles and then form the matrix. Suffers from the Gimbal lock! ±, 9,,,, 9,, 9,±
9 Interpolating orientation Fixed Angle Representation When to form and apply the matrix if rotation has to be incremented by in each frame? Form a rotation matrix for and apply repeatedly to rotated object in each frame. Update the rotation matrix R axis by multiplying with R axis in each frame. Apply updated matrix to the object. Update the rotation angle, by the increment and form the new matrix R axis in each frame. Apply this matrix to the object.
10 Interpolating orientation Euler Angle Representation - Ordered triple of rotations about local axes. Any triple is valid that doesn't immediately repeat an axis, e.g., x-y-z or z-x-y. But not x-x-y. Let us assume a x-y-z order for now.,, P ' =R x. R y. R z. P Rotation given by a triad of Euler angles is the same as given by a triad of Fixed angles considered in opposite order. So it has the same Gimbal Lock problem.
11 Interpolating orientation Axis Angle Representation - Specified as an axis of rotation A x, y, z and an angle of rotation, around it. Euler's Theorem Any orientation can be derived from another by a single rotation about and axis. A x, y, z
12 Interpolating orientation - Axis Angle Representation To interpolate between two orientations A 1, 1 and A, B= A1 A 1 =cos A1 A A1 A 1 A k =R B k. A1 k = 1 k 1 k with k 1 A1 B A
13 Interpolating orientation Unit Quaternions Have the same information as the axis-angle representation but in a more convenient form. A q=[ s, x, y, z ] =[ s, v ] =[ cos /, sin / a ], where a= A A x, y, z
14 Interpolating orientation Quaternions A non commutative number system that extends complex numbers Defined as: q=s x i y j z k =[ s, v ] where 1, i, j, k are called the Hamilton basis The product of the basis elements is defined as: i = j = k = i j k = 1 i j= k, j k = i, k i = j j i = k, k j = i, i k = j Quaternions form a four dimensional normed division algebra, H over the real numbers.
15 Interpolating orientation Quaternions A non commutative number system that extends complex numbers Defined as: q=s x i y j z k =[ s, v ] where 1, i, j, k are called the Hamilton basis The product of the basis elements is defined as: i = j = k = i j k = 1 i j= k, j k = i, k i = j j i = k, k j = i, i k = j Note that the multiplication being defined here is a quaternion multiplication and not the inner or out product of vectors. It is not commutative.
16 Interpolating orientation Quaternions Quaternion Arithmetic q1 q =[ s1 s, v 1 v ] Addition: Scalar Multiplication: k q=[ k s, k v ]=ks kx i ky j kz k Quaternion Multiplication: q1 q = a1 b1 i c 1 j d 1 k a b i c j d k =a 1 a b i c j d k b 1 i a b i c j d k c 1 j a b i c j d k d 1 k a b i c j d k = a 1 a b 1 b c 1 c d 1 d a1 b b 1 a c 1 d d 1 c i a 1 c b 1 d c 1 a d 1 b j a 1 d b1 c c1 b d 1 a k
17 Interpolating orientation Quaternions * q Conjugate Quaternion: =s x i y j z k Quaternion Norm: q = q q = q q= s x y z If is real then, q = q The norm is multiplicative: p q = p q Unit Quaternion: q = q 1 Quaternion Inverse: q = q * * q q *
18 Keyframing Interpolate Orientation Interpolate Position Interpolate Shape Interpolate Colour Light Intensity Camera Zoom Any other parameter Real Time Shape Editing using Radial Basis Functions. Mario Botsch, Leif Kobbelt. Computer Graphics Forum 4(3), Proc. Eurographics 5
19 Keyframing Moving on curves. Specify spatial position to fix the curve In addition, we specify the speed at which we travel along the curve D, t=6 B, t=1 A, t= C, t=35
20 Controlling speed on curves Typically parametrization is not arc length. Arc length is the distance along the curve. Arc length parametrization can be computed using Analytical Computation Table-based Summed linear distances (forward differencing) Gaussian quadrature (numerical integration)
21 Controlling speed on curves Given a parametric curve, P(u) = (x(u), y(u), z(u)) We may have to solve two versions of the problem: Given parameters u1 and u, find arc length, LENGTH(u1, u) Given an arc length s and parameter u1, find u so that LENGTH(u1, u) =s
22 Controlling speed on curves Given parameters u1 and u, find arc length, LENGTH(u1, u) Can we compute s = G(u) = distance from start of curve to point at u? With G, arc length parameterization can be obtained by inversion as P(G-1(s)), where G-1(s) gives the parameter u up to which distance travelled on the curve is s. Parameter values obtained from G-1(s) Equal arc lengths s over the curve. Re-parameterize to have equal spacing in the parameteric interval.
23 Controlling speed on curves Given an arc length s and parameter u1, find u so that LENGTH(u1, u) =s Generally, neither of the two forms of the problem admit analytical solutions. Arc Length u LENGTH u 1, u =s= u1 u dp u du= du u 1 dp u du du dp u = du dx u dy u dz u du du du
24 Controlling speed on curves The arc length integral can be approximated using a forward differencing method. Create a piece wise linear approximation of the curve from many parameter evaluations and sum these to form the arc length. Store these values into a table. s s Actual Curve Linear Approximation
25 Controlling speed on curves The inversion can then be calculated using bisection s=g u is a monotonically increasing function. i.e., if u1 < u then s1 < s s So we can do a bisection or a binary search for u, given a value of s. u
26 Controlling speed on curves Space curves we have seen till now give the path. What if we want to control the speeds Accelerates from stop position Reaches maximum speed Decelerates to a stop. Given the speed as a plot of s vs. t. v = ds/dt
27 Controlling speed on curves A slow in slow out curve may look like:
28 Controlling speed on curves Given next time instant t Distance-time curve gives total distance s travelled up to time t. P(G-1(s)) gives the position on the path space curve. Or solve a space-time optimization for the whole path.
29 Interpolating orientation Quaternions Quaternion and the Geometry of R3 i, j, k denote both the basis vector of H and a basis for R 3 Vectors in R 3 can be written as pure imaginary quaternions v= x i y j z k =[, u ] Inner product of vectors in R 3 1 * 1 * * * v 1 v = x 1 x y 1 y z 1 z = v 1 v v v 1 = v 1 v v v 1 Cross product of vectors in 1 * * v 1 v = v 1 v v v 1 Quaternion multiplication can be written as: q1 q =[ s1 s v 1 v, s v 1 s1 v v 1 v ]
30 Interpolating orientation Unit Quaternions A unit quaternion denotes a rotation by an angle θ about an axis A A q=[ s, x, y, z ]=[ s, v ]=[ cos /, sin / a ], where a = A Multiplication with a unit quaternion q can be used to rotate a vector v 1 1 R q v =q v q =q [, v ] q Composition of rotations is equivalent to quaternion 1 1 multiplication R q R q v =R q q v q 1 =q q [, v ] q 1 q = q 1 q [, v ] q 1 q =R q q v Rotating by a scalar multiple of a unit quaternion is the same as rotating by the unit quaternion R q v =R k q v Only Unit Quaternions represent rotations! 1
31 Interpolating orientation Unit Quaternions Antipodal Unit Quaternions q=[ cos /, a sin / ] If we rotate by θ-π instead of θ [ cos /, a sin / ] =[ cos /, a sin / ]=[ cos /, a sin / ] = q So both q and q represent the same rotation and are called antipodal points. R v =R v q q If < θ < π then the positive rotation is the shorter one else the negative rotation is the shorter one, i.e., the quaternion with the positive value of the s coordinate will give the shorter path I am abusing notation here for convenience. Please remember we are talking about unit quaternions.
32 Interpolating orientation Unit Quaternions Linear Interpolation q= 1 k q 1 k q How to take equi-distant steps along orientation path? How to pass through orientations smoothly? With dual unit quaternion representations, which one to use? Dual representation: For Interpolation between q1 and q, compute cosine between q1 and q and between q1 and q; choose smallest angle. Computer : Algorithms and Techniques, Rick Parent, Morgan Kaufmann, 1
33 Interpolating orientation Unit Quaternions Linear Interpolation q= 1 k q 1 k q This is not equally spaced. q q q1 Computer : Algorithms and Techniques, Rick Parent, Morgan Kaufmann, 1
34 Interpolating orientation Unit Quaternions Spherical Linear Interpolation or SLERP We write, q =[cos /, a sin / ] We want to interpolate between two rotations q1 and q Rotation that takes us from 1 to is given by q q 1 Now we start at 1, and go to in α steps as q q 1 q Slerp q 1, q, = q q 1 q1 sin 1 sin q1 q sin sin cos =q 1 q =s1 s x 1 x y 1 y z 1 z Slerp q 1, q, =
35 Interpolating orientation Unit Quaternions Interpolating between multiple quaternions Let us define two operators Double p, q = p q q p p q Bisect p, q = p q Double p, q q q Bisect p, q p p
36 Interpolating orientation Unit Quaternions Interpolating between multiple quaternions Given three successive quaternions qn-1, qn, qn+1, we define a n =Bisect Double q n 1, q n, q n 1 b n =Double a n, q n q n 1 bn an qn q n 1 q n 1
37 Interpolating orientation Unit Quaternions Interpolating between multiple quaternions Now we can join successive Bèzier spline segments. And find points on the Bèzier curves we use de Casteljau's algorithm to find in-between rotations. bn qn an b n 1 a n 1 q n 1 q n 1
Animation. Animation
CS475m - Computer Graphics Lecture 5 : Interpolation for Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent) results.
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 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 informationAnimation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape
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 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 informationAnimation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1
Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1 Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral
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 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 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 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 information3D Rotations and Complex Representations. Computer Graphics CMU /15-662, Fall 2017
3D Rotations and Complex Representations Computer Graphics CMU 15-462/15-662, Fall 2017 Rotations in 3D What is a rotation, intuitively? How do you know a rotation when you see it? - length/distance is
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 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 informationBackground for Surface Integration
Background for urface Integration 1 urface Integrals We have seen in previous work how to define and compute line integrals in R 2. You should remember the basic surface integrals that we will need to
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 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 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 informationa a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b
MATH 245 Extra Effort ( points) My assistant read through my first draft, got half a page in, and skipped to the end. So I will save you the flipping. Here is the assignment. Do just one of them. All the
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 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 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 information3D Game Engine Programming. Understanding Quaternions. Helping you build your dream game engine. Posted on June 25, 2012 by Jeremiah van Oosten
3D Game Engine Programming Helping you build your dream game engine. Understanding Quaternions Posted on June 25, 2012 by Jeremiah van Oosten Understanding Quaternions In this article I will attempt to
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 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 informationAnimation and Quaternions
Animation and Quaternions Partially based on slides by Justin Solomon: http://graphics.stanford.edu/courses/cs148-1-summer/assets/lecture_slides/lecture14_animation_techniques.pdf 1 Luxo Jr. Pixar 1986
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 informationCS184: Using Quaternions to Represent Rotation
Page 1 of 5 CS 184 home page A note on these notes: These notes on quaternions were created as a resource for students taking CS184 at UC Berkeley. I am not doing any research related to quaternions and
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 informationRotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco.
otation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J Fowler, WesternGeco Summary Symmetry groups commonly used to describe seismic anisotropy
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 information3D Modelling: Animation Fundamentals & Unit Quaternions
3D Modelling: Animation Fundamentals & Unit Quaternions CITS3003 Graphics & Animation Thanks to both Richard McKenna and Marco Gillies for permission to use their slides as a base. Static objects are boring
More informationC O M P U T E R G R A P H I C S. Computer Graphics. Three-Dimensional Graphics I. Guoying Zhao 1 / 52
Computer Graphics Three-Dimensional Graphics I Guoying Zhao 1 / 52 Geometry Guoying Zhao 2 / 52 Objectives Introduce the elements of geometry Scalars Vectors Points Develop mathematical operations among
More information3D Transformations and Complex Representations. Computer Graphics CMU /15-662, Fall 2016
3D Transformations and Complex Representations Computer Graphics CMU 15-462/15-662, Fall 2016 Quiz 4: Trees and Transformations Student solutions (beautiful!): Rotations in 3D What is a rotation, intuitively?
More informationQuaternions & Rotation in 3D Space
Quaternions & Rotation in 3D Space 1 Overview Quaternions: definition Quaternion properties Quaternions and rotation matrices Quaternion-rotation matrices relationship Spherical linear interpolation Concluding
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 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 informationTopic 5.1: Line Elements and Scalar Line Integrals. Textbook: Section 16.2
Topic 5.1: Line Elements and Scalar Line Integrals Textbook: Section 16.2 Warm-Up: Derivatives of Vector Functions Suppose r(t) = x(t) î + y(t) ĵ + z(t) ˆk parameterizes a curve C. The vector: is: r (t)
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 informationGame Mathematics. (12 Week Lesson Plan)
Game Mathematics (12 Week Lesson Plan) Lesson 1: Set Theory Textbook: Chapter One (pgs. 1 15) We begin the course by introducing the student to a new vocabulary and set of rules that will be foundational
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 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 informationCHAPTER 6 Parametric Spline Curves
CHAPTER 6 Parametric Spline Curves When we introduced splines in Chapter 1 we focused on spline curves, or more precisely, vector valued spline functions. In Chapters 2 and 4 we then established the basic
More informationInformation Coding / Computer Graphics, ISY, LiTH. Splines
28(69) Splines Originally a drafting tool to create a smooth curve In computer graphics: a curve built from sections, each described by a 2nd or 3rd degree polynomial. Very common in non-real-time graphics,
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 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 informationInertial Measurement Units II!
! Inertial Measurement Units II! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 10! stanford.edu/class/ee267/!! wikipedia! Polynesian Migration! Lecture Overview! short review of
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 informationIntro to Curves Week 1, Lecture 2
CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves
More informationCoordinate Transformations in Advanced Calculus
Coordinate Transformations in Advanced Calculus by Sacha Nandlall T.A. for MATH 264, McGill University Email: sacha.nandlall@mail.mcgill.ca Website: http://www.resanova.com/teaching/calculus/ Fall 2006,
More informationCMSC427: Computer Graphics Lecture Notes Last update: November 21, 2014
CMSC427: Computer Graphics Lecture Notes Last update: November 21, 2014 TA: Josh Bradley 1 Linear Algebra Review 1.1 Vector Multiplication Suppose we have a vector a = [ x a y a ] T z a. Then for some
More informationCS 536 Computer Graphics Intro to Curves Week 1, Lecture 2
CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves
More informationTransformations: 2D Transforms
1. Translation Transformations: 2D Transforms Relocation of point WRT frame Given P = (x, y), translation T (dx, dy) Then P (x, y ) = T (dx, dy) P, where x = x + dx, y = y + dy Using matrix representation
More informationIn this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include
Parametric Curves and Surfaces In this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include Describing curves in space that objects move
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationMath Exam III Review
Math 213 - Exam III Review Peter A. Perry University of Kentucky April 10, 2019 Homework Exam III is tonight at 5 PM Exam III will cover 15.1 15.3, 15.6 15.9, 16.1 16.2, and identifying conservative vector
More informationTransformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science
Transformations CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive
More informationObjectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations
Objectives Transformations CS Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive homogeneous
More informationCoordinate Transformations. Coordinate Transformation. Problem in animation. Coordinate Transformation. Rendering Pipeline $ = $! $ ! $!
Rendering Pipeline Another look at rotation Photography: real scene camera (captures light) photo processing Photographic print processing Computer Graphics: 3D models camera tone model reproduction (focuses
More informationRotations in 3D Graphics and the Gimbal Lock
Rotations in 3D Graphics and the Gimbal Lock Valentin Koch Autodesk Inc. January 27, 2016 Valentin Koch (ADSK) IEEE Okanagan January 27, 2016 1 / 37 Presentation Road Map 1 Introduction 2 Rotation Matrices
More information3D Kinematics. Consists of two parts
D Kinematics Consists of two parts D rotation D translation The same as D D rotation is more complicated than D rotation (restricted to z-ais) Net, we will discuss the treatment for spatial (D) rotation
More informationRotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011
Rotation and Orientation: Fundamentals Perelyaev Sergei VARNA, 0 What is Rotation? Not intuitive Formal definitions are also confusing Many different ways to describe Rotation (direction cosine) matri
More informationQuaternion Rotations AUI Course Denbigh Starkey
Major points of these notes: Quaternion Rotations AUI Course Denbigh Starkey. What I will and won t be doing. Definition of a quaternion and notation 3 3. Using quaternions to rotate any point around an
More informationCS770/870 Spring 2017 Quaternions
CS770/870 Spring 2017 Quaternions Primary resources used in preparing these notes: 1. van Osten, 3D Game Engine Programming: Understanding Quaternions, https://www.3dgep.com/understanding-quaternions 2.
More informationVector Addition. Qty Item Part Number 1 Force Table ME-9447B 1 Mass and Hanger Set ME Carpenter s level 1 String
rev 05/2018 Vector Addition Equipment List Qty Item Part Number 1 Force Table ME-9447B 1 Mass and Hanger Set ME-8979 1 Carpenter s level 1 String Purpose The purpose of this lab is for the student to gain
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 informationQuaternions and Euler Angles
Quaternions and Euler Angles Revision #1 This document describes how the VR Audio Kit handles the orientation of the 3D Sound One headset using quaternions and Euler angles, and how to convert between
More informationGEOMETRIC TOOLS FOR COMPUTER GRAPHICS
GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W
More informationPerformance Study of Quaternion and Matrix Based Orientation for Camera Calibration
Performance Study of Quaternion and Matrix Based Orientation for Camera Calibration Rigoberto Juarez-Salazar 1, Carlos Robledo-Sánchez 2, Fermín Guerrero-Sánchez 2, J. Jacobo Oliveros-Oliveros 2, C. Meneses-Fabian
More informationCOMPUTER ANIMATION 3 KEYFRAME ANIMATION, RIGGING, SKINNING AND CHARACTER ANIMATION. Rémi Ronfard, Animation, M2R MOSIG
COMPUTER ANIMATION 3 KEYFRAME ANIMATION, RIGGING, SKINNING AND CHARACTER ANIMATION Rémi Ronfard, Animation, M2R MOSIG 2 Outline Principles of animation Keyframe interpolation Rigging, skinning and walking
More informationCS5620 Intro to Computer Graphics
CS56 and Quaternions Piar s Luo Jr. A New Dimension - Time 3 4 Principles of Traditional Specifing Anticipation Suash/Stretch Secondar Action 5 6 C. Gotsman, G. Elber,. Ben-Chen Page CS56 Keframes anual
More informationGeometric Modeling of Curves
Curves Locus of a point moving with one degree of freedom Locus of a one-dimensional parameter family of point Mathematically defined using: Explicit equations Implicit equations Parametric equations (Hermite,
More informationQuaternion Interpolation
Quaternion Interpolation 3D Rotation Repreentation (reiew) Rotation Matrix orthornormal column/row bad for interpolation Fixed Angle rotate about global axe bad for interpolation, gimbal lock Euler Angle
More informationCS230 : Computer Graphics Lecture 12: Introduction to Animation. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lecture 12: Introduction to Animation Tamar Shinar Computer Science & Engineering UC Riverside Types of animation keyframing rotoscoping stop motion procedural simulation motion
More informationLab 2A Finding Position and Interpolation with Quaternions
Lab 2A Finding Position and Interpolation with Quaternions In this Lab we will learn how to use the RVIZ Robot Simulator, Python Programming Interpreter and ROS tf library to study Quaternion math. There
More informationCurves and Surfaces Computer Graphics I Lecture 9
15-462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] February 19, 2002 Frank Pfenning Carnegie
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 informationQuaternions 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 informationRational Bezier Curves
Rational Bezier Curves Use of homogeneous coordinates Rational spline curve: define a curve in one higher dimension space, project it down on the homogenizing variable Mathematical formulation: n P(u)
More informationMastery. PRECALCULUS Student Learning Targets
PRECALCULUS Student Learning Targets Big Idea: Sequences and Series 1. I can describe a sequence as a function where the domain is the set of natural numbers. Connections (Pictures, Vocabulary, Definitions,
More informationMeasuring Lengths The First Fundamental Form
Differential Geometry Lia Vas Measuring Lengths The First Fundamental Form Patching up the Coordinate Patches. Recall that a proper coordinate patch of a surface is given by parametric equations x = (x(u,
More information3.3 Interpolation of rotations represented by quaternions
3 S 3.3 Interpolation of rotations represented by quaternions : set of unit quaternions ; S :set of unit 3D vectors Interpolation will be performed on 3 S (direct linear interpolation produces nonlinear
More informationCS612 - Algorithms in Bioinformatics
Fall 2017 Structural Manipulation November 22, 2017 Rapid Structural Analysis Methods Emergence of large structural databases which do not allow manual (visual) analysis and require efficient 3-D search
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 information3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013
3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels
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 informationDr. Allen Back. Nov. 19, 2014
Why of Dr. Allen Back Nov. 19, 2014 Graph Picture of T u, T v for a Lat/Long Param. of the Sphere. Why of Graph Basic Picture Why of Graph Why Φ(u, v) = (x(u, v), y(u, v), z(u, v)) Tangents T u = (x u,
More informationParametric curves. Brian Curless CSE 457 Spring 2016
Parametric curves Brian Curless CSE 457 Spring 2016 1 Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics
More informationAalto CS-C3100 Computer Graphics, Fall 2016
Aalto CS-C3100 Computer Graphics, Fall 2016 Representation and Interpolation of Wikipedia user Blutfink Rotations...or, adventures on the 4D unit sphere Jaakko Lehtinen with lots of slides from Frédo Durand
More informationParametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:
Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Parametric curves CSE 457 Winter 2014 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric
More informationRotational Joint Limits in Quaternion Space. Gino van den Bergen Dtecta
Rotational Joint Limits in Quaternion Space Gino van den Bergen Dtecta Rotational Joint Limits: 1 DoF Image: Autodesk, Creative Commons Rotational Joint Limits: 3 DoFs Image: Autodesk, Creative Commons
More informationBramhall high school Year 9 Assessment descriptor Mathematics
Grade Description Exceeding Calculate with fractional powers. Calculate exactly with surds. 8/9 Establish the exact values of sinθ and cosθ for θ = 0, 30, 45, 60 and 90, the exact value of tanθ for θ =
More informationCurves and Surfaces Computer Graphics I Lecture 10
15-462 Computer Graphics I Lecture 10 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] September 30, 2003 Doug James Carnegie
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 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 informationVisualizing Quaternions
Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 1 Tutorial 1 GRAND PLAN I: Fundamentals of Quaternions II: Visualizing Quaternion Geometry III: Quaternion
More informationBasics of Computational Geometry
Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals
More informationSecondary Math 3- Honors. 7-4 Inverse Trigonometric Functions
Secondary Math 3- Honors 7-4 Inverse Trigonometric Functions Warm Up Fill in the Unit What You Will Learn How to restrict the domain of trigonometric functions so that the inverse can be constructed. How
More informationStructure in Quaternions Corresponding to the 4-Dimensional Tetrahedron
Structure in Quaternions Corresponding to the 4-Dimensional Tetrahedron AJ Friend School of Mathematics Georgia Institute of Technology Atlanta, GA Advised by: Adrian Ocneanu Department of Mathematics
More information1 Historical Notes. Kinematics 5: Quaternions
1 Historical Notes Quaternions were invented by the Irish mathematician William Rowan Hamilton in the late 1890s. The story goes 1 that Hamilton has pondered the problem of dividing one vector by another
More information