Visualizing Quaternions

Size: px
Start display at page:

Download "Visualizing Quaternions"

Transcription

1 Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 1 Tutorial 1

2 GRAND PLAN I: Fundamentals of Quaternions II: Visualizing Quaternion Geometry III: Quaternion Frames IV: Clifford Algebras

3 I: Fundamentals of Quaternions Motivation D Frames: Simple example, complex numbers. 3D Frames: Rotations and quaternions. 3

4 II: Visualizing Quaternion Geometry The Spherical Projection Trick: unit vectors. Visualizing Quaternion Frames Quaternion Curves Quaternion Splines 4

5 III: Quaternion Frames Quaternion Curves: generalize the Frenet Frame Quaternion Frame Evolution Quaternion Curve and Surface Optimization 5

6 IV: Clifford Algebras Clifford Algebras: Generalize quaternion structure to N-dimensions Reflections and Rotations: New ways of looking at rotations Pin(N), Spin(N), O(N), and SO(N)

7 Visualizing Quaternions Part I: Fundamentals of Quaternions Andrew J. Hanson Indiana University

8 Part I: OUTLINE Motivation D Frames: Simple example, complex numbers. 3D Frames: Rotations and quaternions. 8

9 Motivation Quaternion methods are now commonplace in graphics. Quaternions are very geometric, but we seldom attempt to visualize their properties geometrically. That s going to be our job today! 9

10 Basic Issues Basic fact number 1: Rotation matrices are Coordinate Frame Axes. Basic fact number : Rotation matrices form groups, which have geometric properties. 1

11 Task vs Strategy Our task: Understand Rotations. Rotations don t just act on geometry, rotations are geometry. Our strategy: the geometry should help us to visualize the properties of rotations. 11

12 Simple Example: D Rotations D rotations ) geometric origin for complex numbers. Complex numbers are a special subspace of quaternions. Thus D rotations introduce us to quaternions and their geometric meaning. 1

13 Frames in D The tangent and normal to D curve move continuously along the curve: N^ T^ θ 13

14 Frames in D The tangent and normal to D curve move continuously along the curve: N^ T^ θ 14

15 Frames in D The tangent and normal to D curve move continuously along the curve: N^ T^ θ 15

16 5 : Frame Matrix in D This motion is described at each point (or time) by the matrix: R () = h ^T ^N i 3 4, sin cos cos sin = 1

17 A,B 4 A B 5 : Another D Frame If we did not know about cos + sin = 1, we might represent the frame differently, e.g., as: 3 R (A; B) = with the constraint A + B = 1. 1

18 The Belt Trick: Is There a Problem? Demonstration: Rotations want to be doubled to get back where you started. See: Hart, Francis, and Kauffman. 18

19 4 cos, sin, cos sin cos sin cos, sin 5 Half-Angle Transform: A Fix for the Problem? 3 R () = 19

20 a, b,ab 4 a, b ab 5 : Half-Angle Transform: A Fix for the Problem? Or, with a = cos(=), b = sin(=), (i.e., A = a, b, B = ab), we could parameterize as: 3 R (a; b) = where orthonormality implies + b ) = 1 (a which reduces back a to + b = 1.

21 a, b,ab 4 a, b ab 5 : Half-Angle Transform: So the pair (a; b) provides an odd double-valued parameterization of the frame: 3 h ^T ^N i = where (a; b) is precisely the same frame as (,a;,b). 1

22 _^T(t) = + ^N 5 : Frame Evolution in D Examine time-evolution of D frame (on our way to 3D): First in (t) coordinates: 3 h ^T ^N i = 4, sin cos cos sin Differentiate to find frame equations: =,^T ; _^N(t) (t) = d=dt where is the curvature.

23 4 _^T(t) _^N(t) = 5 +(t) 4,(t) ^T(t) ^N(t) Frame Evolution in D Rearrange to make a vector matrix:

24 _^T = a_a, b _b 4 + b_a a_b a,b 4 a b 4 _a _b Frame Evolution in (a; b): Using the basis (^T; ^N) we have Four equations with Three constraints from orthonormality, for One true degree of freedom. Major Simplification occurs in (a; b) coordinates!! =

25 ,ab 4, b a a,b 4 a b a,b 4 a b, a b,b 4 a Frame Evolution in (a; b): But this formula for _^T is just ^N, where 3 3 ^N = 3 = or ^N = 5

26 4 _a _b, a b D Quaternion Frames! Rearranging terms, both _^T and _^N eqns reduce to = 1 5 This is the square root of frame equations.

27 _^T = + ^N D Quaternions... So one equation in the two quaternion variables (a; b) with the constraint a +b = 1 contains both the frame equations _^N =,^T ) this is much better for computer implementation, etc.

