Fundamentals of Computer Animation
|
|
- Asher Norton
- 6 years ago
- Views:
Transcription
1 Fundamentals of Computer Animation Quaternions as Orientations () page 1
2 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, z1) v = (x, y, z) Order of multiplication is important! Quaternion multiplication is not commutative: q1 * q does not equal q * q1 Unit quarternian rotated around axis (x,y,z) by amount θ q = Rot θ,(x,y,z) = [cos(θ/), sin(θ/).(x,y,z)] page
3 page 3 Quaternions as Rotations Concatenating rotations rotate using q 1 and then using q is like rotation using q *q ) * *( )* * ( ) * *( )* * ( )* * * *( = = q q P q q q q P q q q q P q q
4 Quaternion Cheat Sheet [s1,v1] + [s,v] = [s1+s,v1+v] [s1,v1] * [s,v] = [s1*s-v1.v,s1*v+s*v1+v1xv] q = sqrt(s*s + x*x + y*y + z*z) q * [1,0,0,0] = q q -1 = [-s,v]/ q q * q -1 = [1,0,0,0]
5 Quaternions q =[s,v]=[s,x,y,z] Α θ (cos(θ/),sin(θ/)*a) page 5
6 Rotations in Reality It s easiest to express rotations in Euler angles or Axis/angle We can convert to/from any of these representations Choose the best representation for the task input:euler angles interpolation: quaternions composing rotations: quaternions, orientation matrix page 6
7 Quaternions to rotate a point v = (x,y,z) => [0,v] Rot q (v) = v = q * [0,v] * q -1 page 7
8 Conversion From Quaternions Quaternion to Matrix ( w, x, y z) q =, To form a matrix equivalent to a unit quarternian: (w +x +y +z )=1 useful as orientation is independent of magnitude The columns are rotations of the principal axes by the unit quarternian, to rotate an axis v by the quarternian q: v rot = qvq -1 thus it is relatively simple to calculate the conversion matrix below. Matrix = 1 y xy xz + y zw z yw xy 1 x yz + zw z xw xz yz 1 x + yw xw y page 8
9 Converting quarternian matrix M 0,0 M 0,1 M 0, M 1,0 M 1,1 M 1, Matrix M,0 M,1 M, = 1 y y xy + zw xz yw z xy zw 1 x z yz + xw xz + yw yz xw 1 x y Sum of diagonals= 1-y -z +1-x -z + 1-x -y = 3-4x 4y -4z But (w +x +y +z )=1 so sum = 3 4(1-w ) = 4w 1 w = sqrt(1+m 0,0 +M 1,1 + M, )/ M 0,0 =1-y -z =1 - (y +z ) = 1 (1 - x +w ) = x +w 1 Converting from Matrix Quarternion similarly for y and z x = sqrt(1/(m 0,0 +1-w )) y = sqrt(1/(m 1,1 +1-w )) Z = sqrt(1/(m, +1-w )) page 9
10 Conversion From Quaternions Quaternion to Axis Angle To change a quaternion to a rotation around an arbitrary axis in 3D space: Axis of rotation (ax, ay, az) angle theta (radians) then angle= * acos(w) ax= x / scale ay= y / scale az= z / scale where scale = x + y + z if the scale is 0 no rotation and the axis will be infinite. In this case: Set the rotation axis to any unit vector with a rotation angle of 0. page 10
11 Example Camera Orientation Euler glrotatef( anglex, 1, 0, 0) glrotatef( angley, 0, 1, 0) glrotatef( anglez, 0, 0, 1) // translate Quaternion // convert Euler to quaternion // convert quaternion to axis angle glrotate(theta, ax, ay, az) // translate Gimbal Lock? YES YES page 11
12 Conversion To Quaternians Axis Angle to Quaternian Axis of rotation (ax, ay, az) /* must be unit vectors */ angle theta (radians) then w = cos (theta/) x = ax * sin (theta/) y = ay * sin (theta/) z = az * sin (theta/) If the axis is a zero vector no rotation In this case: Set the quaternion to the rotation identity quaternion q= [1,(0, 0, 0)] page 1
13 Conversion To Quaternions Euler to Quaternion if you have three Euler angles (a, b, c), then you can form three independent quaternions: qx = [ cos(a/), (sin(a/), 0, 0) ] qy = [ cos(b/), (0, sin(b/), 0) ] qz = [ cos(c/), (0, 0, sin(c/)) ] And the final quaternion is obtained by qx * qy * qz. page 13
14 How can quaternions avoid Gimbal Lock? Basic Idea: 1. Use a quaternion to represent the rotation.. Generate a temporary quaternion for the change from the current orientation to the new orientation. 3. PostMultiply the temp quaternion with the original quaternion. This results in a new orientation that combines both rotations. 4. Convert the quaternion to a matrix and use matrix multiplication as normal. page 14
15 CameraEuler.exe In the while loop: There are 3 angles for rotation in the X, Y, and Z axis. Euler With every key press, the corresponding rotation variable is adjusted. Translation is performed and then the 3 Euler angles are adjusted to rotation matrices and multiplied into the final transformation matrix. This program suffers from gimbal lock. If you want to see it in action, rotate the camera so that the yaw is 90 deg. Then try rotating in the X and Z direction. See what happens. page 15
16 CameraQuat.exe In the while loop: When a key is pressed, a temporary quaternion is generated corresponding to the key for a small rotation in that particular axis. The temporary quaternion is then multiplied into the camera quaternion. This concatenation of rotations in 4D space will avoid gimbal lock. Try it! Quarternion The orientation of the camera is a quaternion. There are 3 angles corresponding to the keypress. Note the angles are meant to be an on/off switch (not accumulative). The 3 angles converted to a temporary quaternion. Temporary quaternion is multiplied to the camera quaternion to obtain the combined orientation. Note the order of multiplication. The camera rotation is then converted to the Axis Angle representation for transforming the final matrix. page 16
17 Linearly interpolating fixed angles from (0,90,0) to (90,0,90) Interpolating quaternions from (0.5,0.0,1.0,0.0) to (0.5,0.5,0.5,0.5) using spherical linear interpolation q1 = [ cos(φ/), (sin(φ/), 0, 0) ] q 1 = [0.5, (0, 1, 0)] =[cos(π/4), sin(π/4)(0, 1, 0)] q = [0.5, (0.5, 0.5, 0.5)] =[cos(p/4), sin(p/4)(0.5, 0.5, 0.5)] page 17
18 Quaternion Interpolation Linearly interpolating fixed angles from (0,90,0) to (90,0,90) Fixed angles (0,90,0) (90,0,90) quaternions [0.7,0.0,0.7,0.0] [0.5,0.5,0.5,0.5] Interpolating quaternions from (0.5,0.0,1.0,0.0) to (0.5,0.5,0.5,0.5) using spherical linear interpolation page 18
19 Interpolation Scalar: K = (1-α) A + α B (linear interpolation: lerp) Euler Angles: [x,y,z] = (1- α)[x a,y a,z a ] + α[x b,y b,z b ] Quaternions?: Linear interpolation of quaternion values would give unequal rotation increments - need to slerp (spherical linear interpolation) page 19
20 Quaternion Interpolation If the components of q 1 and q are Linearly interpolated: Can be viewed as 4D points on a straight line between q 1 and q not constant speed rotation. B Equally spaced linear interpolation of straight-line path between two points on a circle generate unequal spacing of points after projecting onto a circle. A Need to interpolate on the surface Of the sphere. page 0
21 Quaternions as points on a 4D unit sphere Unit quaternion: q=(s,x,y,z), q = 1 Want equal increment along arc connecting two quaternions on surface of sphere spherical linear interpolation
22 Interpolation of Rotations How can we interpolate between two quaternion rotations along the shortest arc? Spherical Linear interpolation (SLERP) Find angle between q 1 and q and interpolate SLERP ( q q, t) cosθ = q q = q sin (( 1 t) θ ) + q sin( tθ ) sin( θ ) 1 1, 1 s 1,s + v 1 v If u=1/ can compute q 1 +q and normalize Nick Bobick Rotating Objects Using Quaternions GameDeveloper, Feb 1999 (available at course website) page
23 Orientation two representations Interpolate q1 to q q1 is closer to q So interpolate 180-θ The closer of the two representations of orientation is the better choice to use in interpolation. page 3
24 SLERP q form a sphere of unit length in the 4D space SLERP ( q q, t) q sin (( 1 t) θ ) + q sin( tθ ) sin( θ ) 1 1, = page 4
25 SLERP Given several orientations q 1,q,q 3 q n We get 1st derivative discontinuities use cubic Bezier Interpolation (see Parent appendix and Shoemake Siggraph 1985 p ) A Catmull-Rom spline will interpolate points and tangents but may not give youexactly what you want. This is discussed in Mortensen, Rogers, and Killer B s books. See Parent for references. (or borrow from my library books to be returned or suffer horrible and unusual punishment.) page 5
26 Bezier construction using quaternion operators Need quaternion-friendly operations to interpolate cubic Bezier curve using quaternion points de Casteljau geometric construction algorithm page 6
27 Convex Hull What is the Convex Hull? Given a set of points (in ) The smallest convex polyhedral that includes all the points given page 7
28 de Casteljau Algorithm Avoid direct evaluating of polynomials Geometric interpretation Consider a planer cubic at u 1-u column by column updating rule page 8
29 Pseudo Code Input P[j], d, u //P[j] : control point, d : degree, u : parameter //output will be Q(u) for i = 1 to d for j = 0 to d-i P[j] =(1-u)*P[j] + u*p[j+1] end end Output??? page 9
30 Some Observations on Cubic Case After one step of decasteljau algorithm for Obtaining 4 green points 4 blue points Where Small left Bezier curve: Small right Bezier curve: Original Bezier curve Divided and conquer method page 30
31 Matrix Relation Unit summation of any row. Non negative elements. Banded structure. page 31
32 Bezier construction using quaternion operators t 1 =slerp(q n, a n,1/3) t =slerp(a n, b n+1,1/3) t 3 =slerp(b n+1, q n+1,1/3) t 1 =slerp(t 1, t,1/3) t 3 =slerp(t 1, t 3,1/3) q=slerp(t 1, t 3,1/3) page 3
33 Practical use for quaternions (1) Camera rotations in third-person-perspective games
34 Practical use for quaternions (1) Camera rotations in third-person-perspective games page 34
35 Practical use for quaternions () Prerecorded (but not prerendered) animations Instead of recording camera movements by playing the game (as many games do today), you could prerecord camera movements and rotations using a commercial package such as Softimage 3D or 3D Studio MAX. Then, using an SDK, export all of the keyframed camera/object quaternion rotations. This would save both space and rendering time. Then you could just play the keyframed camera motions whenever the script calls for cinematic scenes. page 35
Fundamentals of Computer Animation
Fundamentals of Computer Animation Orientation and Rotation University of Calgary GraphicsJungle Project CPSC 587 5 page Motivation Finding the most natural and compact way to present rotation and orientations
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 informationLe s s on 02. Basic methods in Computer Animation
Le s s on 02 Basic methods in Computer Animation Lesson 02 Outline Key-framing and parameter interpolation Skeleton Animation Forward and inverse Kinematics Procedural techniques Motion capture Key-framing
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 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 informationCS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation
CS 475 / CS 675 Computer Graphics Lecture 16 : Interpolation for Keyframing Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent)
More informationCSC 305 More Modelling
CSC 305 More Modelling Faramarz Samavati & Brian Wyvill The University of Victoria Graphics Group Bernstein Polynomials any degree University of Victoria Island Graphics Lab. CSC 305 2010 page 2 Implementation
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 information1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1
Transformations 1-1 Transformations are used within the entire viewing pipeline: Projection from world to view coordinate system View modifications: Panning Zooming Rotation 1-2 Transformations can also
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 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 informationQuaternion properties: addition. Introduction to quaternions. Quaternion properties: multiplication. Derivation of multiplication
Introduction to quaternions Definition: A quaternion q consists of a scalar part s, s, and a vector part v ( xyz,,, v 3 : q where, [ s, v q [ s, ( xyz,, q s+ ix + jy + kz i 2 j 2 k 2 1 ij ji k k Quaternion
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 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 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 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 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 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 informationSplines & Quaternions (splines.txt) by Jochen Wilhelmy a.k.a. digisnap
Splines & Quaternions (splines.txt) ----------------------------------- by Jochen Wilhelmy a.k.a. digisnap digisnap@cs.tu-berlin.de 06.08.1997 Introduction ============ This text describes the spline 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 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 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 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 informationCS 4621 PPA3: Animation
CS 4621 PPA3: Animation out: Saturday 19 November 2011 due: Friday 2 December 2011 1 Introduction There are two parts to this assignment. In the first part, you will complete the implementation of key
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 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 information2D and 3D Coordinate Systems and Transformations
Graphics & Visualization Chapter 3 2D and 3D Coordinate Systems and Transformations Graphics & Visualization: Principles & Algorithms Introduction In computer graphics is often necessary to change: the
More informationComputer Graphics. Chapter 5 Geometric Transformations. Somsak Walairacht, Computer Engineering, KMITL
Chapter 5 Geometric Transformations Somsak Walairacht, Computer Engineering, KMITL 1 Outline Basic Two-Dimensional Geometric Transformations Matrix Representations and Homogeneous Coordinates Inverse Transformations
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 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 informationUNIT 2 2D TRANSFORMATIONS
UNIT 2 2D TRANSFORMATIONS Introduction With the procedures for displaying output primitives and their attributes, we can create variety of pictures and graphs. In many applications, there is also a need
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 informationAnimation. Traditional Animation Keyframe Animation. Interpolating Rotation Forward/Inverse Kinematics
Animation Traditional Animation Keyframe Animation Interpolating Rotation Forward/Inverse Kinematics Overview Animation techniques Performance-based (motion capture) Traditional animation (frame-by-frame)
More informationLecture 9: Transformations. CITS3003 Graphics & Animation
Lecture 9: Transformations CITS33 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 212 Objectives Introduce standard transformations Rotation Translation Scaling
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 informationFreeform Curves on Spheres of Arbitrary Dimension
Freeform Curves on Spheres of Arbitrary Dimension Scott Schaefer and Ron Goldman Rice University 6100 Main St. Houston, TX 77005 sschaefe@rice.edu and rng@rice.edu Abstract Recursive evaluation procedures
More information6.837 Introduction to Computer Graphics Quiz 2 Thursday November 20, :40-4pm One hand-written sheet of notes allowed
6.837 Introduction to Computer Graphics Quiz 2 Thursday November 20, 2003 2:40-4pm One hand-written sheet of notes allowed Name: 1 2 3 4 5 6 7 / 4 / 15 / 5 / 5 / 12 / 2 / 7 Total / 50 1 Animation [ /4]
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 informationMathematics for real-time graphics
Mathematics for real-time graphics 2005-2018 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Math 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 65 Content homogeneous
More informationReading. Hierarchical Modeling. Symbols and instances. Required: Angel, sections , 9.8. Optional:
Reading Required: Angel, sections 9.1 9.6, 9.8 Optional: Hierarchical Modeling OpenGL rogramming Guide, the Red Book, chapter 3 cse457-07-hierarchical 1 cse457-07-hierarchical 2 Symbols and instances Most
More information2D TRANSFORMATIONS AND MATRICES
2D TRANSFORMATIONS AND MATRICES Representation of Points: 2 x 1 matrix: x y General Problem: B = T A T represents a generic operator to be applied to the points in A. T is the geometric transformation
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 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 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 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 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 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 informationECE 600, Dr. Farag, Summer 09
ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that
More informationSUMMARY. CS380: Introduction to Computer Graphics Track-/Arc-ball Chapter 8. Min H. Kim KAIST School of Computing 18/04/06.
8/4/6 CS38: Introduction to Computer Graphics Track-/Arc-ball Chapter 8 Min H. Kim KAIST School of Computing Quaternion SUMMARY 2 8/4/6 Unit norm quats. == rotations Squared norm is sum of 4 squares. Any
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 informationAnalysis of Euler Angles in a Simple Two-Axis Gimbals Set
Vol:5, No:9, 2 Analysis of Euler Angles in a Simple Two-Axis Gimbals Set Ma Myint Myint Aye International Science Index, Mechanical and Mechatronics Engineering Vol:5, No:9, 2 waset.org/publication/358
More informationAnimation. 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 informationCurves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville
Curves and Surfaces Shireen Elhabian and Aly A. Farag University of Louisville February 21 A smile is a curve that sets everything straight Phyllis Diller (American comedienne and actress, born 1917) Outline
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 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 informationComputer Graphics Geometric Transformations
Computer Graphics 2016 6. Geometric Transformations Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2016-10-31 Contents Transformations Homogeneous Co-ordinates Matrix Representations of Transformations
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 informationCentral issues in modelling
Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to
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 informationOverview. By end of the week:
Overview By end of the week: - Know the basics of git - Make sure we can all compile and run a C++/ OpenGL program - Understand the OpenGL rendering pipeline - Understand how matrices are used for geometric
More informationTemporal Face Normal Interpolation
Temporal Face Normal Interpolation Jindřich Parus Centre of Computer Graphics and Data Visualization, University of West Bohemia, Pilsen, Czech Republic Anders Hast Creative Media Lab, University of Gävle,
More informationChapter 2 - Basic Mathematics for 3D Computer Graphics
Chapter 2 - Basic Mathematics for 3D Computer Graphics Three-Dimensional Geometric Transformations Affine Transformations and Homogeneous Coordinates Combining Transformations Translation t + t Add a vector
More informationHomework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves
Computer Graphics Instructor: Brian Curless CSE 457 Spring 2013 Homework #2 Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves Assigned: Sunday, May 12 th Due: Thursday,
More information2D Image Transforms Computer Vision (Kris Kitani) Carnegie Mellon University
2D Image Transforms 16-385 Computer Vision (Kris Kitani) Carnegie Mellon University Extract features from an image what do we do next? Feature matching (object recognition, 3D reconstruction, augmented
More informationComputer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms
Chapter IV Spaces and Transforms Scaling 2D scaling with the scaling factors, s x and s y, which are independent. Examples When a polygon is scaled, all of its vertices are processed by the same scaling
More informationAnimating Transformations
Animating Transformations Connelly Barnes CS445: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Overview Rotations and
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 information3D Rotation: more than just a hobby
3D Rotation: more than just a hobby Eric Yang s special talent is the mental rotation of threedimensional objects. Mental rotation is Yang s hobby. I can see textures and imperfections and the play of
More informationComputer Graphics. 2.1 Mathematics
2 Computer Graphics What You Will Learn: The objectives of this chapter are quite ambitious; you should refer to the references cited in each Section to get a deeper explanation of the topics presented.
More informationSung-Eui Yoon ( 윤성의 )
CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and
More informationVector Calculus: Understanding the Cross Product
University of Babylon College of Engineering Mechanical Engineering Dept. Subject : Mathematics III Class : 2 nd year - first semester Date: / 10 / 2016 2016 \ 2017 Vector Calculus: Understanding the Cross
More informationComputer Graphics Curves and Surfaces. Matthias Teschner
Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves
More informationRetargetting Motion to New Characters. Project Report Xin LI
Retargetting Motion to New Characters Project Report Xin LI Recall that Motion retargetting is to adapt an animated motion from one character to another, independently of how the motion was created. Example
More informationIf the center of the sphere is the origin the the equation is. x y z 2ux 2vy 2wz d 0 -(2)
Sphere Definition: A sphere is the locus of a point which remains at a constant distance from a fixed point. The fixed point is called the centre and the constant distance is the radius of the sphere.
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 informationQuaternions. Ken Shoemake Department of Computer and Information Science University of Pennsylvania Philadelphia, PA 19104
Abstract Quaternions Ken Shoemake Department of Computer and Information Science University of Pennsylvania Philadelphia, PA 19104 Of the many mathematical tools used in computer graphics, most are well
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 informationGeometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation
Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation and the type of an object. Even simple scaling turns a
More informationSection III: TRANSFORMATIONS
Section III: TRANSFORMATIONS in 2-D 2D TRANSFORMATIONS AND MATRICES Representation of Points: 2 x 1 matrix: X Y General Problem: [B] = [T] [A] [T] represents a generic operator to be applied to the points
More informationEECS 487, Fall 2005 Exam 2
EECS 487, Fall 2005 Exam 2 December 21, 2005 This is a closed book exam. Notes are not permitted. Basic calculators are permitted, but not needed. Explain or show your work for each question. Name: uniqname:
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 information3D Computer Graphics. Jared Kirschner. November 8, 2010
3D Computer Graphics Jared Kirschner November 8, 2010 1 Abstract We are surrounded by graphical displays video games, cell phones, television sets, computer-aided design software, interactive touch screens,
More information