Transformations: 2D Transforms

Size: px
Start display at page:

Download "Transformations: 2D Transforms"

Transcription

1 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 T (dx, dy) = dx dy 2. Rotation P = x y P = P (x, y) + T (dx, dy) = x y + dx dy = x + dx y + dy Rotation about origin Positive rotation counterclockwise (righthand rule) Given P = (x, y), rotation R(θ) Then P (x, y ) = R(θ) P, where x = x cosθ y sinθ, y = x sinθ + y cosθ Derivation: (a) x given by r cosφ, y by r sinφ (b) Using cos(θ + φ) = cosθ cosφ sinφ sinθ, sin(θ + φ) = cosθ sinφ + sinφ cosθ (c) x = r cosθ cosφ r sinφ sinθ (d) Substituting x for r cosφ and y for r sinφ gives x = x cosθ y sinθ (e) Similarly, y = r cosθ sinφ + r sinφ cosθ = x sinθ + y cosθ 1

2 Transformations: 2D Transforms (2) 3. Scale Using matrix representation cosθ sinθ R(θ) = sinθ cosθ P = R(θ) P (x, y) = cosθ sinθ sinθ cosθ x y = x cosθ y sinθ x sinθ + y cosθ Change of proportion Affects location Given P = (x, y), scale S(sx, sy) Then P (x, y ) = S(sx, sy) P, where x = sx x, y = sy y Using matrix representation S(sx, sy) = sx 0 0 sy 4. Shear P = S(sx, sy) P (x, y) = sx 0 0 sy x y = x sx y sy Change of one coordinate in proportion to the other Given P = (x, y), shear H x (h x ) Then P (x, y ) = H x (h x ) P, where x = x + h x y, y = y Using matrix representation H x (h x ) = 1 h x 0 1 P = H x (h x ) P (x, y) = 1 h x 0 1 x y = x + h x y y 2

3 Similarly for shear H y (h y ) x = x, y = y + h y x Transformations: 2D Transforms (3) H y (h y ) = 1 0 h y 1 If desire shear to result in a specific angle, use cotθ for h x, where θ is angle of slant wrt x axis 5. These are affine transformations Parallelism is maintained, but angles and lengths are not preserved 6. Potential problem with these formulations: Rotation, scale, and shear are multiplicative, while translation is additive 3

4 Transformations: Homogeneous Coordinates Earlier, noted that, given frame v 1, v 2, v 3, P 0, Can represent vector v as α 1 v 1 + α 2 v 2 + α 3 v 3 Can represent point P as β 1 v 1 + β 2 v 2 + β 3 v 3 + P 0 Note that representation of both v and P have same form, which is problemmatic An alternative is the following: P = [ β 1 β 2 β 3 1 ] v = [ α 1 α 2 α 3 0 ] v 1 v 2 v 3 P 0 v 1 v 2 v 3 P 0 = β 1 v 1 + β 2 v 2 + β 3 v 3 + P 0 = α 1 v 1 + α 2 v 2 + α 3 v 3 Representations using this formulation are v = α 1 α 2 α 3 0 and P = This approach uses 4 values to represent points and vectors in 3-space The 4th coordinate is called a homogeneous coordinate, denoted w Refer to earlier discussion relating affine spaces to vector spaces All points of the form P = w β 1 w β 2 w β 3 w A homogenized point is one in which w = 1 β 1 β 2 β 3 1 represent the same point in 3-space 4

5 Transformations: Homogeneous Coordinates (2) Vectors (w = 0) are referred to as points at infinity Consider w x y x y / /

6 Transformations: 2D Transforms in Homogeneous Representation 1. Translation: T (dx, dy) = 2. Rotation: R(θ) = 1 0 dx 0 1 dy cosθ sinθ 0 sinθ cosθ Scale: S(sx, sy) = sx sy Shear: H x (h x ) = 1 h x

7 Transformations: Import of Linear Functions Using homogeneous representations, q = t(p), u = t(v), where t represents a transform CG concerned with transforms that are linear functions t is a linear function iff for any scalars α, β and points p, q t(αp + βq) = αt(p) + βt(q) I.e., can calculate the transform of linear combinations of points by linearly combining the transformed points Note that lines, whose parametric equations are of form αp + βq, are linear combinations of points Ramifications for CG: To transform a line, we do not have to do so on a point-by-point basis We can simply transform the endpoints, and then redraw the line between them 7

