COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

Size: px
Start display at page:

Download "COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates"

Transcription

1 COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The

2 Lecture outline Introduction Vectors and matrices Translation Rotation Homogeneous coordinates Affine transformations

3 Transformation geometry How are geometric transformations represented conveniently and efficiently? Aim: understand how two-dimensional (2D) transformations are combined conveniently and the benefits of homogeneous coordinates. Reading: Foley Sections 5.3 Homogeneous coordinates and matrix representation of 2D transformations, 5.4 Composition of 2D transformations and 5.6 Efficiency.

4 Review of two-dimensional (2D) geometry Points are represented either in absolute position, relative to origin in Cartesian coordinates: (x, y) R 2 or polar coordinates: (ρ, θ). [ ] vx Vectors represent relative displacement, v = and are subject to vector addition, subtraction, scalar product (dot product) or norm (magnitude) operations. v y

5 Curves can be modelled in either explicit functional form: y = F(x) or implicit equational form: G(x, y) = 0 or parametric form: e.g. some straight lines are: x = x(t) y = y(t) y = mx + b (explicit functional form) ax + by + c = 0 (implicit equational form) x cos θ + y sin θ = ρ (implicit equational form) x = x 0 + x 1 p(t), y = y 0 + y 1 p(t) (parametric form) Special forms include a line through two points or line segments such as endpoints or parameter bounds.

6 Geometric transformations General geometric transformations concern object points rather than transformation of the entire coordinate frame, x = g(x, y), y = h(x, y). More specific geometric transformations involve translations, where x = x + x t, and y = y + y t and linear transformations v = Mv (where v is a vector and M is a matrix) such as scaling, shear, rotation, reflection.

7 Vector and matrix conventions There are two conventions for vectors and matrices, the text (Rowe) uses this form, where vectors are written as columns: [ ] x v = y Matrices multiply on the left: Mv = = [ ] [ ] a b x c d y [ ] ax + by cx + dy

8 However, watch out for other forms where vectors are written as rows: v = [ x y ] [ ] T x = y Matrices multiply on the right: vm = [ x y ] [ ] a b c d [ ] ax + cy = bx + dy Really, you should understand the concepts, and be able to work with either notation.

9 Translation Translation is also known as shifting or displacement, where x = x + x t and y = y + y t. Translation in two-dimensional vector notation (by addition): [ ] x = y [ x y ] + [ xt y t ]

10 Rotation Rotation of an object about the origin

11 Rotation as a matrix operation (by multiplication): [ ] [ ] [ ] cos θ sin θ x x cos θ y sin θ = sin θ cos θ y x sin θ + y cos θ Convenient, as can combine a number of geometric rotations by multiplication, [ ] [ ] [ ] x cos θ sin θ x y = sin θ cos θ y Unfortunately translation is different to rotation, therefore can t treat as multiplication (also true for scaling). This means translations and rotations cannot be combined easily.

12 How are rotation matrices derived? ( 00, ) Increasing x f Increasing y q ( x, y ) ( xy, ) Hint: Consider the point above with polar coordinates (ρ, θ) (Rowe Fig 2.1). If rotated by angle φ around the origin, its polar coordinates are (ρ, θ + φ), converting to Cartesian coordinates gives, [ ] ρ cos(θ + φ) ρ sin(θ + φ)

13 We can expand and re-arrange this in terms of the cosine and sine angle-addition formulas, and the Cartesian coordinates of the original point x = ρ cos φ y = ρ sin φ to obtain a matrix expression for a rotation by angle θ. x = ρ cos(φ + θ) = ρ cos φ cos θ ρ sin φ sin θ y = ρ sin(φ + θ) = ρ cos φ sin θ + ρ sin φ cos θ x = ρ cos(φ + θ) =ρ cos φcos θ ρ sin φsin θ y = ρ sin(φ + θ) =ρ cos φsin θ+ρ sin φcos θ x = xcos θ ysin θ y = xsin θ+ycos θ

14 Rigid body transformations Rotation, translation, and reflection preserve distances (rigid motions). That is, if two points are a certain distance apart, they will still be the same distance apart after undergoing one of these transformations (or indeed any combination of them). Mathematically, they are the only transformations with this property of preserving distance.