28 Rotation as Complex Multiplication If we let (a + ib) = exp (i =) we see that rotation is complex multiplication! Quaternion Frames in D are just complex numbers, with Evolution Eqns = derivative of exp (i =)! 8

29 (a a + ib = e i= ib i( )(a + ib) = e +)= A + ib = + )R()=R( R( A, B,AB 4 A, B AB Rotation with no matrices! This is the miracle: represents rotations more nicely than the matrices R(). where if we want the matrix, we write: )= 9

30 ; b ) (a; b) = (a (a ib )(a + ib) + a a, b b + i(a b + ab ) = = (aa, bb; ab + ab) The Algebra of D Rotations The algebra corresponding to D rotations is easy: just complex multiplication!! = (A; B) 3

31 The Geometry of D Rotations (a; b) with a + b = 1 is a point on the unit circle, also written S 1. Rotations are just complex multiplication, and take you around the unit circle like this: (a a-b b, a b+ab ) (a, b ) θ + θ θ / θ/ (a,b) (1,) 31

32 The Geometry of D Rotations (a; b) with a + b = 1 is a point on the unit circle, also written S 1. Rotations are just complex multiplication, and take you around the unit circle like this: (a a-b b, a b+ab ) (a, b ) θ + θ θ / θ/ (a,b) (1,) 3

33 The Geometry of D Rotations (a; b) with a + b = 1 is a point on the unit circle, also written S 1. Rotations are just complex multiplication, and take you around the unit circle like this: (a a-b b, a b+ab ) (a, b ) θ + θ θ / θ/ (a,b) (1,) 33

34 Quaternion Frames In 3D, repeat our trick: take square root of the frame, but now use quaternions: Write down the 3D frame. Write as double-valued quadratic form. Rewrite linearly in the new variables. 34

35 The Geometry of 3D Rotations We begin with a basic fact: Euler theorem: every 3D frame can be written as a spinning by about a fixed axis ^n, the eigenvector of the rotation matrix: n ^ θ 35

36 The Geometry of 3D Rotations We begin with a basic fact: Euler theorem: every 3D frame can be written as a spinning by about a fixed axis ^n, the eigenvector of the rotation matrix: n ^ θ 3

37 The Geometry of 3D Rotations We begin with a basic fact: Euler theorem: every 3D frame can be written as a spinning by about a fixed axis ^n, the eigenvector of the rotation matrix: n ^ θ 3

38 c + (n 1 ) (1, c) n 1 n (1, c), sn 3 n 3 n 1 (1, c) + sn Quaternion Frames... Matrix giving 3D rotation by about axis ^n: R 3 (; ^n) = 3 1 n (1, c) + sn 3 c + (n ) (1, c) n 3 n (1, c), sn 1 n 1 n 3 (1, c), sn n n 3 (1, c) + sn 1 c + (n 3 ) (1, c) n 4 5 where c = cos, s = sin, and ^n ^n = 1. 38

39 Quaternion Frame Parameters To find and axis ^n, givenany rotation matrix or frame M, we need two steps: ) solve for. TrM = 1 + cos M, M t = 3,n 3 sin +n sin 3 sin,n 1 sin +n 4 5,n sin +n 1 sin ) solve for ^n as long as =. 39

40 Quaternions and Rotations Some set of axes can be chosen as the identity matrix: y 1 = 1 z x 1 4

41 Quaternions and Rotations Any arbitrary set of axes forms the columns of an orthogonal rotation matrix: b c a a a x y z b b x = a b c y z c c x y z 41

42 Quaternions and Rotations Any arbitrary set of axes forms the columns of an orthogonal rotation matrix: c b a a a x y z b b x = a b c y z c c x y z 4

43 Quaternions and Rotations Any arbitrary set of axes forms the columns of an orthogonal rotation matrix: c b a 11 a a x y z b b x = a b c y z c c x y z 43

44 Quaternions and Rotations Any arbitrary set of axes forms the columns of an orthogonal rotation matrix: c 1 b a a a x y z b b x = a b c y z c c x y z 44

45 Quaternions and Rotations By Euler s theorem, that matrix has an eigenvector ^n, and so is representable as a single rotation about ^n applied to the identity: b c a = y a a a x y z b b b x y z c c c x y z = ^ n θ z x =