8 Transformations: Window to Viewport Mapping Points in world system are projected onto projection plane during projection The projection plane is then rasterized, which includes converting projected points in world coordinates to corresponding points in the viewport (window coordinates) This represents a transformation in 2-space To accomplish this: 1. Translate projection plane to origin 2. Scale to size of viewport 3. Translate to origin of viewport Details: Given: 1. Projection plane defined by (x min, y min ) and (x max, y max ) 2. Viewport defined by (u min, v min ) and (u max, v max ) 1. Translate projection plane to origin: T ( x min, y min ) = 1 0 x min 0 1 y min Scale to size of viewport: Projection plane width = x max x min ; height = y max y min Viewport width = u max u min ; height = v max v min S ( umax u min, v ) max v min = x max x min y max y min u max u min x max x min 0 0 v 0 max v min y max y min Translate to origin of viewport: T (u min, v min ) = 1 0 u min 0 1 v min

9 Transformations: Window to Viewport Mapping (2) Combining: M w v = T (u min, v min ) S ( umax u min, v ) max v min T ( x min, y min ) x max x min y max y min If P = = x y 1 u max u min x max x min 0 x min then 0 v max v min y max y min y min ( umax u min x max x min ( vmax v min y max y min M P = ( umax u min (x x min ) x max x min ( vmax v min (y y min ) y max y min 1 ) ) + u min + v min ) ) + u min + v min 9

10 Transformations: 3D Basically the same as for 2D, but extended by a row and column 1. Translation: 2. Scale: dx dy dz sx sy sz Rotation: Requires 3 separate matrices, 1 about each axis (a) About the x-axis R x (θ) = (b) About the y-axis R y (θ) = (c) About the z-axis R z (θ) = cosθ sinθ 0 0 sinθ cosθ cosθ 0 sinθ sinθ 0 cosθ cosθ sinθ 0 0 sinθ cosθ

11 4. Shear Transformations: 3D (2) Requires 3 separate matrices, 1 based on each coordinate (a) Based on z (in x, y): H xy (h x, h y ) = (b) Based on y (in x, z): H xz (h x, h z ) = (c) Based on x (in y, z): H yz (h y, h z ) = 1 0 h x h y h x h z h y h z

12 Transformations: Compound Transformations (Catenation) To perform general transform of object 1. Translate to origin 2. Scale, rotate, shear 3. Translate to final position Resulting matrix has form r 11 r 12 r 13 t x r 21 r 22 r 23 t y r 31 r 32 r 33 t z where r ij represent rotation, scale, and shear factors t k represent translation factors 2 approaches to deriving general rotation matrix 1. Brute force 2. Orthogonal matrices 12

13 Transformations: Orthogonal Matrices An orthogonal matrix O is a square matrix with the following special properties. 1. Each row is a unit vector. 2. Each of the row vectors is perpendicular to the other row vectors. 3. Each column is a unit vector. 4. Each of the column vectors is perpendicular to the other column vectors. 5. O 1 = O T 6. If one of the row vectors is multiplied by O, the result is equivalent to rotating that row vector about the origin so that it becomes coincident with an axis: The first row vector rotates into the X axis, The second row into the Y axis, The third into the Z axis. 7. Multiplying one of the principal axes by O has the following results. Multiplying the X axis will transform it into the first column vector of O. Multiplying the Y axis will transform it into the second column vector of O. Multiplying the Z axis will transform it into the third column vector of O. The above properties allow generation of a rotation matrix by direct construction This is achieved by 1. Identifying 3 orthonormal axes associated with the object to be rotated 2. These axes should be such that after the rotation, they are lined up with the world axes 3. Placing unit vectors representing these axes into an orthogonal matrix, so that they rotate into the appropriate world axis 13

14 Transformations: Tranformations and Normals The effect of transforms on normals is important Let n be the normal to a plane, and v be a vector in the plane Then, n v = 0 In matrix representation, n T v = 0 Let v = p p 0 Let M be a transform matrix that transforms v v To maintain orthogonality, we want n n such that n v = 0 Let N be the transform matrix that transforms n n If (n ) T v = 0, then 1. (Nn) T (Mv) = 0 2. n T N T Mv = 0 Since n T v = 0, 1. N T M = I, and 2. N T = M 1 N = (M 1 ) T Note that M 1 may not exist 14