15 Reflection Reflection in a line gives mirror image Move point to position at equal distance on opposite side of the line. Reflection in the x-axis: Reflection in the y-axis: x = x y = y x = x y = y

16

17 Reflection in the line y = x: x = y y = x All these can be expressed as matrix operations (details left to you). Reflections in an arbitrary line can be achieved by transforming line (by rotation and translation) to one of the coordinate axes, reflecting in that axis, and transforming back. Reflection reverses handedness an object goes to its mirror image. Rotation and translation preserve handedness they correspond to motions of rigid (solid) objects.

18 Homogeneous coordinates Homogeneous coordinates introduces a third dummy coordinate w, represented as (x, y, w). You imagine a third dimension z or (x/z, y/z), where a ray from the origin to point (x, y, z) in three-dimensions pierces the plane at z = 1. This paradoxically suggests that there is some ideal point (x, y, 0). More importantly it allows for many different homogeneous coordinate representations of the same point, e.g. (2, 3, 6) is the same as (4, 6, 12), etc.

19 In homogeneous coordinates this third dimension is often named w or (wx, wy, w) where w 0. You homogenise by dividing by w to get (x, y, 1) (Foley Figure 5.07). W P X Y W = 1 plane This imaginary dimension can also be considered as (x/z, y/z) where a ray from the origin to point (x, y, z) in three-dimensions pierces the plane at z = 1.

20 In Figure 5.7 (Foley, page 171): Each point subsequently has many different homogeneous coordinate representations, e.g. (2, 3, 6) is the same as (4, 6, 12), etc. Homogenise by dividing by w to get (x, y, 1).

21 Translation in homogeneous coordinates: 1 0 x t wx w(x + x t ) 0 1 y t wy = w(y + y t ) w w The additional (redundant) dimension w allows translation becomes linear and allows the translation to be written as a matrix product rather than a sum. Translation in homogeneous coordinates (with w = 1): x 1 0 x t x x + x t y = 0 1 y t y = y + y t

22 Rotation in homogeneous coordinates cos θ sin θ 0 R = sin θ cos θ inverse rotation, R -1 = R T, cos θ sin θ 0 R = sin θ cos θ How does one rotate about an arbitrary point?

23 In general, with these transforms (except translation of course), we get the 3-by-3 homogeneous version by putting the 2-by-2 matrix down in the upper-left 2-by-2 block of what is otherwise a 3-by-3 identity matrix. Inverse rotation is rotation by negative angle θ. Since cos( θ) = cos(θ) and sin( θ) = sin(θ), the structure of the rotation matrix means that its inverse is its transpose. (Actually, this is a property common to all orthogonal matrices, of which rotation is a special case.)

24 Non-rigid body transformations Scaling is also known as dilatation, magnification or shrinking, where x = x s x and y = y s y. %epsfigfile=scale.eps, height=45mm, width=45mm Scaling is an affine transformation (affine transformations preserve collinearity of lines, or curvature).

25 Affine transformations An affine transformation preserves collinearity between points (ie. three points which lie on a line continue to be collinear after the transformation), and ratios of distances between any two points. Therefore translation, rotation, scaling and shear are all affine transformations.

26 Scaling as a matrix operation: [ ] [ ] [ ] x xs 0 x y = 0 y s y Scaling in homogeneous coordinates: x x s 0 0 x x s x y = 0 y s 0 y = y s y This shows how scaling can be achieved as a matrix operation. If x s = y s, get isotropic scaling. Scaling is inverted by using reciprocals of scale factors, 1/x s and 1/y s. Using scale factors of 1 gives an identity transformation.

27 Shear Horizontal shear: x = x + x h y y = y Everything keeps its vertical position, but is dragged sideways in proportion to its vertical position. A square is dragged out into a parallelogram with the same height.

28 Horizontal shear in homogeneous coordinates: x 1 x h 0 x (x + x h y) y = y = (y)

29 Vertical shear: x = x y = y + y h x Everything keeps its horizontal position, but is dragged up or down in proportion to its horizontal position. A square is dragged out into a parallelogram with the same width.

30 Vertical shear in homogeneous coordinates: x x (x) y = y h 1 0 y = (y h x + y) Shears are elementary transforms many useful transforms can be made by appropriate combinations of shears this can have theoretical and computational benefits for example, totations can be decomposed into shears and used for producing fast method of rotating, without need for using trogonometric function calls