46 4 a, b,ab 4 a, b ab q + q 1, q, q 3 q 1 q, q q 3 q 1 q 3 + q q 1 q + q q 3 q, q 1 + q, q 3 q q 3, q q 1 q 1 q 3, q q q q 3 + q q 1 q, q 1, q + q 3 q 5 Rotations and Quadratic Polynomials Remember R () = 5? 3 What if we try a 3 3 matrix R 3 instead of? 3 Hint: set q 1 = q = or any other (i = j) pair to see a familiar sight! 4

47 Quaternions and Rotations Why does this matrix parameterize a rotation? Because Columns R of (q ; q 1 ; q ; q 3 ) 3 are orthogonal: col i col = j i = j for What is LENGTH of 3-vector column? col i col = (q i q 1 + q + q 3 ) + 4

48 Quaternions and Rotations... So if we q require + q 1 + q + q 3 = 1, orthonormality is assured and 3 (q ; q 1 ; q ; q 3 ) is a rotation. R This q implies is a point on 3-sphere in 4D. NOTE: q ),q gives same R 3 (). 48

49 Quaternions and Rotations... HOW does q = (q ; q) represent rotations? LOOK at R 3 (; ^n)? = R 3(q ; q 1 ; q ; q 3 ) NOTICE: Choosing q(; ^n) = (cos ; ^n sin ) makes the R 3 equation an IDENTITY. 49

50 )R(q) = R(Q) R(q Quaternions and Rotations... WHAT happens if you do TWO rotations? EXAMINE the action of two rotations EXPRESS in quadratic forms in q and LOOK FOR an analog of complex multiplication: 5

51 4 Q = h q q i Q 1 = h q q i 1 Q = h q q i Q 3 = h q q i q q, q 1 q 1, q q, q 3 q 3 q q 1 + q 1 q + q q 3, q 3 q q q + q q + q 3 q 1, q 1 q 3 q q 3 + q 3 q + q 1 q, q q 1 5 Quaternions and Rotations... RESULT: the following multiplication rule q = Q yields exactly the correct 3 3 rotation q matrix R(Q): 3 3 = This is Quaternion Multiplication. 51

52 Algebra of Quaternions = 3D Rotations! D rotation matrices are represented by complex multiplication 3D rotation matrices are represented by quaternion multiplication 5

53 ; b ) (a; b) = (a a, b b; a b + ab ) (a q q = (q q q, q1q 1, qq, q3q 3 ; q + qq + q3q 1, q1q 3 ; q q Algebraic D/3D Rotations Therefore in 3D, the D complex multiplication is replaced by 4D quaternion multiplication: q 3, q q 1 + q 1 q + q 3 q ; 1 q, q q 3 + q 3 q + q q 1) 53

54 Algebra of Quaternions... The is easier to remember by dividing it into the scalar piece q and the vector piece ~q: q q = (q q, ~ q ~q; q ~q + q ~ q + ~ q ~q) 54

55 a + ib = e i= = q + iq 1 + jq + kq 3 = e (I^n=) Quaternions and Rotations Another miracle: let us generalize the D equation How? We set q = (q ; q 1 ; q ; q 3 ) with q = cos(=) and ~q = ^n sin(=) and I = (i; j; k). 55

56 Quaternions and Rotations... Then if we take i = j = k =,1, and i j = k (cyclic), quaternion multiplication rule is automatic! ) q = q + iq 1 + jq + kq 3 is the standard representation for a quaternion, and we can also use Pauli matrices in place of (i; j; k) if we want. 5

57 Key to Quaternion Intuition Fundamental Intuition: We know q = cos(=); ~q = ^n sin(=) We also know that any coordinate frame M canbewritten as M = R(; ^n). Therefore ~q points exactly along the axis we have to rotate around to go from identity I to M, and the length of ~q tells us how much to rotate. 5