15 Transformations: Tranformations and Normals (2) When will a transform maintain orthogonality? 1. Let n be the normal to a plane going through point p 0 2. The plane is defined by the points n (p p 0 ) = 0 3. Let M be a transform that transforms p 0 p 0 4. The transformed plane will be defined by w (p p 0) = 0 5. Using matrix representation, w T (p p 0) = 0 = w T (Mp Mp 0 ) = w T M(p p 0 ) 6. This can be rewritten as w T M(p p 0 ) = ((w T M) T ) T (p p 0 ) = (M T w) T (p p 0 ) 7. Now, (M T w) T (p p 0 ) = 0 only if (M T w) = n, which holds when w = (M T ) 1 n 8. Therefore, (M T ) 1 = M when M T = M 1 In other words, w n when M is an orthogonal matrix. As a result, translations and rotations do not affect the normals, but scales and shears do. 15

16 Transformations: Rotation Problems - Gimbal Lock Consider an object oriented wrt the X-axis Now consider this object oriented wrt the Z-axis via a rotation about Y Represent this orientation as (0, 90, 0) This equivalent to the transform R z (0)R y (90)R x (0) in OpenGL Note that this rotation lines up the X-axis of the object with the global Z-axis Now, consider you want one of the following 1. Slight shift about Z: (±ɛ, 90, 0) Does the job 2. Slight shift about Y: (0, 90 ± ɛ, 0) Does the job 16

17 Transformations: Rotation Problems - Gimbal Lock (2) 3. Slight shift about X: (0, 90, ±ɛ) Does NOT do the job Result is a change of ±ɛ about the Z-axis! Caused by X having been rotated into Z Problem called gimbal lock Change of orientation can NOT be effected by a simple change in orientation 17

18 Transformations: Rotation Problems - Keyframe Animation Consider the animation of a change in orientation E.g., K 1 = (0, 90, 0) K 2 = (90, 45, 90) Net result is rotation of object about X-axis by 45 0 in Y-Z plane Using parametric interpolation, the intermediate orientation will be (45, 62.5, 45) This will result in the object rotating OUT of the Y-Z plane as it moves between K 1 and K 2! This path is not what is intuitively desired Problem again due to orientation of X-axis with Z-axis 18

19 Transformations: Euler Angle Representation Rather than expressing rotation in terms of the fixed global axes, we can express them in terms of an object s local frame These angles are called Euler angles These frequently referred to as roll, pitch, and yaw Consider the following change in orientation: pitch = α, yaw = β, and roll = γ Let R i(θ) represent a rotation about a singly transformed axis Let R i (θ) represent a rotation about a doubly transformed axis 1. The first rotation is achieved by R x (α) This rotates the object and its local frame! 2. The 2nd rotation is achieved by R y(β)r x (α) This is achieved in terms of the global frame using R x (α)r y (β)r x ( α)r x (α) = R x (α)r y (β) 3. The 3rd rotation is achieved by R z(γ)r y(β)r x (α) This is achieved in terms of the global frame using R x (α)r y (β)r z γr y ( β)r x ( α)r x (α)r y (β) = R x (α)r y (β)r z (γ) The result is simply the same series of rotations, in reverse order of the global approach The moral: Euler angles inherit the same problems as using rotations about the world axes 19

20 Euler s theorem: Transformations: Axis-angle Representation Any orientation can be derived from another by means of a single rotation about some axis Can represent rotations as a 4-tuple: (v x, v y, v z, θ) Consider 1. An initial orientation (v 1, θ 1 ) and 2. A new orientation (v 2, θ 2 ) Can easily interpolate between the initial and goal state by interpolating from 1. v 1 to v 2 2. θ 1 to θ 2 The axis A about which v 1 rotates = v 1 v 2 The angle φ by which v 1 rotates = cos 1 v 1 v 2 v 1 v 2 20

21 Transformations: Axis-angle Representation (2) Then 1. v i = R A (kφ)v 1 2. φ i = (1 k)θ 1 + kθ 2 where R A is rotation transform 0 i n 0 k 1 k = i n This produces a smooth sequence of orientations without the undesirable effects seen with using rotations about world or local axes Implementation problematic 21