31 Combining transformation matrices Any transformation (or combination of transformations) can be expressed in homogeneous coordinates by means of the matrix equation: x m 00 m 01 m 02 x y = m 10 m 11 m 12 y

32 Affine transformations in 2D Any affine transformation (or combination of transformations) can be expressed in homogeneous coordinates by means of the matrix equation: x y 1 = m 00 m 01 m 02 m 10 m 11 m x y 1

33 1 0 x t 0 1 y t (translation) x s y s 0 (scaling) cos θ sin θ 0 sin θ cos θ 0 (clockwise rotation by theta) 0 0 1] cos θ sin θ 0 sin θ cos θ 0 (anti-clockwise rotation by theta) 0 0 1

34 Example: rotation around an arbitrary 2D point y y y y P 1 P 1 Original house x After translation of P 1 to origin x After rotation q x After translation to original P 1 x (Foley Figure 5.10)

35 Rotating a point (x, y) about an arbitrary fixed point (rather than the origin), to obtain a new point (x r, y r ). x r y r c x cos θ sin θ c x x = 0 1 c y sin θ cos θ c y y = cos θ sin θ c x (1 cos θ) + c y sin θ sin θ cos θ c y (1 cos θ) c x sin θ Homogeneous coordinates simplify process of combining transformation, similarly for scaling an object about an arbitrary point. x y 1

36 Example: rotation, scaling and translation P 2 P 1 Original house Translate P 1 to origin T (x 2, y 2 ) R(θ) S(s x, s y ) T ( x 1, y 1 ) (Foley Figure 5.11) Scale Rotate Translate to final position P 2

37 Commutivity of transformation matrices If M 1 and M 2 each represent a fundamental translation, scaling or rotation, when is M 1 M 2 = M 2 M 1? In general, for two matrices matrix multiplication is not commutative, that is M 1 M 2 M 2 M 1 However, commutivity holds in the following special cases when M 1 M 2 Translate Translate Scale Scale Rotate Rotate Scale (with s x = s y ) Rotate When s x = s y, termed isotropic scaling.

38 Example: drawing circles and ellipses If a point is rotated incrementally by some (small) angle δ, then the trajectory it traces out is a circle. If we draw (short) line segments connecting successive points, this leads to an important fast method for drawing circles or parts of circles circular [ arcs ] (if δ is small enough). x0 More specifically, if x 0 = is our starting point on the circle, y 0 then we compute the sequence x k+1 = R δ x k where R δ is a rotation (note this draws a circle centred on the origin). How would the circle-drawing methods be adapted to draw ellipses with arbitrary centres?

39 That is, we want a matrix E such that the sequence of points generated by x k+1 = Ex k lies along the ellipse. However, R δ only steps us along successive points that lie on a circle, incremented by angle δ. What about an ellipse? Our method for drawing circles should be able to be adapted for drawing ellipses quickly, using a combination of matrix transformations. Note that an ellipse at arbitrary orientation can be created by stretching and rotating a unit circle. Initially, let s consider only ellipses centred at the origin.

40 We can obtain an ellipse by stretching and rotating the points of a unit circle. This can be achieved by 1. multiplying by a scaling matrix to achieve the ellipsoid shape [ ] sx 0 S = 0 s y (note different scaling in x and y directions for ellipse), followed by 2. multiplying by a rotation R θ to orient the point along the path of the ellipse. thus SR θ

41 If we have a point on an ellipse, we can move it back to the corresponding point on the unit circle, by multiplying it by the inverse of these transforms (SR θ ) -1. Once we get it on the unit circle, we can step it to the next point by multiplying by R δ. Then we can get that point back on the ellipse by multiplying by (SR θ ). Thus E = (SR θ ) -1 R δ (SR θ ) = R θ -1 S -1 R δ SR θ = R ( θ) S -1 R δ SR θ

42 Note that, in general, scaling and rotation don t commute, so there s no obvious way to simplify this formula further. The main computational property of this method is that E can be computed just once, so that each point generated along the ellipse requires just a matrix multiply. Note that although can calculate sin(δ) and cos(δ) will need to calculate coefficients containing sin(θ) and cos(θ) at each step, since the transformation of a point at each step through different angles of the ellipse changes. A nice property is that the steps are smaller where the curvature of the ellipse is higher (at the ends), and bigger where the curvature of the ellipse is lower (along the sides). The method adapts to distribute the number of points used along the ellipse to represent it most accurately when straight line segments are drawn between points.

