Why Transforms? Want to animate objects and camera Translations Rotations Shears And more.. Want to be able to use projection transforms
|
|
- Garry Mills
- 5 years ago
- Views:
Transcription
1 Why Transforms? Want to animate objects and camera Translations Rotations Shears And more.. Want to be able to use projection transforms ITCS 3050:Game Engine Programming 1 Geometric Transformations
2 Implementing Transformations We use affine (linear) transforms Why? Can be represented using matrices Can be composed to form complex transforms. Need to transform vertices only, and use (fast) scanconversion for rasterization. Can do a lot (not everything) with matrices Use 3 3 and 4 4 matrices ITCS 3050:Game Engine Programming 2 Geometric Transformations
3 Affine Transform: Definition Point P (P x, P y, P z ) is transformed into Q(Q x, Q y, Q z ) as follows: Q x Q y = ap x + dp y + gp z + T x = bp x + ep y + hp z + T y Q z = cp x + fp y + kp z + T z Q x Q y = a d g b e h P x P y + T x T y Q z c f k P z T z Q = M P + T ITCS 3050:Game Engine Programming 3 Geometric Transformations
4 Primitive Transformations: Translation Q = M P + T M = T = Q x = Q y Q z = I T x T y T z P x + T x P y + T y P z + T z (Identity) Note: Translation does not fit within a 3 3 matrix representation! ITCS 3050:Game Engine Programming 4 Geometric Transformations
5 Primitive Transformations: Scale M = Q x = Q y Q z S x S y 0, T = [ ] 0 0 S z P xs x P y S y P z S z S x = S y = S z : Uniform Scaling Else, Differential Scaling ITCS 3050:Game Engine Programming 5 Geometric Transformations
6 Primitive Transformations:Rotation M z = cosθ sinθ 0 Sinθ Cosθ 0 T = [ ] Q = M z P + T = P x Cosθ P y Sinθ = P x Sinθ + P y Cosθ Q x Q y Q z = P z Y Q y Q P y O θ R φ Exercise: Derive the above 2D rotation matrix. ITCS 3050:Game Engine Programming 6 Geometric Transformations R Q x P x P X
7 Example: Transforming a Circle Assume a circle with origin at (0,0,0) and unit radius gltranslatef(8,0,0); RenderCircle(); gltranslatef(3,2,0); glscalef(2,2,2); RenderCircle(); Y gltranslatef(3,2,0) glscalef (2,2,2) gltranslatef (8,0,0) X ITCS 3050:Game Engine Programming 7 Geometric Transformations
8 Homogeneous Coordinate Representation Motivation Translation: Q = P + T (Tx, T y, T z ) Rotation: Scale: Q = R(θ) P Q = S(Sx, S y, S z ) P Translation involves a vector addition instead of a vector-matrix multiplication. Better if all transforms use vector-matrix multiply. ITCS 3050:Game Engine Programming 8 Geometric Transformations
9 Example: Homogeneous Coordinates in 2D Add a third coordinate w: P 2d = (x, y) = P H = (x, y, w) To convert from P H to P 2D, project to w = 1 (divide by w coordinate and discard the 3rd coordinate). w = 0 represents points at infinity. W P (x, y, w) W = 1 Plane (x/w, y/w,1) X Y ITCS 3050:Game Engine Programming 9 Geometric Transformations
10 Homogeneous Form: Translation T H (T x, T y, T z ) = T x T y T z Thus T x T y T z P x P y P z 1 = P x + T x P y + T y P z + T z 1 ITCS 3050:Game Engine Programming 10 Geometric Transformations
11 Homogeneous Form: Scale S x S S H (S x, S y, S z ) = y S z ITCS 3050:Game Engine Programming 11 Geometric Transformations
12 Homogeneous Form: Rotations Rotation about X, Y, Z R z (θ) = R x (θ) = R y (θ) = Cosθ Sinθ 0 0 Sinθ Cosθ Cosθ Sinθ 0 0 Sinθ Cosθ Cosθ 0 Sinθ Sinθ 0 Cosθ ITCS 3050:Game Engine Programming 12 Geometric Transformations
13 Shear Transform 2D: Y X X Shear (h > 0) (Q x Q y ) = (P x + hp y, gp x + P y ) = [ ] [ ] 1 h Px g 1 P y 3D: M sh = 1 h yx h zx 0 h xy 1 h zy 0 h xz h yz where h xy = shear along Y axis due to X, etc. ITCS 3050:Game Engine Programming 13 Geometric Transformations
14 Reflection Transform 2D: M y = [ ] 1 0, M 0 1 x = [ ] B Y B A A C C X 3D: (Reflection about a plane) M z = ITCS 3050:Game Engine Programming 14 Geometric Transformations
15 Affine Transform Inverses T 1 (T x, T y, T z ) = T ( T x, T y, T z ) S 1 (S x, S y, S z ) = S(1/S x, 1/S y, 1/S z ) R 1 z (θ) = R T = Cosθ Sinθ 0 0 Sinθ Cosθ In general, MM 1 = M 1 M = I ITCS 3050:Game Engine Programming 15 Geometric Transformations
16 Transformation About a Reference Point Y x y z r r r Y M X X Translate (x r, y r, z r ) to the origin. Transform. Invert translation M = T (x r, y r, z r ).S(S x, S y, S z ).T ( x r, y r, z r ) For rotation about a point, replace scale by a rotation transform. ITCS 3050:Game Engine Programming 16 Geometric Transformations
17 Composing Affine Transforms If M 1, M 2,..., M n are affine transforms to be applied in succession to a point P. Q = (M n.(m n 1...(M 2.(M 1.P )...) = (M n.m n 1...M 3.M 2.M 1 )P For transforming large numbers of points, the matrix product (M 1.M 2.M 3...M n 1.M n ) needs to be performed only once. Y Y M comp X X M comp = T (T x, T y, T z ).S(S x, S y, S z ).R(θ).T ( T x, T y ) ITCS 3050:Game Engine Programming 17 Geometric Transformations
18 Transforming Direction Vectors Motivation: Need to transform (vertex) normals, light direction Matrices used to transform points, lines cannot be used to transform direction vectors. Must use the transpose of the inverse of geometry transforming matrices. Translations do not affect normals, and rotations are orthogonal (R 1 = R T ) N = (M 1 ) T Y Original Y Incorrect Y Correct poly normal 0 X X X Scale by 0.5 along X ITCS 3050:Game Engine Programming 18 Geometric Transformations
19 The Euler Transform Euler Transform : a means to describe orientations Given a view down the negative Z axis, with up in the Y and X to the right, E(h, p, r) = R z (r)r x (p)r y (h) with (h, p, r) referring to the head, pitch, roll angles, and E 1 = E T ITCS 3050:Game Engine Programming 19 Geometric Transformations
20 The Euler Transform (contd) Gimbal lock, the loss of a degree of freedom may occur. For instance, h = 0, p = π/2radians, cos(r + h) 0 sin(r + h) E(h, π/2, r) = sin(r + h) 0 cos(r + h) 010 which is a function of only one angle. Useful to extract the Euler angles from a composite rotation matrix, F = f 00 f 01 f 02 f 10 f 11 f 12 = R z (r)r x (p)r y (h) f 20 f 21 f 22 Expand RHS and solve (details, Section 3.2.2) ITCS 3050:Game Engine Programming 20 Geometric Transformations
21 Quaternions Invented by Sir William Rowan Hamilton in 1843 Extension of complex numbers Introduced to computer graphics by Ken Shoemake in 1985 A compact, efficient means to representing and interpolating orientations. Superior to both Euler angles and matrices, especially for rotations. ITCS 3050:Game Engine Programming 21 Geometric Transformations
22 Quaternions: Definitions A quaternion ˆq has 4 components, ˆq = (q v, q w ) = iq x + jq y + kq z + q w = q v + q w i 2 = j 2 = k 2 = 1, jk = kj = i, ki = ik = j, ij = ji = k q w is the real part, and q v the imaginary part. All normal vector operations (addition, scale, dot and cross produces) can be performed on q v. Multiplication: ˆqˆr = (iq x + jq y + kq z + q w )(ir x + jr y + kr z + r w ) = (q v r v + r w q v + q w r v, q w r w q v r v ) ITCS 3050:Game Engine Programming 22 Geometric Transformations
23 Quaternions: Definitions (contd) Addition: ˆq + ˆr = (q v + r v, q w + r w ) Conjugate:ˆq = (q v, q w ) = ( q v, q w ) Norm: n(ˆq) = ˆqˆq = ˆq ˆq = q v q v + q 2 w = q 2 x + q 2 y + q 2 z + q 2 w Identity: î = (0, 1) Multiplicative Inverse: n(ˆq) 2 = ˆqˆq ˆqˆq n(ˆq) = 1 2 ˆq 1 1 = n(ˆq) 2 ˆq Other Properties: Conjugate, Norm rules, Linearity, Associativity, log, power. ITCS 3050:Game Engine Programming 23 Geometric Transformations
24 Unit Quaternions A quarternion ˆq, with n(ˆq) = 1. ˆq can be written as ˆq = (sinφu q, cosφ) = sinφu q + cosφ Given u q = 1, n(ˆq) = sin 2 φ(u q u q ) + cos 2 φ = 1 Quaternions are perfect for creating rotations and orientations. ITCS 3050:Game Engine Programming 24 Geometric Transformations
25 Rotation About Axis Unit quaternions can represent any 3D rotation Very compact, efficient rotation To rotate p about u q, put p = (p x p y p z p w ) T into a unit quaternion, sinφu q, cosφ Result: ˆq ˆpˆq 1 rotates ˆp around u q by the angle 2φ radians Note: q 1 = ˆq. ITCS 3050:Game Engine Programming 25 Geometric Transformations
26 Rotation About Axis: Traditional Method Goal: To rotate the vector r by θ about n, Rr = R(θ, n) θ r R r V r θ V r Rr r r n n Decompose r into r and r, parallel and perpendicular to n r r = (n r)n = r (n r)n ITCS 3050:Game Engine Programming 26 Geometric Transformations
27 Rotation About Axis: Traditional Method θ r R r V r θ V r Rr r r n n Determine Rr by computing V, orthogonal to r and n: Thus, V = n r Rr = (cosθ)r + (sinθ)v ITCS 3050:Game Engine Programming 27 Geometric Transformations
28 Rotation About Axis: Traditional Method θ r R r V r θ V r Rr r r n n Thus Rr = Rr + Rr = Rr + (cosθ)r + (sinθ)v = (n r)n + cosθ(r (n r)n) + (sinθ)n r = (cosθ)r + (1 cosθ)n(n r) + (sinθ)n r ITCS 3050:Game Engine Programming 28 Geometric Transformations
29 Rotation Using Quaternions T he same rotation, Rr = R(2θ, n) can be performed using the (unit) quaternion product ˆq ˆpˆq 1 Assume ˆq = (q v, q w ) ˆq is a unit quarternion ˆq = (sinθn, cosθ), n = 1 Compute the product ˆq ˆpˆq 1. Can be shown to be ˆq ˆpˆq 1 = (q 2 w v v)r + 2v(v r) + 2s(v r, 0) = (cos 2 θ sin 2 θ)r + 2sin 2 θn(n r) + 2cosθsinθ(n r)) = (rcos2θ + (1 cos2θ)n(n r) + sin2θ(n r), 0) ITCS 3050:Game Engine Programming 29 Geometric Transformations
30 Derivation: ˆq ˆpˆq 1 Given Compute pq 1 : Remember p = (0, r) q = (s, v) q 1 = ˆq = (s, v) ˆp(s, v)ˆq(s, v ) = s 2 vv, v v + sv + s v Thus, pq 1 = (0, r)(s, v) = (0 + r v), r ( v) + s.r ITCS 3050:Game Engine Programming 30 Geometric Transformations
31 Derivation: ˆq ˆpˆq 1 (contd) Compute q(pq 1 ): q(pq 1 ) = (s, v)(r v, r ( v) + sr) = (s(r v) v ( r v) s(v r)), (v ( r v)) + s(v r) + s( r v) + s 2 r + (r v) v = (0, (v v) ( r) + (v r) v + s(v r) + s( r v) + s 2 r + (r v) v = (s 2 v v)r + 2s(v r) + 2(v r)v For unit quaternions, s = cosθ, v = nsinθ, thus q(pq 1 ) = (cos 2 θ sin 2 θ)r + 2nsinθ(rnsinθ) + 2cosθ(nsinθ r) = rcos(2θ) + n(1 cos(2θ)) + sin(2θ)(n v) Identical to the traditional method, except for a factor of 2, easily adjusted by redefining q = (nsin θ 2, cosθ 2 ) ITCS 3050:Game Engine Programming 31 Geometric Transformations
32 Traditional Rotation vs Quaternion Rotation: Summary Expression obtained using traditional method: Rr = (cosθ)r + (1 cosθ)n(n r) + (sinθ)n r Expression obtained using quaternion rotation: Rr = (rcos(2θ)r + (1 cos(2θ))n(n r) + sin(2θ)(n r)) ITCS 3050:Game Engine Programming 32 Geometric Transformations
33 Quaternions in Matrix Form M q = 1 s(qy 2 + qz) 2 s(q x q y q w q z ) s(q x q z + q w q y ) 0 s(q x q y + q w q z ) 1 s(qx 2 + qz) 2 s(q y q z q w q x ) 0 s(q x q z q w q y ) s(q y q z + q w q x ) 1 s(qx 2 + qy) For unit quaternions, s = 2/n(ˆq), 1 2(qy 2 + qz) 2 2(q x q y q w q z ) 2(q x q z + q w q y ) 0 M q = 2(q x q y + q w q z ) 1 2(qx 2 + qz) 2 2(q y q z q w q x ) 0 2(q x q z q w q y ) 2(q y q z + q w q x ) 1 2(qx 2 + qy) ITCS 3050:Game Engine Programming 33 Geometric Transformations
34 Rotation from One Vector to Another To rotate from vector s to vector t Method: Normalize s and t. Compute unit rotation axis, u = s t s t e = s t = cos(2θ), s t = sin(2θ), 2φ, the angle between the vectors Quaternion ˆq = (sinφu, cosφ) With optimizations (refer text) e + hv 2 x hv x v y v z hv x v z + v y 0 hv R(s, t) = x v y + v z e + hvy 2 hv y v z v x 0 hv x v z v y hv y v z + v x e + hvz where h = 1 1 e ITCS 3050:Game Engine Programming 34 Geometric Transformations
35 Spherical Linear Interpolation Smooth interpolation of quaternions, from ˆq to ˆr. Useful in animating objects This is done by the following: ŝ(ˆq, ˆr, t) = (ˆrˆq 1 ) tˆq, Algebraic Form sin(φ(1 t)) ŝ(ˆq, ˆr, t) = slerp(ˆq, ˆr, t) = sinφ ˆq + sin(φt) sinφ ˆr The second form is more useful, effectively interpolating over a 4D sphere at fixed constant speed (geodesic interpolation). ITCS 3050:Game Engine Programming 35 Geometric Transformations
36 Application: Camera Positioning and Orientation Given camera positioned at (0, 0, 0) T and looking down v = (0, 0, 1) T Goal: To move lookat direction to w and move camera to a new position p Accomplished by X = T(p)R(v, w) Usually, will need to rotate the camera up direction to something more desirable. ITCS 3050:Game Engine Programming 36 Geometric Transformations
37 Rotation about an Arbitrary Axis s y r x M s y r M T x s y r x z t z t z t Sometimes, useful to rotate about an arbitrary axis, r Need two additional axes to form a basis, then change bases. Change from standard basis to new basis, rotate by given angle, and transform back ITCS 3050:Game Engine Programming 37 Geometric Transformations
38 Rotation about an Arbitrary Axis:Methodology Find orthonormal axes of basis: Determining s: Set smallest component of r to zero, swap the remaining two terms and negate the first, (0, r x, r y ) r x < r z, r x < r z s = ( r z, 0, r x ) r y < r x, r y < r z ( r y, r x, 0) r z < r x, r z < r y s = s/ s t = r s Rotation to standard basis: M = Final Transform: X = M T R x (α)m rt s T t T ITCS 3050:Game Engine Programming 38 Geometric Transformations
Quaternions. R. J. Renka 11/09/2015. Department of Computer Science & Engineering University of North Texas. R. J.
Quaternions R. J. Renka Department of Computer Science & Engineering University of North Texas 11/09/2015 Definition A quaternion is an element of R 4 with three operations: addition, scalar multiplication,
More informationCourse 2BA1: Hilary Term 2007 Section 8: Quaternions and Rotations
Course BA1: Hilary Term 007 Section 8: Quaternions and Rotations David R. Wilkins Copyright c David R. Wilkins 005 Contents 8 Quaternions and Rotations 1 8.1 Quaternions............................ 1 8.
More informationClosed-Form Solution Of Absolute Orientation Using Unit Quaternions
Closed-Form Solution Of Absolute Orientation Using Unit Berthold K. P. Horn Department of Computer and Information Sciences November 11, 2004 Outline 1 Introduction 2 3 The Problem Given: two sets of corresponding
More informationIntroduction to quaternions
. Introduction Introduction to uaternions Invented and developed by William Hamilton in 843, uaternions are essentially a generalization of complex numbers to four dimensions (one real dimension, three
More informationUnderstanding Quaternions: Rotations, Reflections, and Perspective Projections. Ron Goldman Department of Computer Science Rice University
Understanding Quaternions: Rotations, Reflections, and Perspective Projections Ron Goldman Department of Computer Science Rice University The invention of the calculus of quaternions is a step towards
More informationsin(α + θ) = sin α cos θ + cos α sin θ cos(α + θ) = cos α cos θ sin α sin θ
Rotations in the 2D Plane Trigonometric addition formulas: sin(α + θ) = sin α cos θ + cos α sin θ cos(α + θ) = cos α cos θ sin α sin θ Rotate coordinates by angle θ: 1. Start with x = r cos α y = r sin
More informationON A NEW SPECIES OF IMAGINARY QUANTITIES CONNECTED WITH A THEORY OF QUATERNIONS. William Rowan Hamilton
ON A NEW SPECIES OF IMAGINARY QUANTITIES CONNECTED WITH A THEORY OF QUATERNIONS By William Rowan Hamilton (Proceedings of the Royal Irish Academy, 2 (1844), 424 434.) Edited by David R. Wilkins 1999 On
More informationCOMP 175 COMPUTER GRAPHICS. Lecture 04: Transform 1. COMP 175: Computer Graphics February 9, Erik Anderson 04 Transform 1
Lecture 04: Transform COMP 75: Computer Graphics February 9, 206 /59 Admin Sign up via email/piazza for your in-person grading Anderson@cs.tufts.edu 2/59 Geometric Transform Apply transforms to a hierarchy
More informationarxiv: v1 [math.ds] 18 Nov 2008
arxiv:0811.2889v1 [math.ds] 18 Nov 2008 Abstract Quaternions And Dynamics Basile Graf basile.graf@epfl.ch February, 2007 We give a simple and self contained introduction to quaternions and their practical
More informationQuaternions 2 AUI Course Denbigh Starkey
Quaternions 2 AUI Course Denbigh Starkey 1. Background 2 2. Some Basic Quaternion Math 4 3. The Justification of the Quaternion Rotation Formula 5 4. Interpolation between two Unit Quaternions SLERP vs.
More informationCourse MA2C02, Hilary Term 2010 Section 4: Vectors and Quaternions
Course MA2C02, Hilary Term 2010 Section 4: Vectors and Quaternions David R. Wilkins Copyright c David R. Wilkins 2000 2010 Contents 4 Vectors and Quaternions 47 4.1 Vectors...............................
More informationLecture 7. Quaternions
Matthew T. Mason Mechanics of Manipulation Spring 2012 Today s outline Motivation Motivation have nice geometrical interpretation. have advantages in representing rotation. are cool. Even if you don t
More informationUNIT III. CS1117 VIRTUAL REALITY 7 th SEM CSE
UNIT III CS1117 VIRTUAL REALITY 7 th SEM CSE VIRTUAL ENVIRONMENT The Dynamics of Numbers Numerical Interpolation Linear Interpolation Non-Linear Interpolation The Animation of Objects Linear Translation
More informationQuaternions and their applications
Quaternions and their applications Ramachandran Subramanian February 20, 2014 Jack B. Kuipers. Quaternions and Rotation Sequences. university press, New Jersey, 1998 Princeton Outline 1 Background 2 Introduction
More informationEXERCISES ON DETERMINANTS, EIGENVALUES AND EIGENVECTORS. 1. Determinants
EXERCISES ON DETERMINANTS, EIGENVALUES AND EIGENVECTORS. Determinants Ex... Let A = 0 4 4 2 0 and B = 0 3 0. (a) Compute 0 0 0 0 A. (b) Compute det(2a 2 B), det(4a + B), det(2(a 3 B 2 )). 0 t Ex..2. For
More informationThe VQM-Group and its Applications
International Journal of Algebra, Vol. 2, 2008, no. 19, 905-918 The VQM-Group and its Applications Michael Aristidou Digipen Institute of Technology Department of Mathematics 5001, 150th Ave., NE Redmond,
More informationNotes on multivariable calculus
Notes on multivariable calculus Jonathan Wise February 2, 2010 1 Review of trigonometry Trigonometry is essentially the study of the relationship between polar coordinates and Cartesian coordinates in
More informationWeek Quadratic forms. Principal axes theorem. Text reference: this material corresponds to parts of sections 5.5, 8.2,
Math 051 W008 Margo Kondratieva Week 10-11 Quadratic forms Principal axes theorem Text reference: this material corresponds to parts of sections 55, 8, 83 89 Section 41 Motivation and introduction Consider
More informationQuaternions. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Quaternions Semester 1, / 40
Quaternions Basilio Bona DAUIN Politecnico di Torino Semester 1, 2016-2017 B. Bona (DAUIN) Quaternions Semester 1, 2016-2017 1 / 40 Introduction Complex numbers with unit norm can be used as rotation operators
More informationTHE DIFFERENTIAL GEOMETRY OF PARAMETRIC PRIMITIVES
THE DIFFERENTIAL GEOMETRY OF PARAMETRIC PRIMITIVES Ken Turkowski Media Technologies: Graphics Software Advanced Technology Group Apple Computer, Inc. (Draft Friday, May 18, 1990) Abstract: We derive the
More informationBe fruitful and multiply Genesis 1:28
Chapter 15: Quaternions: Multiplication in the Space of Mass-Points Be fruitful and multiply Genesis 1:8 1. Vector Spaces and Division Algebras The space of mass-points is a 4-dimensional vector space:
More informationAppendix Composite Point Rotation Sequences
Appendix Composite Point Rotation Sequences A. Euler Rotations In Chap. 6 we considered composite Euler rotations comprising individual rotations about the x, y and z axes such as R γ,x R β,y R α,z and
More informationQUATERNIONS AND ROTATIONS
QUATERNIONS AND ROTATIONS SVANTE JANSON 1. Introduction The purpose of this note is to show some well-known relations between quaternions and the Lie groups SO(3) and SO(4) (rotations in R 3 and R 4 )
More informationMCE/EEC 647/747: Robot Dynamics and Control. Lecture 2: Rigid Motions and Homogeneous Transformations
MCE/EEC 647/747: Robot Dynamics and Control Lecture 2: Rigid Motions and Homogeneous Transformations Reading: SHV Chapter 2 Mechanical Engineering Hanz Richter, PhD MCE503 p.1/22 Representing Points, Vectors
More informationCHAPTER 4 Stress Transformation
CHAPTER 4 Stress Transformation ANALYSIS OF STRESS For this topic, the stresses to be considered are not on the perpendicular and parallel planes only but also on other inclined planes. A P a a b b P z
More informationECS 178 Course Notes QUATERNIONS
ECS 178 Course Notes QUATERNIONS Kenneth I. Joy Institute for Data Analysis and Visualization Department of Computer Science University of California, Davis Overview The quaternion number system was discovered
More information( ) ( ) ( ) ( ) TNM046: Datorgrafik. Transformations. Linear Algebra. Linear Algebra. Sasan Gooran VT Transposition. Scalar (dot) product:
TNM046: Datorgrafik Transformations Sasan Gooran VT 04 Linear Algebra ( ) ( ) =,, 3 =,, 3 Transposition t = 3 t = 3 Scalar (dot) product: Length (Norm): = t = + + 3 3 = = + + 3 Normaliation: ˆ = Linear
More informationCSE 167: Introduction to Computer Graphics Lecture #2: Linear Algebra Primer
CSE 167: Introduction to Computer Graphics Lecture #2: Linear Algebra Primer Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Monday October 3: Discussion Assignment
More informationLesson Rigid Body Dynamics
Lesson 8 Rigid Body Dynamics Lesson 8 Outline Problem definition and motivations Dynamics of rigid bodies The equation of unconstrained motion (ODE) User and time control Demos / tools / libs Rigid Body
More informationBe fruitful and multiply Genesis 1:28
Lecture 15: Quaternions: Multiplication in the Space of Mass-Points Be fruitful and multiply Genesis 1:8 15.1 Vector Spaces and Division Algebras The space of mass-points is a 4-dimensional vector space:
More informationChapter 8. Rigid transformations
Chapter 8. Rigid transformations We are about to start drawing figures in 3D. There are no built-in routines for this purpose in PostScript, and we shall have to start more or less from scratch in extending
More informationLinear Algebra: Matrix Eigenvalue Problems
CHAPTER8 Linear Algebra: Matrix Eigenvalue Problems Chapter 8 p1 A matrix eigenvalue problem considers the vector equation (1) Ax = λx. 8.0 Linear Algebra: Matrix Eigenvalue Problems Here A is a given
More informationInterpolation of Rigid Motions in 3D
Interpolation of Rigid Motions in 3D David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License.
More informationCSE 167: Introduction to Computer Graphics Lecture #2: Linear Algebra Primer
CSE 167: Introduction to Computer Graphics Lecture #2: Linear Algebra Primer Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016 Announcements Project 1 due next Friday at
More information8 Velocity Kinematics
8 Velocity Kinematics Velocity analysis of a robot is divided into forward and inverse velocity kinematics. Having the time rate of joint variables and determination of the Cartesian velocity of end-effector
More informationMathematics for 3D Graphics
math 1 Topics Mathematics for 3D Graphics math 1 Points, Vectors, Vertices, Coordinates Dot Products, Cross Products Lines, Planes, Intercepts References Many texts cover the linear algebra used for 3D
More informationFFTs in Graphics and Vision. Homogenous Polynomials and Irreducible Representations
FFTs in Graphics and Vision Homogenous Polynomials and Irreducible Representations 1 Outline The 2π Term in Assignment 1 Homogenous Polynomials Representations of Functions on the Unit-Circle Sub-Representations
More informationGroup, Rings, and Fields Rahul Pandharipande. I. Sets Let S be a set. The Cartesian product S S is the set of ordered pairs of elements of S,
Group, Rings, and Fields Rahul Pandharipande I. Sets Let S be a set. The Cartesian product S S is the set of ordered pairs of elements of S, A binary operation φ is a function, S S = {(x, y) x, y S}. φ
More information5. Introduction to Euclid s Geometry
5. Introduction to Euclid s Geometry Multiple Choice Questions CBSE TREND SETTER PAPER _ 0 EXERCISE 5.. If the point P lies in between M and N and C is mid-point of MP, then : (A) MC + PN = MN (B) MP +
More informationMathematical Fundamentals
Mathematical Fundamentals Ming-Hwa Wang, Ph.D. COEN 148/290 Computer Graphics COEN 166/366 Artificial Intelligence COEN 396 Interactive Multimedia and Game Programming Department of Computer Engineering
More informationPosition and orientation of rigid bodies
Robotics 1 Position and orientation of rigid bodies Prof. Alessandro De Luca Robotics 1 1 Position and orientation right-handed orthogonal Reference Frames RF A A p AB B RF B rigid body position: A p AB
More informationQuaternion Algebra and Calculus
Quaternion Algebra and Calculus David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To
More informationComplex Numbers and Quaternions for Calc III
Complex Numbers and Quaternions for Calc III Taylor Dupuy September, 009 Contents 1 Introduction 1 Two Ways of Looking at Complex Numbers 1 3 Geometry of Complex Numbers 4 Quaternions 5 4.1 Connection
More information:25 1. Rotations. A rotation is in general a transformation of the 3D space with the following properties:
2011-02-17 12:25 1 1 Rotations in general Rotations A rotation is in general a transformation of the 3D space with the following properties: 1. does not change the distances between positions 2. does not
More informationTransformations. Chapter D Transformations Translation
Chapter 4 Transformations Transformations between arbitrary vector spaces, especially linear transformations, are usually studied in a linear algebra class. Here, we focus our attention to transformation
More informationStress, Strain, Mohr s Circle
Stress, Strain, Mohr s Circle The fundamental quantities in solid mechanics are stresses and strains. In accordance with the continuum mechanics assumption, the molecular structure of materials is neglected
More informationExercise. Exercise 1.1. MA112 Section : Prepared by Dr.Archara Pacheenburawana 1
MA112 Section 750001: Prepared by Dr.Archara Pacheenburawana 1 Exercise Exercise 1.1 1 8 Find the vertex, focus, and directrix of the parabola and sketch its graph. 1. x = 2y 2 2. 4y +x 2 = 0 3. 4x 2 =
More informationUnderstanding Quaternions. Ron Goldman Department of Computer Science Rice University
Understanding Quaternions Ron Goldman Department of Computer Science Rice University The invention of the calculus of quaternions is a step towards the knowledge of quantities related to space which can
More informationLecture 13: Matrix Representations for Affine and Projective Transformations
Lecture 13: Matrix Representations for Affine and Projective Transformations thou shalt set apart unto the LORD all that openeth the matrix Exodus 13:12 1 Matrix Representations for Affine Transformations
More informationAssignment 10. Arfken Show that Stirling s formula is an asymptotic expansion. The remainder term is. B 2n 2n(2n 1) x1 2n.
Assignment Arfken 5.. Show that Stirling s formula is an asymptotic expansion. The remainder term is R N (x nn+ for some N. The condition for an asymptotic series, lim x xn R N lim x nn+ B n n(n x n B
More informationRidig Body Motion Homogeneous Transformations
Ridig Body Motion Homogeneous Transformations Claudio Melchiorri Dipartimento di Elettronica, Informatica e Sistemistica (DEIS) Università di Bologna email: claudio.melchiorri@unibo.it C. Melchiorri (DEIS)
More informationPhysically Based Rendering ( ) Geometry and Transformations
Phsicall Based Rendering (6.657) Geometr and Transformations 3D Point Specifies a location Origin 3D Point Specifies a location Represented b three coordinates Infinitel small class Point3D { public: Coordinate
More informationCS 246 Review of Linear Algebra 01/17/19
1 Linear algebra In this section we will discuss vectors and matrices. We denote the (i, j)th entry of a matrix A as A ij, and the ith entry of a vector as v i. 1.1 Vectors and vector operations A vector
More information4.3 Equations in 3-space
4.3 Equations in 3-space istance can be used to define functions from a 3-space R 3 to the line R. Let P be a fixed point in the 3-space R 3 (say, with coordinates P (2, 5, 7)). Consider a function f :
More informationRobotics - Homogeneous coordinates and transformations. Simone Ceriani
Robotics - Homogeneous coordinates and transformations Simone Ceriani ceriani@elet.polimi.it Dipartimento di Elettronica e Informazione Politecnico di Milano 5 March 0 /49 Outline Introduction D space
More informationwe must pay attention to the role of the coordinate system w.r.t. which we perform a tform
linear SO... we will want to represent the geometr of points in space we will often want to perform (rigid) transformations to these objects to position them translate rotate or move them in an animation
More informationPHYS 705: Classical Mechanics. Rigid Body Motion Introduction + Math Review
1 PHYS 705: Classical Mechanics Rigid Body Motion Introduction + Math Review 2 How to describe a rigid body? Rigid Body - a system of point particles fixed in space i r ij j subject to a holonomic constraint:
More information3. Interpret the graph of x = 1 in the contexts of (a) a number line (b) 2-space (c) 3-space
MA2: Prepared by Dr. Archara Pacheenburawana Exercise Chapter 3 Exercise 3.. A cube of side 4 has its geometric center at the origin and its faces parallel to the coordinate planes. Sketch the cube and
More informationMATH PROBLEM SET 6
MATH 431-2018 PROBLEM SET 6 DECEMBER 2, 2018 DUE TUESDAY 11 DECEMBER 2018 1. Rotations and quaternions Consider the line l through p 0 := (1, 0, 0) and parallel to the vector v := 1 1, 1 that is, defined
More informationoenofc : COXT&IBCTOEU. AU skaacst sftwer thsa4 aafcekr will be ehat«s«ai Bi. C. W. JUBSSOS. PERFECT THBOUGH SDFFEBISG. our
x V - --- < x x 35 V? 3?/ -V 3 - ) - - [ Z8 - & Z - - - - - x 0-35 - 3 75 3 33 09 33 5 \ - - 300 0 ( -? 9 { - - - -- - < - V 3 < < - - Z 7 - z 3 - [ } & _ 3 < 3 ( 5 7< ( % --- /? - / 4-4 - & - % 4 V 2
More informationAlgebra I Fall 2007
MIT OpenCourseWare http://ocw.mit.edu 18.701 Algebra I Fall 007 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.701 007 Geometry of the Special Unitary
More informationGeometric Fundamentals in Robotics Quaternions
Geometric Fundamentals in Robotics Quaternions Basilio Bona DAUIN-Politecnico di Torino July 2009 Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 1 / 47 Introduction Quaternions were discovered
More informationGeometry of the Special Unitary Group
Geometry of the Special Unitary Group The elements of SU 2 are the unitary 2 2 matrices with determinant 1. It is not hard to see that they have the form a 1) ) b, b ā with āa+bb = 1. This is the transpose
More informationCS123 INTRODUCTION TO COMPUTER GRAPHICS. Linear Algebra /34
Linear Algebra /34 Vectors A vector is a magnitude and a direction Magnitude = v Direction Also known as norm, length Represented by unit vectors (vectors with a length of 1 that point along distinct axes)
More informationLecture 4: Affine Transformations. for Satan himself is transformed into an angel of light. 2 Corinthians 11:14
Lecture 4: Affine Transformations for Satan himself is transformed into an angel of light. 2 Corinthians 11:14 1. Transformations Transformations are the lifeblood of geometry. Euclidean geometry is based
More informationProperties of the stress tensor
Appendix C Properties of the stress tensor Some of the basic properties of the stress tensor and traction vector are reviewed in the following. C.1 The traction vector Let us assume that the state of stress
More informationReview of Coordinate Systems
Vector in 2 R and 3 R Review of Coordinate Systems Used to describe the position of a point in space Common coordinate systems are: Cartesian Polar Cartesian Coordinate System Also called rectangular coordinate
More information11 a 12 a 13 a 21 a 22 a b 12 b 13 b 21 b 22 b b 11 a 12 + b 12 a 13 + b 13 a 21 + b 21 a 22 + b 22 a 23 + b 23
Chapter 2 (3 3) Matrices The methods used described in the previous chapter for solving sets of linear equations are equally applicable to 3 3 matrices. The algebra becomes more drawn out for larger matrices,
More informationMultiple Choice. Compute the Jacobian, (u, v), of the coordinate transformation x = u2 v 4, y = uv. (a) 2u 2 + 4v 4 (b) xu yv (c) 3u 2 + 7v 6
.(5pts) y = uv. ompute the Jacobian, Multiple hoice (x, y) (u, v), of the coordinate transformation x = u v 4, (a) u + 4v 4 (b) xu yv (c) u + 7v 6 (d) u (e) u v uv 4 Solution. u v 4v u = u + 4v 4..(5pts)
More informationGroup Theory: Math30038, Sheet 6
Group Theory: Math30038, Sheet 6 Solutions GCS 1. Consider the group D ofrigidsymmetriesofaregularn-gon (which may be turned over). Prove that this group has order 2n, is non-abelian, can be generated
More informationLinear Algebra Massoud Malek
CSUEB Linear Algebra Massoud Malek Inner Product and Normed Space In all that follows, the n n identity matrix is denoted by I n, the n n zero matrix by Z n, and the zero vector by θ n An inner product
More information(arrows denote positive direction)
12 Chapter 12 12.1 3-dimensional Coordinate System The 3-dimensional coordinate system we use are coordinates on R 3. The coordinate is presented as a triple of numbers: (a,b,c). In the Cartesian coordinate
More information1 Overview. CS348a: Computer Graphics Handout #8 Geometric Modeling Original Handout #8 Stanford University Thursday, 15 October 1992
CS348a: Computer Graphics Handout #8 Geometric Modeling Original Handout #8 Stanford University Thursday, 15 October 1992 Original Lecture #1: 1 October 1992 Topics: Affine vs. Projective Geometries Scribe:
More informationLie Algebra of Unit Tangent Bundle in Minkowski 3-Space
INTERNATIONAL ELECTRONIC JOURNAL OF GEOMETRY VOLUME 12 NO. 1 PAGE 1 (2019) Lie Algebra of Unit Tangent Bundle in Minkowski 3-Space Murat Bekar (Communicated by Levent Kula ) ABSTRACT In this paper, a one-to-one
More informationTIEA311 Tietokonegrafiikan perusteet kevät 2018
TIEA311 Tietokonegrafiikan perusteet kevät 2018 ( Principles of Computer Graphics Spring 2018) Copyright and Fair Use Notice: The lecture videos of this course are made available for registered students
More informationBSc (Hons) in Computer Games Development. vi Calculate the components a, b and c of a non-zero vector that is orthogonal to
1 APPLIED MATHEMATICS INSTRUCTIONS Full marks will be awarded for the correct solutions to ANY FIVE QUESTIONS. This paper will be marked out of a TOTAL MAXIMUM MARK OF 100. Credit will be given for clearly
More informationUseful Formulae ( )
Appendix A Useful Formulae (985-989-993-) 34 Jeremić et al. A.. CHAPTER SUMMARY AND HIGHLIGHTS page: 35 of 536 A. Chapter Summary and Highlights A. Stress and Strain This section reviews small deformation
More informationTransformation Matrices; Geometric and Otherwise As examples, consider the transformation matrices of the C 3v
Transformation Matrices; Geometric and Otherwise As examples, consider the transformation matrices of the v group. The form of these matrices depends on the basis we choose. Examples: Cartesian vectors:
More informationLeandra Vicci. Microelectronic Systems Laboratory. Department of Computer Science. University of North Carolina at Chapel Hill. 27 April 2001.
Quaternions and Rotations in 3-Space: The Algebra and its Geometric Interpretation Leandra Vicci Microelectronic Systems Laboratory Department of Computer Science University of North Carolina at Chapel
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technolog Transformations Fall 207 Universit of Teas at Austin CS 354R Game Technolog S. Abraham Transformations What are the? Wh should we care? Universit of Teas at Austin CS 354R
More informationCS 4300 Computer Graphics. Prof. Harriet Fell Fall 2011 Lecture 11 September 29, 2011
CS 4300 Computer Graphics Prof. Harriet Fell Fall 2011 Lecture 11 September 29, 2011 October 8, 2011 College of Computer and Information Science, Northeastern Universit 1 Toda s Topics Linear Algebra Review
More informationMinimal representations of orientation
Robotics 1 Minimal representations of orientation (Euler and roll-pitch-yaw angles) Homogeneous transformations Prof. lessandro De Luca Robotics 1 1 Minimal representations rotation matrices: 9 elements
More informationLinear Algebra & Geometry why is linear algebra useful in computer vision?
Linear Algebra & Geometry why is linear algebra useful in computer vision? References: -Any book on linear algebra! -[HZ] chapters 2, 4 Some of the slides in this lecture are courtesy to Prof. Octavia
More informationRotation outline of talk
Rotation outline of talk Properties Representations Hamilton s Quaternions Rotation as Unit Quaternion The Space of Rotations Photogrammetry Closed Form Solution of Absolute Orientation Division Algebras,
More informationMathematics for Graphics and Vision
Mathematics for Graphics and Vision Steven Mills March 3, 06 Contents Introduction 5 Scalars 6. Visualising Scalars........................ 6. Operations on Scalars...................... 6.3 A Note on
More informationPosition and orientation of rigid bodies
Robotics 1 Position and orientation of rigid bodies Prof. Alessandro De Luca Robotics 1 1 Position and orientation right-handed orthogonal Reference Frames RF A A z A p AB B RF B z B x B y A rigid body
More information= 9 4 = = = 8 2 = 4. Model Question paper-i SECTION-A 1.C 2.D 3.C 4. C 5. A 6.D 7.B 8.C 9.B B 12.B 13.B 14.D 15.
www.rktuitioncentre.blogspot.in Page 1 of 8 Model Question paper-i SECTION-A 1.C.D 3.C. C 5. A 6.D 7.B 8.C 9.B 10. 11.B 1.B 13.B 1.D 15.A SECTION-B 16. P a, b, c, Q g,, x, y, R {a, e, f, s} R\ P Q {a,
More informationDistance Formula in 3-D Given any two points P 1 (x 1, y 1, z 1 ) and P 2 (x 2, y 2, z 2 ) the distance between them is ( ) ( ) ( )
Vectors and the Geometry of Space Vector Space The 3-D coordinate system (rectangular coordinates ) is the intersection of three perpendicular (orthogonal) lines called coordinate axis: x, y, and z. Their
More informationCOMPLEX NUMBERS AND QUADRATIC EQUATIONS
Chapter 5 COMPLEX NUMBERS AND QUADRATIC EQUATIONS 5. Overview We know that the square of a real number is always non-negative e.g. (4) 6 and ( 4) 6. Therefore, square root of 6 is ± 4. What about the square
More informationQuaternions and Groups
Quaternions and Groups Rich Schwartz October 16, 2014 1 What is a Quaternion? A quaternion is a symbol of the form a+bi+cj +dk, where a,b,c,d are real numbers and i,j,k are special symbols that obey the
More information6. Linear Transformations.
6. Linear Transformations 6.1. Matrices as Transformations A Review of Functions domain codomain range x y preimage image http://en.wikipedia.org/wiki/codomain 6.1. Matrices as Transformations A Review
More informationIntroduction to Algebraic and Geometric Topology Week 14
Introduction to Algebraic and Geometric Topology Week 14 Domingo Toledo University of Utah Fall 2016 Computations in coordinates I Recall smooth surface S = {f (x, y, z) =0} R 3, I rf 6= 0 on S, I Chart
More information2. Preliminaries. x 2 + y 2 + z 2 = a 2 ( 1 )
x 2 + y 2 + z 2 = a 2 ( 1 ) V. Kumar 2. Preliminaries 2.1 Homogeneous coordinates When writing algebraic equations for such geometric objects as planes and circles, we are used to writing equations that
More informationLecture 4: Affine Transformations. for Satan himself is transformed into an angel of light. 2 Corinthians 11:14
Lecture 4: Affine Transformations for Satan himself is transformed into an angel of light. 2 Corinthians 11:14 1. Transformations Transformations are the lifeblood of geometry. Euclidean geometry is based
More informationA Quantum Mechanical Model for the Vibration and Rotation of Molecules. Rigid Rotor
A Quantum Mechanical Model for the Vibration and Rotation of Molecules Harmonic Oscillator Rigid Rotor Degrees of Freedom Translation: quantum mechanical model is particle in box or free particle. A molecule
More informationLinear algebra. S. Richard
Linear algebra S. Richard Fall Semester 2014 and Spring Semester 2015 2 Contents Introduction 5 0.1 Motivation.................................. 5 1 Geometric setting 7 1.1 The Euclidean space R n..........................
More informationSummary: Curvilinear Coordinates
Physics 2460 Electricity and Magnetism I, Fall 2007, Lecture 10 1 Summary: Curvilinear Coordinates 1. Summary of Integral Theorems 2. Generalized Coordinates 3. Cartesian Coordinates: Surfaces of Constant
More informationMAC Module 5 Vectors in 2-Space and 3-Space II
MAC 2103 Module 5 Vectors in 2-Space and 3-Space II 1 Learning Objectives Upon completing this module, you should be able to: 1. Determine the cross product of a vector in R 3. 2. Determine a scalar triple
More informationENGG5781 Matrix Analysis and Computations Lecture 8: QR Decomposition
ENGG5781 Matrix Analysis and Computations Lecture 8: QR Decomposition Wing-Kin (Ken) Ma 2017 2018 Term 2 Department of Electronic Engineering The Chinese University of Hong Kong Lecture 8: QR Decomposition
More informationALGEBRAIC TOPOLOGY N. P. STRICKLAND
ALGEBRAIC TOPOLOGY N. P. STRICKLAND 1. Introduction In this course, we will study metric spaces (which will often be subspaces of R n for some n) with interesting topological structure. Here are some examples
More information