22 Transformations: Complex Numbers (Review) Complex number z is ordered pair (x, y) where z = x + yi x is real part, y is imaginary part i = 1 = (0, 1) Pure imaginary number has form z = (0, y) Real number has form z = (x, 0) Complex arithmetic If z 1 = (x 1, y 1 ), z 2 = (x 2, y 2 ) Conjugate z of z = x yi z 1 + z 2 = (x 1 + x 2, y 1 + y 2 ) z 1 z 2 = (x 1 x 2 y 1 y 2, x 1 y 2 + x 2 y 1 ) ( z 1 x1 x 2 + y 1 y 2 = z 2 x y2 2, x ) 2y 1 x 1 y 2 x y2 2 Modulus (absolute value) of z = z = zz = x 2 + y 2 22

23 Transformations: Complex Numbers - Graphical Representation 1. Complex plane Just like 2D points in XY plane Conjugate represents reflection about X-axis Modulus represents distance from origin (vector length of z) 2. Polar coordinates Let r = z and θ = angle from X-axis to vector from origin to z z = r(cosθ + isinθ) = re iθ Euler s formula: e iθ = cosθ + isinθ Complex arithmetic z 1 z 2 = (r 1 r 2 )e i(θ 1+θ 2 ) z 1 /z 2 = (r 1 /r 2 )e i(θ 1 θ 2 ) n [ ( ) ( z = n θ + 2πk θ + 2πk r cos + isin r r k = 0, 1,..., n 1 Roots lie on circle of radius n r about origin of complex plane Represent vertices of regular polygon with n sides )] 23

24 Transformations: Quaternions Quaternions can be thought of as complex numbers extended to higher dimensions Represented by a 4-tuple of 1 real and 3 imaginaries: q = s + ia + jb + kc = (s, v) i, j, k have the following properties: 1. i 2 = j 2 = k 2 = 1 2. ij = ji = k 3. jk = kj = i 4. ki = ik = j Quaternion arithmetic Let q 1 = s 1 + ia 1 + jb 1 + kc 1, q 2 = s 2 + ia 2 + jb 2 + kc 2 1. q 1 + q 2 = s 1 + s 2 + i(a 1 + a 2 ) + j(b 1 + b 2 ) + k(c 1 + c 2 ) = (s 1 + s 2, v 1 + v 2 ) 2. q 1 q 2 = (s 1 s 2 v 1 v 2, s 1 v 2 + s 2 v 1 + v 1 v 2 ) 3. q 1 + q 2 = q 2 + q 1 4. (q 1 + (q 2 + q 3 ) = (q 1 + q 2 ) + q 3 ) 5. q 1 q 2 q 2 q 1 6. (q 1 (q 2 q 3 ) = (q 1 q 2 ) q 3 ) Magnitude: Inverse: q 2 = s 2 + v 1 v 1 1. q 1 = (1/ q 2 )(s, v) 2. qq 1 = q 1 q = (1, 0) 3. (q 1 q 2 ) 1 = q2 1 q1 1 24

25 Transformations: Quaternion Rotation Consider rotation by of some point p by θ about vector û that extends from the origin Consider the unit quaternion q = (s, v), where 1. s = cos(θ/2) 2. v = ûsin(θ/2) 3. û = 1 Represent point p = (x, y, z) by quaternion P = (0, p), where p = (x, y, z) To rotate p around û, compute P = qp q 1, where P = (0, p ), and p = (x, y, z ) 1. p = s 2 p + (p v)v + 2s(v p) + v (v p) = M R(θ) p 2. Letting v = [ a b c ] T where a = û x sin(θ/2),... and substituting in above equation for p results in the quaternion rotation matrix: 25

26 3. M R (θ) = = Transformations: Quaternion Rotation (2) 1 2b 2 2c 2 2ab 2sc 2ac + 2sb 2ab + 2sc 1 2a 2 2c 2 2bc 2sa 2ac 2sb 2bc + 2sa 1 2a 2 2b 2 u 2 x(1 cosθ) + cosθ u x u y (1 cosθ) u z sinθ u x u z (1 cosθ) + u y sinθ u y u x (1 cosθ) + u z sinθ u 2 y(1 cosθ) + cosθ u y u z (1 cosθ) u x sinθ u z u x (1 cosθ) u y sinθ u z u y (1 cosθ) + u x sinθ u 2 z(1 cosθ) + cosθ using cos 2 (θ/2) sin 2 (θ/2) = 1 2sin 2 (θ/2) = cosθ 2cos(θ/2)sin(θ/2) = sinθ Rotations using the inverse of a quaternion are equivalent to rotation about the same axis in the opposite direction. Given quaternions p and q, R q (R p (v)) = q(pvp 1 )q 1 = (qp)v(qp) 1 = R qp (v) 26