43 Summary Geometric transformations can be conveniently encoded as operations in matrix algebra. Rigid body transformations (rotation, translation and reflection) preserve distances and correspond to rigid motion that is typically modelled in computer graphics. However, translations and rotations cannot be conveniently combined using only multiplication. Representing geometric transformations as matrices in homogeneous coordinates allows the combination of multiple transformations using matrix multiplication. Translation, rotation and reflection are affine transformation (they preserve distances between points). Scaling and shear are not affine and do not preserve distances, however rotations can be decomposed into shears with computational benefits.

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 Three-dimensional transformation geometry and perspective

COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective Department of Computing and Information Systems The Lecture outline Introduction Rotation about artibrary axis

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

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

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

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

More information

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

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

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

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

2D/3D Geometric Transformations and Scene Graphs

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

More information

CT5510: Computer Graphics. Transformation BOCHANG MOON

CT5510: Computer Graphics. Transformation BOCHANG MOON CT5510: Computer Graphics Transformation BOCHANG MOON 2D Translation Transformations such as rotation and scale can be represented using a matrix M.., How about translation? No way to express this using

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

1 Affine and Projective Coordinate Notation

1 Affine and Projective Coordinate Notation CS348a: Computer Graphics Handout #9 Geometric Modeling Original Handout #9 Stanford University Tuesday, 3 November 992 Original Lecture #2: 6 October 992 Topics: Coordinates and Transformations Scribe:

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

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

Lecture 5 2D Transformation

Lecture 5 2D Transformation Lecture 5 2D Transformation What is a transformation? In computer graphics an object can be transformed according to position, orientation and size. Exactly what it says - an operation that transforms

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

Lecture 4: Transforms. Computer Graphics CMU /15-662, Fall 2016

Lecture 4: Transforms. Computer Graphics CMU /15-662, Fall 2016 Lecture 4: Transforms Computer Graphics CMU 15-462/15-662, Fall 2016 Brief recap from last class How to draw a triangle - Why focus on triangles, and not quads, pentagons, etc? - What was specific to triangles

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

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

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

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

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

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

2D transformations: An introduction to the maths behind computer graphics

2D transformations: An introduction to the maths behind computer graphics 2D transformations: An introduction to the maths behind computer graphics Lecturer: Dr Dan Cornford d.cornford@aston.ac.uk http://wiki.aston.ac.uk/dancornford CS2150, Computer Graphics, Aston University,

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

Vector Calculus: Understanding the Cross Product

Vector Calculus: Understanding the Cross Product University of Babylon College of Engineering Mechanical Engineering Dept. Subject : Mathematics III Class : 2 nd year - first semester Date: / 10 / 2016 2016 \ 2017 Vector Calculus: Understanding the Cross

More information

Background for Surface Integration

Background for Surface Integration Background for urface Integration 1 urface Integrals We have seen in previous work how to define and compute line integrals in R 2. You should remember the basic surface integrals that we will need to

More information

Chapter 1. Linear Equations and Straight Lines. 2 of 71. Copyright 2014, 2010, 2007 Pearson Education, Inc.

Chapter 1. Linear Equations and Straight Lines. 2 of 71. Copyright 2014, 2010, 2007 Pearson Education, Inc. Chapter 1 Linear Equations and Straight Lines 2 of 71 Outline 1.1 Coordinate Systems and Graphs 1.4 The Slope of a Straight Line 1.3 The Intersection Point of a Pair of Lines 1.2 Linear Inequalities 1.5

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

Matrices. Chapter Matrix A Mathematical Definition Matrix Dimensions and Notation

Matrices. Chapter Matrix A Mathematical Definition Matrix Dimensions and Notation Chapter 7 Introduction to Matrices This chapter introduces the theory and application of matrices. It is divided into two main sections. Section 7.1 discusses some of the basic properties and operations

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

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

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

More information

Geometry for Computer Graphics Part 1

Geometry for Computer Graphics Part 1 Geometry for Computer Graphics Part 1 MSc Computer Games and Entertainment Maths & Graphics Unit 2012/13 Lecturer(s): Frederic Fol Leymarie (in collaboration with Gareth Edwards) 1 First - For Complete

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