58 4 p] [q p] 1 [q p] [q p] 3 [q 5 4 p, q 1 p 1, q p, q 3 p 3 q p 1 + q 1 p + q p 3, q 3 p q p + q p + q 3 p 1, q 1 p 3 q p 3 + q 3 p + q 1 p, q p 1 q 5 Summarize Quaternion Properties Unit four-vector. Take q = (q ; q 1 ; q ; q 3 ) = (q ; ~q) to obey q q = constraint 1. Multiplication rule. The quaternion product q and p is q p = (q p, ~q ~p; q ~p + p ~q + ~q ~p), or, alternatively, 3 3 = 58

59 4 q + q 1, q, q 3 q 1 q, q q 3 q 1 q 3 + q q 1 q + q q 3 q, q 1 + q, q 3 q q 3, q q 1 q 1 q 3, q q q q 3 + q q 1 q, q 1, q + q 3 q 5 Quaternion Summary... Rotation Correspondence. The unit quaternions q and,q correspond to a single 3D rotation R 3 : 3 59

60 Quaternion Summary... Rotation Correspondence. Let q = (cos ; ^n sin ) ; with ^n a unit 3-vector, ^n ^n = 1. Then R(; ^n) is usual 3D rotation by in the plane? to ^n. Inversion. Any 3 3 matrix R can be inverted for q up to a sign. Carefully treat singularities! Can choose sign, e.g., by local consistency, to get continuous frames.

61 SUMMARY Complex numbers represent D frames. Complex multiplication represents D rotation. Quaternions represent 3D frames. Quaternion multiplication represents 3D rotation. 1

Visualizing Quaternions

Visualizing 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 information

Part II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors.

Part 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 information

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)

Motivation. 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 information

Orientation & Quaternions

Orientation & 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 information

Revision Problems for Examination 2 in Algebra 1

Revision Problems for Examination 2 in Algebra 1 Centre for Mathematical Sciences Mathematics, Faculty of Science Revision Problems for Examination in Algebra. Let l be the line that passes through the point (5, 4, 4) and is at right angles to the plane

More information

CS354 Computer Graphics Rotations and Quaternions

CS354 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 information

Quaternions and Exponentials

Quaternions and Exponentials Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office

More information

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala) 3D Transformations CS 4620 Lecture 10 1 Translation 2 Scaling 3 Rotation about z axis 4 Rotation about x axis 5 Rotation about y axis 6 Properties of Matrices Translations: linear part is the identity

More information

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11

3D 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 information

2D/3D Geometric Transformations and Scene Graphs

2D/3D Geometric Transformations and Scene Graphs 2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background

More information

VISUALIZING QUATERNIONS

VISUALIZING QUATERNIONS THE MORGAN KAUFMANN SERIES IN INTERACTIVE 3D TECHNOLOGY VISUALIZING QUATERNIONS ANDREW J. HANSON «WW m.-:ki -. " ;. *' AMSTERDAM BOSTON HEIDELBERG ^ M Ä V l LONDON NEW YORK OXFORD

More information

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model

More information

Today. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices

Today. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices Computergrafik Matthias Zwicker Universität Bern Herbst 2008 Today Transformations & matrices Introduction Matrices Homogeneous Affine transformations Concatenating transformations Change of Common coordinate

More information

Quaternions and Rotations

Quaternions 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 information

For each question, indicate whether the statement is true or false by circling T or F, respectively.

For 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 information

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6 Math background 2D Geometric Transformations CS 4620 Lecture 6 Read: Chapter 2: Miscellaneous Math Chapter 5: Linear Algebra Notation for sets, functions, mappings Linear transformations Matrices Matrix-vector

More information

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Computer 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 information

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Animation. 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 information

Jorg s Graphics Lecture Notes Coordinate Spaces 1

Jorg 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 information

Visualizing Quaternions Course Notes for SIGGRAPH 99

Visualizing Quaternions Course Notes for SIGGRAPH 99 Visualizing Quaternions Course Notes for SIGGRAPH 99 Course Organizer Andrew J. Hanson Computer Science Department Indiana University Bloomington, IN 4745 USA Email: hanson@cs.indiana.edu Abstract This

More information

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z Basic Linear Algebra Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ 1 5 ] 7 9 3 11 Often matrices are used to describe in a simpler way a series of linear equations.

More information

Rotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco.

Rotation 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 information

Geometric Transformations

Geometric Transformations Geometric Transformations CS 4620 Lecture 9 2017 Steve Marschner 1 A little quick math background Notation for sets, functions, mappings Linear and affine transformations Matrices Matrix-vector multiplication

More information

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Animation. 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 information

Lecture Note 3: Rotational Motion