27 Transformations: Quaternion Rotation - Basis Consider rotation of vector r about unit vector ˆn by θ Result is vector r r can be decomposed into 2 vectors: 1. r p parallel to ˆn 2. r n normal to ˆn, lying in the plane of the circle traced out by r Let v be normal to both r p and r n Then 1. r p = (ˆn r)ˆn 2. r n = r r p 3. v = ˆn r n = ˆn r 4. r n = (cosθ)r n + (sinθ)v 27

28 Transformations: Quaternion Rotation - Basis (2) So r = r p + r n = r p + (cosθ)r n + (sinθ)v = (ˆn r)ˆn + (cosθ)(r (ˆn r)ˆn) + (sinθ)ˆn r = (cosθ)r + (1 cosθ)(ˆn r)ˆn + (sinθ)ˆn r For any quaternion q = (s, v), There exists a v and θ [ π, π] such that 1. q = (cosθ, v sinθ) 2. If q is a unit quaternion, then q = (cosθ, ˆv sinθ) Consider quaternion p = (0, r) qpq 1 = (0, (s 2 v v)r + 2(v r)v + 2s(v r)) Letting q = (cosθ, (sinθ)ˆn), qpq 1 = (0, (cos 2 θ sin 2 θ)r + 2sin 2 θ(ˆn r)ˆˆn + ˆn r = (0, rcos2θ + (1 cos2θ)(ˆn r)ˆn + sin2θ(ˆn r) The 2 formuli for qpq 1 are the same except that one angle is twice the other Hence, to calculate a rotation of θ about an axis n, use qpq 1, where q = (cos(θ/2), sin(θ/2)n)) 28

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

Transformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Transformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Transformations Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Angel: Interactive Computer Graphics 4E Addison-Wesley 25 1 Objectives

More information

Quaternion Rotations AUI Course Denbigh Starkey

Quaternion Rotations AUI Course Denbigh Starkey Major points of these notes: Quaternion Rotations AUI Course Denbigh Starkey. What I will and won t be doing. Definition of a quaternion and notation 3 3. Using quaternions to rotate any point around an

More information

2D and 3D Transformations AUI Course Denbigh Starkey

2D and 3D Transformations AUI Course Denbigh Starkey 2D and 3D Transformations AUI Course Denbigh Starkey. Introduction 2 2. 2D transformations using Cartesian coordinates 3 2. Translation 3 2.2 Rotation 4 2.3 Scaling 6 3. Introduction to homogeneous coordinates

More 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

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

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

UNIT 2 2D TRANSFORMATIONS

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

CMSC 425: Lecture 6 Affine Transformations and Rotations

CMSC 425: Lecture 6 Affine Transformations and Rotations CMSC 45: Lecture 6 Affine Transformations and Rotations Affine Transformations: So far we have been stepping through the basic elements of geometric programming. We have discussed points, vectors, and

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

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

Quaternions & Rotation in 3D Space

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

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1

1 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 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

2D and 3D Coordinate Systems and Transformations

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

Quaternion properties: addition. Introduction to quaternions. Quaternion properties: multiplication. Derivation of multiplication

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

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry Transforms (part II) Christopher Dyken and Martin Reimers 21.09.2011 Page 1 Transforms (part II) Real Time Rendering book: Transforms (Chapter 4) The Red

More information

Transformations Week 9, Lecture 18

Transformations 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 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

2D Image Transforms Computer Vision (Kris Kitani) Carnegie Mellon University

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

Transformation Algebra

Transformation Algebra Transformation Algebra R. J. Renka Department of Computer Science & Engineering University of North Texas 0/07/205 Linear Transformations A point with Cartesian coordinates (x, y, z) is taken to be a column

More information

a a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b

a a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b MATH 245 Extra Effort ( points) My assistant read through my first draft, got half a page in, and skipped to the end. So I will save you the flipping. Here is the assignment. Do just one of them. All the

More 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

2D TRANSFORMATIONS AND MATRICES

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

Rotations in 3D Graphics and the Gimbal Lock

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

3D Kinematics. Consists of two parts

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

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6. ) is graphed below:

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6. ) is graphed below: Polar Coordinates Any point in the plane can be described by the Cartesian coordinates (x, y), where x and y are measured along the corresponding axes. However, this is not the only way to represent points