MATHEMATICS FOR ENGINEERING TUTORIAL 5 COORDINATE SYSTEMS

MATHEMATICS FOR ENGINEERING TUTORIAL 5 COORDINATE SYSTEMS MATHEMATICS FOR ENGINEERING TUTORIAL 5 COORDINATE SYSTEMS This tutorial is essential pre-requisite material for anyone studying mechanical engineering. This tutorial uses the principle of learning by example.

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

Polynomials. Math 4800/6080 Project Course

Polynomials. Math 4800/6080 Project Course Polnomials. Math 4800/6080 Project Course 2. The Plane. Boss, boss, ze plane, ze plane! Tattoo, Fantas Island The points of the plane R 2 are ordered pairs (x, ) of real numbers. We ll also use vector

More information

Mastery. PRECALCULUS Student Learning Targets

Mastery. PRECALCULUS Student Learning Targets PRECALCULUS Student Learning Targets Big Idea: Sequences and Series 1. I can describe a sequence as a function where the domain is the set of natural numbers. Connections (Pictures, Vocabulary, Definitions,

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

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 GEOMETRY 1 OBJECTIVES Introduce the elements of geometry Scalars Vectors Points Look at the mathematical operations among them Define basic primitives Line segments Polygons Look at some uses for these

More information

2-9 Operations with Complex Numbers

2-9 Operations with Complex Numbers 2-9 Operations with Complex Numbers Warm Up Lesson Presentation Lesson Quiz Algebra 2 Warm Up Express each number in terms of i. 1. 9i 2. Find each complex conjugate. 3. 4. Find each product. 5. 6. Objective

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

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

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

Coordinate Transformations in Advanced Calculus

Coordinate Transformations in Advanced Calculus Coordinate Transformations in Advanced Calculus by Sacha Nandlall T.A. for MATH 264, McGill University Email: sacha.nandlall@mail.mcgill.ca Website: http://www.resanova.com/teaching/calculus/ Fall 2006,

More information

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

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

PARAMETRIC EQUATIONS AND POLAR COORDINATES

PARAMETRIC EQUATIONS AND POLAR COORDINATES 10 PARAMETRIC EQUATIONS AND POLAR COORDINATES PARAMETRIC EQUATIONS & POLAR COORDINATES A coordinate system represents a point in the plane by an ordered pair of numbers called coordinates. PARAMETRIC EQUATIONS

More information

COMP 558 lecture 19 Nov. 17, 2010

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

More information

CS452/552; EE465/505. Geometry Transformations

CS452/552; EE465/505. Geometry Transformations CS452/552; EE465/505 Geometry Transformations 1-26-15 Outline! Geometry: scalars, points & vectors! Transformations Read: Angel, Chapter 4 (study cube.html/cube.js example) Appendix B: Spaces (vector,

More information

(Refer Slide Time: 00:04:20)

(Refer Slide Time: 00:04:20) Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 8 Three Dimensional Graphics Welcome back all of you to the lectures in Computer

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

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

Homework #1. Displays, Alpha Compositing, Image Processing, Affine Transformations, Hierarchical Modeling

Homework #1. Displays, Alpha Compositing, Image Processing, Affine Transformations, Hierarchical Modeling Computer Graphics Instructor: Brian Curless CSE 457 Spring 2014 Homework #1 Displays, Alpha Compositing, Image Processing, Affine Transformations, Hierarchical Modeling Assigned: Saturday, April th Due:

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

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

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

More information

Parallel Lines Investigation

Parallel Lines Investigation Year 9 - The Maths Knowledge Autumn 1 (x, y) Along the corridor, up the stairs (3,1) x = 3 Gradient (-5,-2) (0,0) y-intercept Vertical lines are always x = y = 6 Horizontal lines are always y = Parallel

More information

Specifying Complex Scenes

Specifying Complex Scenes Transformations Specifying Complex Scenes (x,y,z) (r x,r y,r z ) 2 (,,) Specifying Complex Scenes Absolute position is not very natural Need a way to describe relative relationship: The lego is on top

More information

Functions and Transformations

Functions and Transformations Using Parametric Representations to Make Connections Richard Parr T 3 Regional, Stephenville, Texas November 7, 009 Rice University School Mathematics Project rparr@rice.edu If you look up parametric equations

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

Chapter 5. Transforming Shapes

Chapter 5. Transforming Shapes Chapter 5 Transforming Shapes It is difficult to walk through daily life without being able to see geometric transformations in your surroundings. Notice how the leaves of plants, for example, are almost

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

Math Boot Camp: Coordinate Systems

Math Boot Camp: Coordinate Systems Math Boot Camp: Coordinate Systems You can skip this boot camp if you can answer the following question: Staying on a sphere of radius R, what is the shortest distance between the point (0, 0, R) on the

More information

AQA GCSE Further Maths Topic Areas

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

More information

Algebra II Trigonometric Functions

Algebra II Trigonometric Functions Slide 1 / 162 Slide 2 / 162 Algebra II Trigonometric Functions 2015-12-17 www.njctl.org Slide 3 / 162 Trig Functions click on the topic to go to that section Radians & Degrees & Co-terminal angles Arc

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

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

CSE 252B: Computer Vision II

CSE 252B: Computer Vision II CSE 252B: Computer Vision II Lecturer: Serge Belongie Scribe: Sameer Agarwal LECTURE 1 Image Formation 1.1. The geometry of image formation We begin by considering the process of image formation when a

More information

Calculus III. Math 233 Spring In-term exam April 11th. Suggested solutions

Calculus III. Math 233 Spring In-term exam April 11th. Suggested solutions Calculus III Math Spring 7 In-term exam April th. Suggested solutions This exam contains sixteen problems numbered through 6. Problems 5 are multiple choice problems, which each count 5% of your total

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

The Three Dimensional Coordinate System

The Three Dimensional Coordinate System The Three-Dimensional Coordinate System The Three Dimensional Coordinate System You can construct a three-dimensional coordinate system by passing a z-axis perpendicular to both the x- and y-axes at the

More information

Unit 3 Transformations and Clipping

Unit 3 Transformations and Clipping Transformation Unit 3 Transformations and Clipping Changes in orientation, size and shape of an object by changing the coordinate description, is known as Geometric Transformation. Translation To reposition

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

Geometry I Can Statements I can describe the undefined terms: point, line, and distance along a line in a plane I can describe the undefined terms:

Geometry I Can Statements I can describe the undefined terms: point, line, and distance along a line in a plane I can describe the undefined terms: Geometry I Can Statements I can describe the undefined terms: point, line, and distance along a line in a plane I can describe the undefined terms: point, line, and distance along a line in a plane I can

More information

Chapter 18. Geometric Operations

Chapter 18. Geometric Operations Chapter 18 Geometric Operations To this point, the image processing operations have computed the gray value (digital count) of the output image pixel based on the gray values of one or more input pixels;

More information

Rectification and Distortion Correction

Rectification and Distortion Correction Rectification and Distortion Correction Hagen Spies March 12, 2003 Computer Vision Laboratory Department of Electrical Engineering Linköping University, Sweden Contents Distortion Correction Rectification

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

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

MATRIX REVIEW PROBLEMS: Our matrix test will be on Friday May 23rd. Here are some problems to help you review.

MATRIX REVIEW PROBLEMS: Our matrix test will be on Friday May 23rd. Here are some problems to help you review. MATRIX REVIEW PROBLEMS: Our matrix test will be on Friday May 23rd. Here are some problems to help you review. 1. The intersection of two non-parallel planes is a line. Find the equation of the line. Give

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

Trigonometric ratios provide relationships between the sides and angles of a right angle triangle. The three most commonly used ratios are:

Trigonometric ratios provide relationships between the sides and angles of a right angle triangle. The three most commonly used ratios are: TRIGONOMETRY TRIGONOMETRIC RATIOS If one of the angles of a triangle is 90º (a right angle), the triangle is called a right angled triangle. We indicate the 90º (right) angle by placing a box in its corner.)

More information

Cambridge IGCSE mapping

Cambridge IGCSE mapping Cambridge IGCSE mapping Specification point Boardworks presentation 1. Number, set notation and language Identify and use natural numbers, integers (positive, negative and zero), prime numbers, square

More information

Affine Transformation. Edith Law & Mike Terry

Affine Transformation. Edith Law & Mike Terry Affine Transformation Edith Law & Mike Terry Graphic Models vs. Images Computer Graphics: the creation, storage and manipulation of images and their models Model: a mathematical representation of an image

More information

Last week. Machiraju/Zhang/Möller

Last week. Machiraju/Zhang/Möller Last week Machiraju/Zhang/Möller 1 Overview of a graphics system Output device Input devices Image formed and stored in frame buffer Machiraju/Zhang/Möller 2 Introduction to CG Torsten Möller 3 Ray tracing:

More information

Computer Vision cmput 428/615

Computer Vision cmput 428/615 Computer Vision cmput 428/615 Basic 2D and 3D geometry and Camera models Martin Jagersand The equation of projection Intuitively: How do we develop a consistent mathematical framework for projection calculations?

More information

Chapter 2: Transformations. Chapter 2 Transformations Page 1

Chapter 2: Transformations. Chapter 2 Transformations Page 1 Chapter 2: Transformations Chapter 2 Transformations Page 1 Unit 2: Vocabulary 1) transformation 2) pre-image 3) image 4) map(ping) 5) rigid motion (isometry) 6) orientation 7) line reflection 8) line