Lecture Note 3: Rotational Motion ECE5463: Introduction to Robotics Lecture Note 3: Rotational Motion Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 3 (ECE5463

More information

AH Matrices.notebook November 28, 2016

AH Matrices.notebook November 28, 2016 Matrices Numbers are put into arrays to help with multiplication, division etc. A Matrix (matrices pl.) is a rectangular array of numbers arranged in rows and columns. Matrices If there are m rows and

More information

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations

CS 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 information

Kinematic Synthesis. October 6, 2015 Mark Plecnik

Kinematic Synthesis. October 6, 2015 Mark Plecnik Kinematic Synthesis October 6, 2015 Mark Plecnik Classifying Mechanisms Several dichotomies Serial and Parallel Few DOFS and Many DOFS Planar/Spherical and Spatial Rigid and Compliant Mechanism Trade-offs

More information

Geometric 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 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 information

Vector Algebra Transformations. Lecture 4

Vector Algebra Transformations. Lecture 4 Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures

More information

Tentti/Exam Midterm 2/Välikoe 2, December

Tentti/Exam Midterm 2/Välikoe 2, December 1: 2: 3: Extra: Total 1-3: / 23 4: 5: 6: Total 4-6: / 20 Aalto ME-C3100 Computer Graphics, Fall 2015 Lehtinen / Kemppinen, Ollikainen, Puomio Tentti/Exam Midterm 2/Välikoe 2, December 16 2015 Name, student

More information

DD2429 Computational Photography :00-19:00

DD2429 Computational Photography :00-19:00 . Examination: DD2429 Computational Photography 202-0-8 4:00-9:00 Each problem gives max 5 points. In order to pass you need about 0-5 points. You are allowed to use the lecture notes and standard list

More information

Visual Recognition: Image Formation

Visual 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 information

, etc. Let s work with the last one. We can graph a few points determined by this equation.

, etc. Let s work with the last one. We can graph a few points determined by this equation. 1. Lines By a line, we simply mean a straight curve. We will always think of lines relative to the cartesian plane. Consider the equation 2x 3y 4 = 0. We can rewrite it in many different ways : 2x 3y =

More information

Geometric 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 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 information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC 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 information

Quaternions and Rotations

Quaternions 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 information

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Transformation. 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 information

Rotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops)

Rotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops) Cornell University CS 569: Interactive Computer Graphics Rotations (and other transformations) Lecture 4 2008 Steve Marschner 1 Rotation as rotation matrix 9 floats orthogonal and unit length columns and

More information

An idea which can be used once is a trick. If it can be used more than once it becomes a method

An idea which can be used once is a trick. If it can be used more than once it becomes a method An idea which can be used once is a trick. If it can be used more than once it becomes a method - George Polya and Gabor Szego University of Texas at Arlington Rigid Body Transformations & Generalized

More information

Space Curves of Constant Curvature *

Space Curves of Constant Curvature * Space Curves of Constant Curvature * 2-11 Torus Knot of constant curvature. See also: About Spherical Curves Definition via Differential Equations. Space Curves that 3DXM can exhibit are mostly given in

More information

AQA GCSE Further Maths Topic Areas

AQA GCSE Further Maths Topic Areas AQA GCSE Further Maths Topic Areas This document covers all the specific areas of the AQA GCSE Further Maths course, your job is to review all the topic areas, answering the questions if you feel you need

More information

Graphics and Interaction Transformation geometry and homogeneous coordinates

Graphics 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 information

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

COMP30019 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 information

3.7. Vertex and tangent

3.7. Vertex and tangent 3.7. Vertex and tangent Example 1. At the right we have drawn the graph of the cubic polynomial f(x) = x 2 (3 x). Notice how the structure of the graph matches the form of the algebraic expression. The

More information

First of all, we need to know what it means for a parameterize curve to be differentiable. FACT:

First of all, we need to know what it means for a parameterize curve to be differentiable. FACT: CALCULUS WITH PARAMETERIZED CURVES In calculus I we learned how to differentiate and integrate functions. In the chapter covering the applications of the integral, we learned how to find the length of

More information

Quaternion Frenet Frames: Making Optimal Tubes and Ribbons from Curves

Quaternion Frenet Frames: Making Optimal Tubes and Ribbons from Curves Quaternion Frenet Frames: Making Optimal ubes and Ribbons from Curves Andrew J. Hanson Computer Science Department Indiana University Bloomington, IN 05 hanson@cs.indiana.edu } Introduction } Our purpose

More information

Computer Animation. Rick Parent

Computer Animation. Rick Parent Algorithms and Techniques Interpolating Values Animation Animator specified interpolation key frame Algorithmically controlled Physics-based Behavioral Data-driven motion capture Motivation Common problem:

More information

Jacobian: Velocities and Static Forces 1/4

Jacobian: Velocities and Static Forces 1/4 Jacobian: Velocities and Static Forces /4 Advanced Robotic - MAE 6D - Department of Mechanical & Aerospace Engineering - UCLA Kinematics Relations - Joint & Cartesian Spaces A robot is often used to manipulate

More information

Shape Modeling and Geometry Processing