More information

Overview. Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections

Overview. Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections Overview Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections ITCS 4120/5120 1 Mathematical Fundamentals Geometric Transformations A set of tools that aid

More information

521493S Computer Graphics Exercise 2 Solution (Chapters 4-5)

521493S 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 information

2D Object Definition (1/3)

2D Object Definition (1/3) 2D Object Definition (1/3) Lines and Polylines Lines drawn between ordered points to create more complex forms called polylines Same first and last point make closed polyline or polygon Can intersect itself

More information

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6 Polar Coordinates Any point in the plane can be described by the Cartesian coordinates (x, y), where x and y are measured along the corresponding axes. However, this is not the only way to represent points

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

12.1 Quaternions and Rotations

12.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 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

Quaternions and Rotations

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

Quaternions and Rotations

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

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

Objectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations

Objectives. 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 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

Chapter 2 - Basic Mathematics for 3D Computer Graphics

Chapter 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 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

Object Representation Affine Transforms. Polygonal Representation. Polygonal Representation. Polygonal Representation of Objects

Object Representation Affine Transforms. Polygonal Representation. Polygonal Representation. Polygonal Representation of Objects Object Representation Affine Transforms Polygonal Representation of Objects Although perceivable the simplest form of representation they can also be the most problematic. To represent an object polygonally,

More information

Computer Graphics: Geometric Transformations

Computer Graphics: Geometric Transformations Computer Graphics: Geometric Transformations Geometric 2D transformations By: A. H. Abdul Hafez Abdul.hafez@hku.edu.tr, 1 Outlines 1. Basic 2D transformations 2. Matrix Representation of 2D transformations

More information

Rotation with Quaternions

Rotation with Quaternions Rotation with Quaternions Contents 1 Introduction 1.1 Translation................... 1. Rotation..................... 3 Quaternions 5 3 Rotations Represented as Quaternions 6 3.1 Dynamics....................

More information

Animation and Quaternions

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

EECE 478. Learning Objectives. Learning Objectives. Linear Algebra and 3D Geometry. Linear algebra in 3D. Coordinate systems

EECE 478. Learning Objectives. Learning Objectives. Linear Algebra and 3D Geometry. Linear algebra in 3D. Coordinate systems EECE 478 Linear Algebra and 3D Geometry Learning Objectives Linear algebra in 3D Define scalars, points, vectors, lines, planes Manipulate to test geometric properties Coordinate systems Use homogeneous

More information

C O M P U T E R G R A P H I C S. Computer Graphics. Three-Dimensional Graphics I. Guoying Zhao 1 / 52

C O M P U T E R G R A P H I C S. Computer Graphics. Three-Dimensional Graphics I. Guoying Zhao 1 / 52 Computer Graphics Three-Dimensional Graphics I Guoying Zhao 1 / 52 Geometry Guoying Zhao 2 / 52 Objectives Introduce the elements of geometry Scalars Vectors Points Develop mathematical operations among

More information

Last week. Machiraju/Zhang/Möller/Fuhrmann

Last week. Machiraju/Zhang/Möller/Fuhrmann Last week Machiraju/Zhang/Möller/Fuhrmann 1 Geometry basics Scalar, point, and vector Vector space and affine space Basic point and vector operations Sided-ness test Lines, planes, and triangles Linear

More information

GEOMETRIC TRANSFORMATIONS AND VIEWING

GEOMETRIC TRANSFORMATIONS AND VIEWING GEOMETRIC TRANSFORMATIONS AND VIEWING 2D and 3D 1/44 2D TRANSFORMATIONS HOMOGENIZED Transformation Scaling Rotation Translation Matrix s x s y cosθ sinθ sinθ cosθ 1 dx 1 dy These 3 transformations are

More information

Transformations (Rotations with Quaternions) October 24, 2005

Transformations (Rotations with Quaternions) October 24, 2005 Computer Graphics Transformations (Rotations with Quaternions) October 4, 5 Virtual Trackball (/3) Using the mouse position to control rotation about two axes Supporting continuous rotations of objects

More information

Interactive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing

Interactive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing Interactive Computer Graphics Aliasing and Anti-Aliasing Hearn & Baker, chapter 4-7 D transforms Hearn & Baker, chapter 5 Aliasing and Anti-Aliasing Problem: jaggies Also known as aliasing. It results