More information

Algebra II. Slide 1 / 162. Slide 2 / 162. Slide 3 / 162. Trigonometric Functions. Trig Functions

Algebra II. Slide 1 / 162. Slide 2 / 162. Slide 3 / 162. Trigonometric Functions. Trig Functions Slide 1 / 162 Algebra II Slide 2 / 162 Trigonometric Functions 2015-12-17 www.njctl.org Trig Functions click on the topic to go to that section Slide 3 / 162 Radians & Degrees & Co-terminal angles Arc

More information

Part 3: 2D Transformation

Part 3: 2D Transformation Part 3: 2D Transformation 1. What do you understand by geometric transformation? Also define the following operation performed by ita. Translation. b. Rotation. c. Scaling. d. Reflection. 2. Explain two

More information

Unit 3 Higher topic list

Unit 3 Higher topic list This is a comprehensive list of the topics to be studied for the Edexcel unit 3 modular exam. Beside the topics listed are the relevant tasks on www.mymaths.co.uk that students can use to practice. Logon

More information

SECONDARY DRAFT SYLLABUS. 2. Representation of functions. 3. Types of functions. 4. Composition of functions (two and three)

SECONDARY DRAFT SYLLABUS. 2. Representation of functions. 3. Types of functions. 4. Composition of functions (two and three) et et et CLASS IX Topic :Set Language et et 1. Describing and representing sets SECONDARY DRAFT SYLLABUS Able to describe a set in Descriptive, Set- builder and roster forms and through Venn diagram. Use

