Jorg s Graphics Lecture Notes Coordinate Spaces 1

Size: px
Start display at page:

Download "Jorg s Graphics Lecture Notes Coordinate Spaces 1"

Transcription

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 Projective Space Grassmann space Tensor Algebra Clifford space Euclidian Space Rules of the Space With the inner product ( ) and cross product ( ), we have angles ( v w ), lengths ( v v ), area ( v w ) and volume ( (u v) w ). Working with Multiple Vectors v w Projection of the vector v onto the vector w: Perpendicular component of v to w: ṽ := v v w Reflection of v across w: v 2ṽ w w w w w w w Point Transformations The linear map that maps four points p 0, p, p 2, p 3 to four points p 0, p, p 2, p 3 can be computed as follows: () set v i := p i p 0, v i := p i p 0. (2) Then v 3 = M M v 3, M := [v,v 2,v v 2 R 3 3. Exercise: Parameterize a rotation about a line in 3-space.

2 Jorg s Graphics Lecture Notes Coordinate Spaces 2 Affine Space Affine Space has two kinds of elements: points (location) p and vectors (direction) v. i λ iv i is a vector; i λ ip i is an allowable operation only if i λ i =. Affine coordinates in R 3 : append a 0 or as 4th coordinate [ p := [ p p 2 p 3 T ; [ v 0 := [ ṽ ṽ 2 ṽ 3 0 T. Translation 0 0 t x x x + t x 0 0 t y y 0 0 t z z = y + t y z + t z Rotation: with s := sin(θ), c := cos(θ) c s 0 0 x cx sy s c 0 0 y z = sx + cy z Rigid transformations = translation, rotation and reflection. Orthographic projection Plane with normal n, all (x, y, z) such that [ x n x n y n z n c y z = 0 Conic, all (x, y) such that [ x y Q Q 2 L Q 2 Q 22 L 2 x y = 0 L L 2 C 0 Quadric, all (x, y, z) s.t. [ x y z Q Q 2 Q 3 L x Q 2 Q 22 Q 23 L 2 y Q 3 Q 23 Q 23 L 3 z = 0 L L 2 L 3 C 0

3 Jorg s Graphics Lecture Notes Coordinate Spaces 3 The Bernstein-Bézier form is well-defined since i b i(u) = for b i (u) := ( d ) i ( u) d i u i. Shortcomings of Affine Space for Graphics: While vectors can be added to vectors and points, points can only be added under extra constraints. Therefore there are two disjoint copies of Euclidean space. P P i wipibi(u) i wibi(u) The rational Bernstein-Bézier form be represented because generally w i {0, }. Perspective projection cannot be represented i [ wipi w i b i (u) cannot Projector Object Object COP Projection plane vs DOP Projector Projection plane

4 Jorg s Graphics Lecture Notes Coordinate Spaces 4 Projective Space, Homogenous Coordinates Projective Space has two kinds of elements: Affine Points and Points at Infinity. The points can be modeled by embedding in a space of one more dimension, as homogenous coordinates. Homogenous Representation Of an affine point is [ x x 2... x n x n+ T for xn+ 0; Of a point at infinity is [ x x 2... x n 0 T ; Completes the geometry of Affine Space: A pair of lines always intersects in a point, possibly at infinity. (advanced) More generally, Bezout s Theorem holds in complex projective space: for polynomials p(x,y) and q(x,y) that have no common factor and are of degree m and n repectively, the curves p(x,y) = 0 and q(x, y) = 0 have mn intersections. Perspective Scaling x y z = /k x y z /k = kx ky kz. Frustum, Clipping (Projection into 3D double unit box) with x := x x = (xmax-xmin) etc. 2 x 0 0 x+x x glfrustum(xmin,xmax,ymin,ymax,near,far) 2 0 y 0 ȳ+y y z z+z z Maps a viewing frustum (rectangular box) to [, 3. Example: (A point between x and x is mapped to the interval [, ) x = 4, x = 0, x = 4, x+x x =, 2 x = /2. Then [ 3 is mapped to [ /2. Duality theorems hold: points and planes (represented by normals) behave (almost) identically. (advanced) Pascal s and Brianchon s Theorems hold: Pascal: inscribe a hexagon in a conic; then opposite edges intersect in three points that are collinear. Brianchon: circumscribe a hexagon about a conic; then the diagonals are concurrent.

5 Jorg s Graphics Lecture Notes Coordinate Spaces 5 Shortcomings of Projective Space for Graphics A point on a projective line does not split the line into two parts: a person looking in one unobstructed direction sees his on back. Construction of curves is unintutive. There is no notion of length. It is not a vector space. Addition of homogeneous coordinates (here n = 2) does not work: 2 = 2 4, 3 2 = 9 6, but = = Therefore i [ pi w i b i (u) does not make sense. To complete the algebra (to make sense of the addition of 4-vectors) we will need a Grassmann space.

6 Jorg s Graphics Lecture Notes Coordinate Spaces 6 Grassmann space A (n + dimensional) linear vector space where points are of the form [ wp w. Then addition of these weighted mass points is according to (Archimedes law of the lever): [ wp w + [ w2p2 w 2 = [ wp+w2p2 w +w 2 = (w + w 2 )[ wp +w 2p 2 w +w 2 In particular, the Euclidean component is w p + w 2 p 2 w + w 2.. [ wp+w2p2 w +w 2 [ w2p2 w 2 affine points [ wp w [ p [ p2 affine vectors [ w p +w 2 p 2 w +w 2 [ 0 0

7 Jorg s Graphics Lecture Notes Coordinate Spaces 7 Perspective Projection Let ˆn be the projection plane (ˆn := [ n d ; n is the normal and d the distance to the 0 R 3 ) and ê the eye position. The perspective projection matrix P in Grassmann coordinates is Then the projection is P := outerprod(ê, ˆn) diag(ê ˆn). p + := P ˆp = ê(ˆn ˆp) (ê ˆn)ˆp. To verify, intersect the line through the points ˆp := [ wp w and ê with the plane ˆnˆx = 0. and check that ˆn p + = 0. Example: (vertical z direction, horizontal x direction, no y) ê ˆx : ˆx ˆn = 0 p + (perspective projection) ˆn depth(p) p For example, in homogenous coordinates [ x z w (i.e. we drop the y dimension and the projection plane is a projection line), let ê := [ 4 4 ˆp, ˆp := [ 2 2 and ˆn := [ 0, i.e. the projection plane is the line {(x, z, ) : z = } (since [ x z [ 0 = 0 is the equation of the plane). Then p + := 3[ 4 4 3[ 2 2 = [ 6 6 [. 6 Tensor Algebra Transformation of normal: by inverse of vertex transformation matrix: ˆn T ˆx = 0 (ˆnM )(Mˆx). ˆx (points, tangents) are contra-variant. ˆn (normals) are co-variant. M (transformation) contra-variant 2-tensor. Q (conic section) co-variant 2-tensor.

8 Jorg s Graphics Lecture Notes Coordinate Spaces 8 3D interfaces Trackball Goal: convert a 2D (integer) change of mouse position to a rotation in 3D. Sample Code 4track.c Description Associate each mouse position = (i, j) with the point on a unit hemisphere: () For w=width, scale the x component to (2i w)/w and the y component to (2j w)/w. (2) set z := x 2 y 2. centered, but mouse starts at 0 Two consecutive points P and P 2 on the hemisphere define a normal direction n = P P 2. Rotate about n.

9 Jorg s Graphics Lecture Notes Coordinate Spaces 9 3D interfaces Problems with Euler angles Rotate about x, y, z axis Anisotropy, Coordinate system dependence: The ordering and orientation of the coordinate axes is important. (The parameters lack a simple, local geometric interpretation.) Finding the Euler angles for a given orientation is difficult. (although getmatrix() helps) Gimbal Lock: a degree of freedom can vanish. However, easy to implement and widely used. Gimbal lock: Mechanical problem that arises in the support of gyroscopes by three nested rotating frames. After a y-rotation by π/2 (rotates x-axis onto z-axis) an x-rotation by α equals z-rotation by α. Objects seem to stick. Some orientations are difficult to obtain from the wrong direction. interpolation through singularity behaves unpredictable. The effect is simple to see algebraically. If α y = π/2 (and c y = cos(α y ) etc.) then c y 0 s y R y = s y 0 c y 0 = and c z s z 0 0 R x R y R z = 0 c x s x s z c z s x c x = s c 0 0 c s where c = cos(α x α z ) and s = sin(α x α z ) : only one degree of freedom!

10 Jorg s Graphics Lecture Notes Coordinate Spaces 0 3D interfaces Quaternions Motivating Analogy: 2D rotation of the point x = (x, x 2 ) by the angle α can be expressed as multiplication with a matrix of the form [ c s c := cos(α),, s c s := sin(α). or, alternatively, expressing x as the complex number x +ix 2 where i :=, as multiplication in the complex field by e iα = cos(α) + i sin(α). The appropriate field for expressing rotations in 3D are the (normalized) quaternions ˆq := q 0 + iq + jq 2 + kq 3 = (q 0, q, q 2, q 3 ) =: (q 0,q), where q := (q, q 2, q 3 ) is a vector in R 3. Quaternions have the multiplication table i j k i k j j k i k j i The product of two quaternions ˆp and ˆq is again a quaternion: ˆp ˆq = (p 0 q 0 (p q + p 2 q 2 + p 3 q 3 ), p 0 q + q 0 p + p q). We define ˆq 2 = q q q. This implies (check that ˆq ˆq is real) Construction and Use ˆq = (q 0, q)/ ˆq 2 Quaternion for rotation about x R 3 by α: ˆq = (cos(α/2), sin(α/2) x x ) Rotation of the point v := (v, v 2, v 3 ): ˆq (0,v) ˆq. Note: ˆq and ˆq represent the same rotation and rotation by 0 and 360 degrees coincide.

11 Jorg s Graphics Lecture Notes Coordinate Spaces Interpolating Quaternions for Animation Spherical linear interpolation of rotations (for animation) where φ = acos(ˆp, ˆq) is the angle between ˆp and ˆq viewed as vectors in R 4 : slerp(ˆp, ˆq, t) = ˆp(ˆp ˆq) t = ˆp tˆq t = sin( t)φ ˆp + sin(tφ) sin φ sin φ ˆq. To move from ˆp to ˆq vary t from 0 to. If ˆp or ˆq are not of the same size then angular speed will vary. Hence use only unit quaternions (slerp moves on sphere in 4D along a great arc). Better: quaternion splines Sample Code 4quaternion.c Use the arrows to see motion along a B- spline Quaternions: (advanced) Derivation: The trace of any rotation matrix with angle α is + 2 cos(α). *Therefore* q 0 = cos(α/2) and for some scalar k q 0 = cos(α/2), q = kx. To normalize the quaternion choose k = sin(α/2)/ ˆq since = ˆq = cos(α/2) 2 + k 2 x x. Any rotation matrix can be expressed in terms of a quaternion as 2q2 2 2q2 3 2(q q 2 + q 0 q 3 ) 2(q q 3 q 0 q 2 ) 2(q q 2 q 0 q 3 ) 2q 2 2q3 2 2(q 2 q 3 + q 0 q ) 2(q q 3 + q 0 q 2 ) 2(q 2 q 3 q 0 q ) 2q 2 2q2 2 (more symmetric than Euler) Rotation about x-axis by α: ˆq = (c, s, 0, 0) where c = cos(α/2) and s 2 2sc, sin(α) = 2sc, cos(α) = 2s sc 2s 2 One can also convert from rotation matrix to quaternion.

12 Jorg s Graphics Lecture Notes Coordinate Spaces 2 Camera Position A change of the model-view (multiplication by model-view matrix) can be interpreted either as (a) changing subsequent camera position or (b) applying the inverse motion to the world (and the camera always looks down negative z axis). In matrix notation, object O, camera C, transformation matrices M i M 3 M 2 M O and C is the same as M O and M 2 M 3 C Specification of the camera requires six scalars 3 for the position (View Reference Point) and 3 for the orientation (2 for the (normalized) view-plane normal and (angle) for the up-direction.) Instead of the normal to the view-plane, an unnormalized 3-vector at can be chosen. Instead of the up-direction v to the view-plane, an unnormalized 3-vector up can be chosen; the projection into the view plane v := up up at at at at defines the up direction in the view plane. (Check n v = 0.) glulookat(eyex, eyey, eyez, atx,aty,atz, upx,upy,upz) (at x, at y, at z ) y (up x, up y, up z ) x (eye x, eye y, eye z ) z

13 Jorg s Graphics Lecture Notes Coordinate Spaces 3 Relative Coordinates and Angle-based Coordinates y y y x x x z z Roll Pitch Yaw z n Elevation Azimuth

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

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

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

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

3-D D Euclidean Space - Vectors

3-D D Euclidean Space - Vectors 3-D D Euclidean Space - Vectors Rigid Body Motion and Image Formation A free vector is defined by a pair of points : Jana Kosecka http://cs.gmu.edu/~kosecka/cs682.html Coordinates of the vector : 3D Rotation

More information

Homogeneous coordinates, lines, screws and twists

Homogeneous coordinates, lines, screws and twists Homogeneous coordinates, lines, screws and twists In lecture 1 of module 2, a brief mention was made of homogeneous coordinates, lines in R 3, screws and twists to describe the general motion of a rigid

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

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

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

CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation

CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation CS 475 / CS 675 Computer Graphics Lecture 16 : Interpolation for Keyframing Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent)

More 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

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

Computer Animation II

Computer Animation II Computer Animation II Orientation interpolation Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic Lecture 13 6.837 Fall 2002 Interpolation Review from Thursday Splines Articulated bodies

More 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

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

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009 Model s Lecture 3 Sections 2.2, 4.4 World s Eye s Clip s s s Window s Hampden-Sydney College Mon, Aug 31, 2009 Outline Model s World s Eye s Clip s s s Window s 1 2 3 Model s World s Eye s Clip s s s Window

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

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

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

Multiple View Geometry in Computer Vision

Multiple View Geometry in Computer Vision Multiple View Geometry in Computer Vision Prasanna Sahoo Department of Mathematics University of Louisville 1 Projective 3D Geometry (Back to Chapter 2) Lecture 6 2 Singular Value Decomposition Given a

More information

Visualizing Quaternions

Visualizing Quaternions Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 1 Tutorial 1 GRAND PLAN I: Fundamentals of Quaternions II: Visualizing Quaternion Geometry III: Quaternion

More 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

3D Viewing. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

3D Viewing. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller 3D Viewing CMPT 361 Introduction to Computer Graphics Torsten Möller Reading Chapter 4 of Angel Chapter 6 of Foley, van Dam, 2 Objectives What kind of camera we use? (pinhole) What projections make sense

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

Computer Vision I - Appearance-based Matching and Projective Geometry

Computer Vision I - Appearance-based Matching and Projective Geometry Computer Vision I - Appearance-based Matching and Projective Geometry Carsten Rother 05/11/2015 Computer Vision I: Image Formation Process Roadmap for next four lectures Computer Vision I: Image Formation

More information

IMAGE-BASED RENDERING AND ANIMATION

IMAGE-BASED RENDERING AND ANIMATION DH2323 DGI17 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION IMAGE-BASED RENDERING AND ANIMATION Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

More 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

3D Viewing. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

3D Viewing. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller 3D Viewing Introduction to Computer Graphics Torsten Möller Machiraju/Zhang/Möller Reading Chapter 4 of Angel Chapter 13 of Hughes, van Dam, Chapter 7 of Shirley+Marschner Machiraju/Zhang/Möller 2 Objectives

More information

Projective geometry for Computer Vision

Projective geometry for Computer Vision Department of Computer Science and Engineering IIT Delhi NIT, Rourkela March 27, 2010 Overview Pin-hole camera Why projective geometry? Reconstruction Computer vision geometry: main problems Correspondence

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

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

CS-9645 Introduction to Computer Vision Techniques Winter 2019

CS-9645 Introduction to Computer Vision Techniques Winter 2019 Table of Contents Projective Geometry... 1 Definitions...1 Axioms of Projective Geometry... Ideal Points...3 Geometric Interpretation... 3 Fundamental Transformations of Projective Geometry... 4 The D

More information

Animation. Animation

Animation. Animation CS475m - Computer Graphics Lecture 5 : Interpolation for Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent) results.

More information

Homogeneous Coordinates and Transformations of the Plane

Homogeneous Coordinates and Transformations of the Plane 2 Homogeneous Coordinates and Transformations of the Plane 2. Introduction In Chapter planar objects were manipulated by applying one or more transformations. Section.7 identified the problem that the

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

Transformations: 2D Transforms

Transformations: 2D Transforms 1. Translation Transformations: 2D Transforms Relocation of point WRT frame Given P = (x, y), translation T (dx, dy) Then P (x, y ) = T (dx, dy) P, where x = x + dx, y = y + dy Using matrix representation

More information

Fundamentals of Computer Animation

Fundamentals of Computer Animation Fundamentals of Computer Animation Quaternions as Orientations () page 1 Multiplying Quaternions q1 = (w1, x1, y1, z1); q = (w, x, y, z); q1 * q = ( w1.w - v1.v, w1.v + w.v1 + v1 X v) where v1 = (x1, y1,

More information

Shadows in Computer Graphics

Shadows in Computer Graphics Shadows in Computer Graphics Steven Janke November 2014 Steven Janke (Seminar) Shadows in Computer Graphics November 2014 1 / 49 Shadows (from Doom) Steven Janke (Seminar) Shadows in Computer Graphics

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

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

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

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

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

Homogeneous Coordinates. Lecture18: Camera Models. Representation of Line and Point in 2D. Cross Product. Overall scaling is NOT important.

Homogeneous Coordinates. Lecture18: Camera Models. Representation of Line and Point in 2D. Cross Product. Overall scaling is NOT important. Homogeneous Coordinates Overall scaling is NOT important. CSED44:Introduction to Computer Vision (207F) Lecture8: Camera Models Bohyung Han CSE, POSTECH bhhan@postech.ac.kr (",, ) ()", ), )) ) 0 It is

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

How to Project Spherical Conics into the Plane

How to Project Spherical Conics into the Plane How to Project pherical Conics into the Plane Yoichi Maeda maeda@keyakiccu-tokaiacjp Department of Mathematics Tokai University Japan Abstract: In this paper, we will introduce a method how to draw the

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

DD2423 Image Analysis and Computer Vision IMAGE FORMATION. Computational Vision and Active Perception School of Computer Science and Communication

DD2423 Image Analysis and Computer Vision IMAGE FORMATION. Computational Vision and Active Perception School of Computer Science and Communication DD2423 Image Analysis and Computer Vision IMAGE FORMATION Mårten Björkman Computational Vision and Active Perception School of Computer Science and Communication November 8, 2013 1 Image formation Goal:

More information

Rigid Body Motion and Image Formation. Jana Kosecka, CS 482

Rigid Body Motion and Image Formation. Jana Kosecka, CS 482 Rigid Body Motion and Image Formation Jana Kosecka, CS 482 A free vector is defined by a pair of points : Coordinates of the vector : 1 3D Rotation of Points Euler angles Rotation Matrices in 3D 3 by 3

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

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

Advanced Computer Graphics Transformations. Matthias Teschner

Advanced Computer Graphics Transformations. Matthias Teschner Advanced Computer Graphics Transformations Matthias Teschner Motivation Transformations are used To convert between arbitrary spaces, e.g. world space and other spaces, such as object space, camera space

More information

Chapter 9. Linear algebra applications in geometry

Chapter 9. Linear algebra applications in geometry Chapter 9. Linear algebra applications in geometry C.O.S. Sorzano Biomedical Engineering August 25, 2013 9. Linear algebra applications in geometry August 25, 2013 1 / 73 Outline 9 Linear algebra applications

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

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

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided

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

Chapter 15: Functions of Several Variables

Chapter 15: Functions of Several Variables Chapter 15: Functions of Several Variables Section 15.1 Elementary Examples a. Notation: Two Variables b. Example c. Notation: Three Variables d. Functions of Several Variables e. Examples from the Sciences

More information

3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination

3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination Rendering Pipeline 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination 3D Polygon Rendering What steps are necessary to utilize spatial coherence while drawing

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

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

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

Central issues in modelling

Central issues in modelling Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to

More 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

Computer Viewing. CITS3003 Graphics & Animation. E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley

Computer Viewing. CITS3003 Graphics & Animation. E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley Computer Viewing CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 1 Objectives Introduce the mathematics of projection Introduce OpenGL viewing

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

Generalized barycentric coordinates

Generalized barycentric coordinates Generalized barycentric coordinates Michael S. Floater August 20, 2012 In this lecture, we review the definitions and properties of barycentric coordinates on triangles, and study generalizations to convex,

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

Viewing with Computers (OpenGL)

Viewing with Computers (OpenGL) We can now return to three-dimension?', graphics from a computer perspective. Because viewing in computer graphics is based on the synthetic-camera model, we should be able to construct any of the classical

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

Rotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011

Rotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011 Rotation and Orientation: Fundamentals Perelyaev Sergei VARNA, 0 What is Rotation? Not intuitive Formal definitions are also confusing Many different ways to describe Rotation (direction cosine) matri

More 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

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

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

with slopes m 1 and m 2 ), if and only if its coordinates satisfy the equation y y 0 = 0 and Ax + By + C 2

with slopes m 1 and m 2 ), if and only if its coordinates satisfy the equation y y 0 = 0 and Ax + By + C 2 CHAPTER 10 Straight lines Learning Objectives (i) Slope (m) of a non-vertical line passing through the points (x 1 ) is given by (ii) If a line makes an angle α with the positive direction of x-axis, then

More information

Outline. ETN-FPI Training School on Plenoptic Sensing

Outline. ETN-FPI Training School on Plenoptic Sensing Outline Introduction Part I: Basics of Mathematical Optimization Linear Least Squares Nonlinear Optimization Part II: Basics of Computer Vision Camera Model Multi-Camera Model Multi-Camera Calibration

More information

METR Robotics Tutorial 2 Week 2: Homogeneous Coordinates

METR Robotics Tutorial 2 Week 2: Homogeneous Coordinates METR4202 -- Robotics Tutorial 2 Week 2: Homogeneous Coordinates The objective of this tutorial is to explore homogenous transformations. The MATLAB robotics toolbox developed by Peter Corke might be 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

Computer Graphics I Lecture 11

Computer Graphics I Lecture 11 15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

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

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

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

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder] Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder] Preliminaries Recall: Given a smooth function f:r R, the function

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

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents Mathematical Tools in Computer Graphics with C# Implementations by Hardy Alexandre, Willi-Hans Steeb, World Scientific Publishing Company, Incorporated, 2008 Table of Contents List of Figures Notation

More information

3D Computer Vision II. Reminder Projective Geometry, Transformations. Nassir Navab. October 27, 2009

3D Computer Vision II. Reminder Projective Geometry, Transformations. Nassir Navab. October 27, 2009 3D Computer Vision II Reminder Projective Geometr, Transformations Nassir Navab based on a course given at UNC b Marc Pollefes & the book Multiple View Geometr b Hartle & Zisserman October 27, 29 2D Transformations

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

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

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

Chapter 5. Projections and Rendering

Chapter 5. Projections and Rendering Chapter 5 Projections and Rendering Topics: Perspective Projections The rendering pipeline In order to view manipulate and view a graphics object we must find ways of storing it a computer-compatible way.

More information

Algebraic Geometry of Segmentation and Tracking

Algebraic Geometry of Segmentation and Tracking Ma191b Winter 2017 Geometry of Neuroscience Geometry of lines in 3-space and Segmentation and Tracking This lecture is based on the papers: Reference: Marco Pellegrini, Ray shooting and lines in space.

More information

Freeform Curves on Spheres of Arbitrary Dimension

Freeform Curves on Spheres of Arbitrary Dimension Freeform Curves on Spheres of Arbitrary Dimension Scott Schaefer and Ron Goldman Rice University 6100 Main St. Houston, TX 77005 sschaefe@rice.edu and rng@rice.edu Abstract Recursive evaluation procedures

More information

3D Computer Vision II. Reminder Projective Geometry, Transformations

3D Computer Vision II. Reminder Projective Geometry, Transformations 3D Computer Vision II Reminder Projective Geometry, Transformations Nassir Navab" based on a course given at UNC by Marc Pollefeys & the book Multiple View Geometry by Hartley & Zisserman" October 21,

More information

Humanoid Robotics. Projective Geometry, Homogeneous Coordinates. (brief introduction) Maren Bennewitz

Humanoid Robotics. Projective Geometry, Homogeneous Coordinates. (brief introduction) Maren Bennewitz Humanoid Robotics Projective Geometry, Homogeneous Coordinates (brief introduction) Maren Bennewitz Motivation Cameras generate a projected image of the 3D world In Euclidian geometry, the math for describing

More information

Unit Activity Correlations to Common Core State Standards. Geometry. Table of Contents. Geometry 1 Statistics and Probability 8

Unit Activity Correlations to Common Core State Standards. Geometry. Table of Contents. Geometry 1 Statistics and Probability 8 Unit Activity Correlations to Common Core State Standards Geometry Table of Contents Geometry 1 Statistics and Probability 8 Geometry Experiment with transformations in the plane 1. Know precise definitions

More information

Chapter 8 Three-Dimensional Viewing Operations

Chapter 8 Three-Dimensional Viewing Operations Projections Chapter 8 Three-Dimensional Viewing Operations Figure 8.1 Classification of planar geometric projections Figure 8.2 Planar projection Figure 8.3 Parallel-oblique projection Figure 8.4 Orthographic

More information

Isometries. 1 Identifying Isometries

Isometries. 1 Identifying Isometries Isometries 1 Identifying Isometries 1. Modeling isometries as dynamic maps. 2. GeoGebra files: isoguess1.ggb, isoguess2.ggb, isoguess3.ggb, isoguess4.ggb. 3. Guessing isometries. 4. What can you construct

More information

Today s Agenda. Geometry

Today s Agenda. Geometry Today s Agenda Geometry Geometry Three basic elements Points Scalars Vectors Three type of spaces (Linear) vector space: scalars and vectors Affine space: vector space + points Euclidean space: vector

More information

CSE452 Computer Graphics

CSE452 Computer Graphics CSE45 Computer Graphics Lecture 8: Computer Projection CSE45 Lecture 8: Computer Projection 1 Review In the last lecture We set up a Virtual Camera Position Orientation Clipping planes Viewing angles Orthographic/Perspective

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