More information

Transformations Computer Graphics I Lecture 4

Transformations Computer Graphics I Lecture 4 15-462 Computer Graphics I Lecture 4 Transformations Vector Spaces Affine and Euclidean Spaces Frames Homogeneous Coordinates Transformation Matrices January 23, 2003 [Angel, Ch. 4] Frank Pfenning Carnegie

More information

Computer Graphics. Chapter 5 Geometric Transformations. Somsak Walairacht, Computer Engineering, KMITL

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

Transforms. COMP 575/770 Spring 2013

Transforms. COMP 575/770 Spring 2013 Transforms COMP 575/770 Spring 2013 Transforming Geometry Given any set of points S Could be a 2D shape, a 3D object A transform is a function T that modifies all points in S: T S S T v v S Different transforms

More information

Introduction to quaternions. Mathematics. Operations

Introduction to quaternions. Mathematics. Operations Introduction to quaternions Topics: Definition Mathematics Operations Euler Angles (optional) intro to quaternions 1 noel.h.hughes@gmail.com Euler's Theorem y y Angle! rotation follows right hand rule

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

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander ME 597: AUTONOMOUS MOILE ROOTICS SECTION 2 COORDINATE TRANSFORMS Prof. Steven Waslander OUTLINE Coordinate Frames and Transforms Rotation Matrices Euler Angles Quaternions Homogeneous Transforms 2 COORDINATE

More information

Early Fundamentals of Coordinate Changes and Rotation Matrices for 3D Computer Vision

Early Fundamentals of Coordinate Changes and Rotation Matrices for 3D Computer Vision Early Fundamentals of Coordinate Changes and Rotation Matrices for 3D Computer Vision Ricardo Fabbri Benjamin B. Kimia Brown University, Division of Engineering, Providence RI 02912, USA Based the first

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

Inertial Measurement Units II!

Inertial Measurement Units II! ! Inertial Measurement Units II! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 10! stanford.edu/class/ee267/!! wikipedia! Polynesian Migration! Lecture Overview! short review of

More information

Game Engineering CS S-05 Linear Transforms

Game Engineering CS S-05 Linear Transforms Game Engineering CS420-2016S-05 Linear Transforms David Galles Department of Computer Science University of San Francisco 05-0: Matrices as Transforms Recall that Matrices are transforms Transform vectors

More information

Image Warping : Computational Photography Alexei Efros, CMU, Fall Some slides from Steve Seitz

Image Warping : Computational Photography Alexei Efros, CMU, Fall Some slides from Steve Seitz Image Warping http://www.jeffre-martin.com Some slides from Steve Seitz 5-463: Computational Photograph Aleei Efros, CMU, Fall 2 Image Transformations image filtering: change range of image g() T(f())

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

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

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

Computer Graphics Geometric Transformations

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

Hello, welcome to the video lecture series on Digital Image Processing. So in today's lecture

Hello, welcome to the video lecture series on Digital Image Processing. So in today's lecture Digital Image Processing Prof. P. K. Biswas Department of Electronics and Electrical Communications Engineering Indian Institute of Technology, Kharagpur Module 02 Lecture Number 10 Basic Transform (Refer

More information

Section III: TRANSFORMATIONS

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

CSC418 / CSCD18 / CSC2504