More information

CLEP Pre-Calculus. Section 1: Time 30 Minutes 50 Questions. 1. According to the tables for f(x) and g(x) below, what is the value of [f + g]( 1)?

CLEP Pre-Calculus. Section 1: Time 30 Minutes 50 Questions. 1. According to the tables for f(x) and g(x) below, what is the value of [f + g]( 1)? CLEP Pre-Calculus Section : Time 0 Minutes 50 Questions For each question below, choose the best answer from the choices given. An online graphing calculator (non-cas) is allowed to be used for this section..

More information

Image warping , , Computational Photography Fall 2017, Lecture 10

Image warping , , Computational Photography Fall 2017, Lecture 10 Image warping http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2017, Lecture 10 Course announcements Second make-up lecture on Friday, October 6 th, noon-1:30

More information

Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves

Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves Block #1: Vector-Valued Functions Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves 1 The Calculus of Moving Objects Problem.

More information

Linear Transformations

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

More information

A lg e b ra II. Trig o n o m e tric F u n c tio

A lg e b ra II. Trig o n o m e tric F u n c tio 1 A lg e b ra II Trig o n o m e tric F u n c tio 2015-12-17 www.njctl.org 2 Trig Functions click on the topic to go to that section Radians & Degrees & Co-terminal angles Arc Length & Area of a Sector

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

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

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

More information

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

Computer Graphics. Lecture 2. Doç. Dr. Mehmet Gokturk

Computer Graphics. Lecture 2. Doç. Dr. Mehmet Gokturk Computer Graphics Lecture 2 Doç. Dr. Mehmet Gokturk Mathematical Foundations l Hearn and Baker (A1 A4) appendix gives good review l Some of the mathematical tools l Trigonometry l Vector spaces l Points,

More information