Shape Modeling and Geometry Processing 252-0538-00L, Spring 2018 Shape Modeling and Geometry Processing Discrete Differential Geometry Differential Geometry Motivation Formalize geometric properties of shapes Roi Poranne # 2 Differential Geometry

More information

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Geometric Modeling Mortenson Chapter 11. Complex Model Construction Geometric Modeling 91.580.201 Mortenson Chapter 11 Complex Model Construction Topics Topology of Models Connectivity and other intrinsic properties Graph-Based Models Emphasize topological structure Boolean

More information

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set

Analysis 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 information

Autonomous Navigation for Flying Robots

Autonomous Navigation for Flying Robots Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München Points in 3D 3D point Augmented vector Homogeneous

More information

Inverse Kinematics Programming Assignment

Inverse Kinematics Programming Assignment Inverse Kinematics Programming Assignment CS 448D: Character Animation Due: Wednesday, April 29 th 11:59PM 1 Logistics In this programming assignment, you will implement a simple inverse kinematics solver

More information

Background for Surface Integration

Background 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 information

Rotations for N-Dimensional Graphics

Rotations for N-Dimensional Graphics Rotations for N-Dimensional Graphics Andrew J Hanson Computer Science Department Indiana University Bloomington, IN hanson@csindianaedu } Introduction } In a previous article in Graphics Gems IV, \Geometry

More information

1. The Pythagorean Theorem

1. The Pythagorean Theorem . The Pythagorean Theorem The Pythagorean theorem states that in any right triangle, the sum of the squares of the side lengths is the square of the hypotenuse length. c 2 = a 2 b 2 This theorem can be

More information

Reminder: Lecture 20: The Eight-Point Algorithm. Essential/Fundamental Matrix. E/F Matrix Summary. Computing F. Computing F from Point Matches

Reminder: Lecture 20: The Eight-Point Algorithm. Essential/Fundamental Matrix. E/F Matrix Summary. Computing F. Computing F from Point Matches Reminder: Lecture 20: The Eight-Point Algorithm F = -0.00310695-0.0025646 2.96584-0.028094-0.00771621 56.3813 13.1905-29.2007-9999.79 Readings T&V 7.3 and 7.4 Essential/Fundamental Matrix E/F Matrix Summary

More information

Tangent & normal vectors The arc-length parameterization of a 2D curve The curvature of a 2D curve

Tangent & normal vectors The arc-length parameterization of a 2D curve The curvature of a 2D curve Local Analysis of 2D Curve Patches Topic 4.2: Local analysis of 2D curve patches Representing 2D image curves Estimating differential properties of 2D curves Tangent & normal vectors The arc-length parameterization

More information

Linear Transformations

Linear Transformations Linear Transformations The two basic vector operations are addition and scaling From this perspective, the nicest functions are those which preserve these operations: Def: A linear transformation is a

More information

CS612 - Algorithms in Bioinformatics

CS612 - 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 information

f( x ), or a solution to the equation f( x) 0. You are already familiar with ways of solving

f( x ), or a solution to the equation f( x) 0. You are already familiar with ways of solving The Bisection Method and Newton s Method. If f( x ) a function, then a number r for which f( r) 0 is called a zero or a root of the function f( x ), or a solution to the equation f( x) 0. You are already

More information

Properties of Bertrand curves in dual space

Properties of Bertrand curves in dual space Vol. 9(9), pp. 208-213, 16 May, 2014 DOI: 10.5897/IJPS2013.4067 Article Number: 638CA8144589 ISSN 1992-1950 Copyright 2014 Author(s) retain the copyright of this article http://www.academicjournals.org/ijps

More information

MOTION OF A LINE SEGMENT WHOSE ENDPOINT PATHS HAVE EQUAL ARC LENGTH. Anton GFRERRER 1 1 University of Technology, Graz, Austria

MOTION OF A LINE SEGMENT WHOSE ENDPOINT PATHS HAVE EQUAL ARC LENGTH. Anton GFRERRER 1 1 University of Technology, Graz, Austria MOTION OF A LINE SEGMENT WHOSE ENDPOINT PATHS HAVE EQUAL ARC LENGTH Anton GFRERRER 1 1 University of Technology, Graz, Austria Abstract. The following geometric problem originating from an engineering

More information

Lecture 9: Transformations. CITS3003 Graphics & Animation

Lecture 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 information

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces Chapter 6 Curves and Surfaces In Chapter 2 a plane is defined as the zero set of a linear function in R 3. It is expected a surface is the zero set of a differentiable function in R n. To motivate, graphs