CSC418 / CSCD18 / CSC2504 5 5.1 Surface Representations As with 2D objects, we can represent 3D objects in parametric and implicit forms. (There are also explicit forms for 3D surfaces sometimes called height fields but we will

More information

Computer Graphics 7: Viewing in 3-D

Computer Graphics 7: Viewing in 3-D Computer Graphics 7: Viewing in 3-D In today s lecture we are going to have a look at: Transformations in 3-D How do transformations in 3-D work? Contents 3-D homogeneous coordinates and matrix based transformations

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

3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations

3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations 3D Mathematics Co-ordinate systems, 3D primitives and affine transformations Coordinate Systems 2 3 Primitive Types and Topologies Primitives Primitive Types and Topologies 4 A primitive is the most basic

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

3D Transformations World Window to Viewport Transformation Week 2, Lecture 4

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

Transformations Computer Graphics I Lecture 4

Transformations Computer Graphics I Lecture 4 15-462 Computer Graphics I Lecture 4 Transformations Vector Spaces Affine and Euclidean Spaces Frames Homogeneous Coordinates Transformation Matrices January 24, 2002 [Angel, Ch. 4] Frank Pfenning Carnegie

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

Basic Elements. Geometry is the study of the relationships among objects in an n-dimensional space

Basic Elements. Geometry is the study of the relationships among objects in an n-dimensional space Basic Elements Geometry is the study of the relationships among objects in an n-dimensional space In computer graphics, we are interested in objects that exist in three dimensions We want a minimum set

More information

Computer Graphics: Viewing in 3-D. Course Website:

Computer Graphics: Viewing in 3-D. Course Website: Computer Graphics: Viewing in 3-D Course Website: http://www.comp.dit.ie/bmacnamee 2 Contents Transformations in 3-D How do transformations in 3-D work? 3-D homogeneous coordinates and matrix based transformations

More information

Image Warping. Some slides from Steve Seitz

Image Warping.   Some slides from Steve Seitz Image Warping http://www.jeffre-martin.com Some slides from Steve Seitz 5-463: Computational Photograph Aleei Efros, CMU, Fall 26 Image Warping image filtering: change range of image g() T(f()) f T f image

More information

CSE328 Fundamentals of Computer Graphics

CSE328 Fundamentals of Computer Graphics CSE328 Fundamentals of Computer Graphics Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 794--44 Tel: (63)632-845; Fax: (63)632-8334 qin@cs.sunysb.edu

More information

Coordinate transformations. 5554: Packet 8 1

Coordinate transformations. 5554: Packet 8 1 Coordinate transformations 5554: Packet 8 1 Overview Rigid transformations are the simplest Translation, rotation Preserve sizes and angles Affine transformation is the most general linear case Homogeneous

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

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

Monday, 12 November 12. Matrices

Monday, 12 November 12. Matrices Matrices Matrices Matrices are convenient way of storing multiple quantities or functions They are stored in a table like structure where each element will contain a numeric value that can be the result

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

Homogeneous Coordinates

Homogeneous Coordinates COMS W4172 3D Math 2 Steven Feiner Department of Computer Science Columbia Universit New York, NY 127 www.cs.columbia.edu/graphics/courses/csw4172 Februar 1, 218 1 Homogeneous Coordinates w X W Y X W Y

More information

Game Engineering: 2D

Game Engineering: 2D Game Engineering: 2D CS420-2010F-07 Objects in 2D David Galles Department of Computer Science University of San Francisco 07-0: Representing Polygons We want to represent a simple polygon Triangle, rectangle,

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

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

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

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

Notes on Spherical Geometry

Notes on Spherical Geometry Notes on Spherical Geometry Abhijit Champanerkar College of Staten Island & The Graduate Center, CUNY Spring 2018 1. Vectors and planes in R 3 To review vector, dot and cross products, lines and planes

More information

+ i a y )( cosφ + isinφ) ( ) + i( a x. cosφ a y. = a x

+ i a y )( cosφ + isinφ) ( ) + i( a x. cosφ a y. = a x Rotation Matrices and Rotated Coordinate Systems Robert Bernecky April, 2018 Rotated Coordinate Systems is a confusing topic, and there is no one standard or approach 1. The following provides a simplified

More information

Camera Projection Models We will introduce different camera projection models that relate the location of an image point to the coordinates of the

Camera Projection Models We will introduce different camera projection models that relate the location of an image point to the coordinates of the Camera Projection Models We will introduce different camera projection models that relate the location of an image point to the coordinates of the corresponding 3D points. The projection models include:

More information

Transformations. Questions on Assignment 1? Announcements

Transformations. Questions on Assignment 1? Announcements Announcements Is your account working yet? Watch out for ^M and missing newlines Assignment 1 is due next Thursday at midnight Check the webpage and newsgroup for answers to questions about the assignment

More information

Motion Control (wheeled robots)

Motion Control (wheeled robots) Motion Control (wheeled robots) Requirements for Motion Control Kinematic / dynamic model of the robot Model of the interaction between the wheel and the ground Definition of required motion -> speed control,

More information

Overview. By end of the week:

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

Transformations. Standard Transformations. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. Angel

Transformations. Standard Transformations. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. Angel INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Transformations David Carr Virtual Environments, Fundamentals Spring 25 Based on Slides by E. Angel Jan-27-5 SMM9, Transformations 1 L Overview

More information