More information

3D Transformations and Complex Representations. Computer Graphics CMU /15-662, Fall 2016

3D 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 information

FOUNDATION HIGHER. F Autumn 1, Yr 9 Autumn 2, Yr 9 Spring 1, Yr 9 Spring 2, Yr 9 Summer 1, Yr 9 Summer 2, Yr 9

FOUNDATION HIGHER. F Autumn 1, Yr 9 Autumn 2, Yr 9 Spring 1, Yr 9 Spring 2, Yr 9 Summer 1, Yr 9 Summer 2, Yr 9 Year: 9 GCSE Mathematics FOUNDATION F Autumn 1, Yr 9 Autumn 2, Yr 9 Spring 1, Yr 9 Spring 2, Yr 9 Summer 1, Yr 9 Summer 2, Yr 9 HIGHER Integers and place value Decimals Indices, powers and roots Factors,multiples

More information

Accurate Computation of Quaternions from Rotation Matrices

Accurate Computation of Quaternions from Rotation Matrices Accurate Computation of Quaternions from Rotation Matrices Soheil Sarabandi and Federico Thomas Institut de Robòtica i Informàtica Industrial (CSIC-UPC) Llorens Artigas 4-6, 0808 Barcelona, Spain soheil.sarabandi@gmail.com,

More information

(Discrete) Differential Geometry

(Discrete) Differential Geometry (Discrete) Differential Geometry Motivation Understand the structure of the surface Properties: smoothness, curviness, important directions How to modify the surface to change these properties What properties

More information

Know it. Control points. B Spline surfaces. Implicit surfaces

Know it. Control points. B Spline surfaces. Implicit surfaces Know it 15 B Spline Cur 14 13 12 11 Parametric curves Catmull clark subdivision Parametric surfaces Interpolating curves 10 9 8 7 6 5 4 3 2 Control points B Spline surfaces Implicit surfaces Bezier surfaces

More information

Geometric Algebra. 8. Conformal Geometric Algebra. Dr Chris Doran ARM Research

Geometric Algebra. 8. Conformal Geometric Algebra. Dr Chris Doran ARM Research Geometric Algebra 8. Conformal Geometric Algebra Dr Chris Doran ARM Research Motivation Projective geometry showed that there is considerable value in treating points as vectors Key to this is a homogeneous

More information

Jacobian: Velocities and Static Forces 1/4

Jacobian: Velocities and Static Forces 1/4 Jacobian: Velocities and Static Forces /4 Models of Robot Manipulation - EE 54 - Department of Electrical Engineering - University of Washington Kinematics Relations - Joint & Cartesian Spaces A robot

More information

Matrix Inverse 2 ( 2) 1 = 2 1 2

Matrix Inverse 2 ( 2) 1 = 2 1 2 Name: Matrix Inverse For Scalars, we have what is called a multiplicative identity. This means that if we have a scalar number, call it r, then r multiplied by the multiplicative identity equals r. Without

More information

Animation Curves and Splines 2

Animation 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 information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometry and Camera Calibration 3D Coordinate Systems Right-handed vs. left-handed x x y z z y 2D Coordinate Systems 3D Geometry Basics y axis up vs. y axis down Origin at center vs. corner Will often

More information

x = 12 x = 12 1x = 16

x = 12 x = 12 1x = 16 2.2 - The Inverse of a Matrix We've seen how to add matrices, multiply them by scalars, subtract them, and multiply one matrix by another. The question naturally arises: Can we divide one matrix by another?

More information

Sung-Eui Yoon ( 윤성의 )

Sung-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 information

Animating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Animating 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 information

CS770/870 Spring 2017 Quaternions

CS770/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 information

COMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting

COMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting Ray Casting COMP 175: Computer Graphics April 26, 2018 1/41 Admin } Assignment 4 posted } Picking new partners today for rest of the assignments } Demo in the works } Mac demo may require a new dylib I

More information

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

COMPUTER AIDED ENGINEERING DESIGN (BFF2612) COMPUTER AIDED ENGINEERING DESIGN (BFF2612) BASIC MATHEMATICAL CONCEPTS IN CAED by Dr. Mohd Nizar Mhd Razali Faculty of Manufacturing Engineering mnizar@ump.edu.my COORDINATE SYSTEM y+ y+ z+ z+ x+ RIGHT

More information

Honors Precalculus: Solving equations and inequalities graphically and algebraically. Page 1

Honors Precalculus: Solving equations and inequalities graphically and algebraically. Page 1 Solving equations and inequalities graphically and algebraically 1. Plot points on the Cartesian coordinate plane. P.1 2. Represent data graphically using scatter plots, bar graphs, & line graphs. P.1

More information

CS184: Using Quaternions to Represent Rotation

CS184: 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 information

Coordinate Transformations in Advanced Calculus

Coordinate 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 information

COMP 558 lecture 19 Nov. 17, 2010

COMP 558 lecture 19 Nov. 17, 2010 COMP 558 lecture 9 Nov. 7, 2 Camera calibration To estimate the geometry of 3D scenes, it helps to know the camera parameters, both external and internal. The problem of finding all these parameters is

More information

Quaternions and Euler Angles

Quaternions 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 information

Unit Circle. Project Response Sheet

Unit Circle. Project Response Sheet NAME: PROJECT ACTIVITY: Trigonometry TOPIC Unit Circle GOALS MATERIALS Explore Degree and Radian Measure Explore x- and y- coordinates on the Unit Circle Investigate Odd and Even functions Investigate

More information

A Short Introduction to Projective Geometry

A Short Introduction to Projective Geometry A Short Introduction to Projective Geometry Vector Spaces over Finite Fields We are interested only in vector spaces of finite dimension. To avoid a notational difficulty that will become apparent later,

More information

CS 130 Final. Fall 2015

CS 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 information

Linear transformations Affine transformations Transformations in 3D. Graphics 2009/2010, period 1. Lecture 5: linear and affine transformations

Linear transformations Affine transformations Transformations in 3D. Graphics 2009/2010, period 1. Lecture 5: linear and affine transformations Graphics 2009/2010, period 1 Lecture 5 Linear and affine transformations Vector transformation: basic idea Definition Examples Finding matrices Compositions of transformations Transposing normal vectors

More information

FURTHER MATHS. WELCOME TO A Level FURTHER MATHEMATICS AT CARDINAL NEWMAN CATHOLIC SCHOOL

FURTHER MATHS. WELCOME TO A Level FURTHER MATHEMATICS AT CARDINAL NEWMAN CATHOLIC SCHOOL FURTHER MATHS WELCOME TO A Level FURTHER MATHEMATICS AT CARDINAL NEWMAN CATHOLIC SCHOOL This two-year Edexcel Pearson syllabus is intended for high ability candidates who have achieved, or are likely to

More information

Quaternions and Dual Coupled Orthogonal Rotations in Four-Space

Quaternions and Dual Coupled Orthogonal Rotations in Four-Space Quaternions and Dual Coupled Orthogonal Rotations in Four-Space Kurt Nalty January 8, 204 Abstract Quaternion multiplication causes tensor stretching) and versor turning) operations. Multiplying by unit

More information

Aalto CS-C3100 Computer Graphics, Fall 2016

Aalto 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 information

Vectors and the Geometry of Space

Vectors and the Geometry of Space Vectors and the Geometry of Space In Figure 11.43, consider the line L through the point P(x 1, y 1, z 1 ) and parallel to the vector. The vector v is a direction vector for the line L, and a, b, and c

More information

3D Rotations and Complex Representations. Computer Graphics CMU /15-662, Fall 2017

3D 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 information

10-2 Circles. Warm Up Lesson Presentation Lesson Quiz. Holt Algebra2 2

10-2 Circles. Warm Up Lesson Presentation Lesson Quiz. Holt Algebra2 2 10-2 Circles Warm Up Lesson Presentation Lesson Quiz Holt Algebra2 2 Warm Up Find the slope of the line that connects each pair of points. 1. (5, 7) and ( 1, 6) 1 6 2. (3, 4) and ( 4, 3) 1 Warm Up Find

More information

More Ways to Solve & Graph Quadratics The Square Root Property If x 2 = a and a R, then x = ± a

More Ways to Solve & Graph Quadratics The Square Root Property If x 2 = a and a R, then x = ± a More Ways to Solve & Graph Quadratics The Square Root Property If x 2 = a and a R, then x = ± a Example: Solve using the square root property. a) x 2 144 = 0 b) x 2 + 144 = 0 c) (x + 1) 2 = 12 Completing

More information

MEI Desmos Tasks for AS Pure

MEI Desmos Tasks for AS Pure Task 1: Coordinate Geometry Intersection of a line and a curve 1. Add a quadratic curve, e.g. y = x² 4x + 1 2. Add a line, e.g. y = x 3 3. Select the points of intersection of the line and the curve. What

More information

Fundamentals of Computer Animation

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 information