Affine Transformation. Edith Law & Mike Terry

Size: px
Start display at page:

Download "Affine Transformation. Edith Law & Mike Terry"

Transcription

1 Affine Transformation Edith Law & Mike Terry

2 Graphic Models vs. Images Computer Graphics: the creation, storage and manipulation of images and their models Model: a mathematical representation of an image containing the important properties of an object (e.g., location, size, orientation, color, texture) in data structures. Rendering: Using the properties of the model to create an image to display on the screen. Image: the rendered model. Model Rendering Image

3 Example Shape Models An array of points: {P1, P2,, Pn} Can be open, closed, filled

4 Components For a lightweight GUI toolkit, components maintain a shape model location bounds If a visible component its outline (coordinates or other descriptors for its shape) whether interior should be filled with a color, and if so, what color

5 Components But components also need to paint themselves in a particular location Location always specified in terms of parent s coordinate system That means we need to do some math before painting and doing hit testing (i.e., determining which components a given location corresponds to) We will use affine transforms to help out

6 Linear Algebra (s) Scalar: a single value (usually real number) (v) Vector: directed line segment (represents direction and magnitude) (P) Point: a fixed location in space (represents a position) Legal operations: vector + vector: v1 + v2 = v3 vector multiplied by a scalar: v1 x s1 = v4 point minus point = P1 - P2 = v5 point + vector: P2 + v5 = P1 2 ways to multiply vector by vector dot (inner) product: v1 o v2 = s2 cross (outer) product: v1 x v2 = v6

7 Moving Shapes Around, Multiple Shape Instances Translate by adding offset to shape points What about scaling? Or rotation? transform

8 Translation translate: add a scalar to each of the components tx=2, ty=4 x' = x + tx y' = y + ty

9 Uniform Scaling uniform scale: multiply each component by the same scalar multiply by s = 2 x' = x s y' = y s

10 Non-Uniform Scaling scale: multiply each component by different scalar multiply by sx = 2, sy = 1/2 x' = x sx y' = y sy

11 Rotation rotate: each component is some function of x, y, Θ rotate by Θ = 30 o Θ x' = f(x,y,θ) y' = f(x,y,θ)

12 Deriving Rotation Function

13 Intermission: Super cool and fun rotation derivation

14 Voila! Rotation rotate: each component is some function of x, y, Θ rotate by Θ = 30 o Θ x' = x cos(θ)-y sin(θ) y' = x sin(θ)+y cos(θ)

15 Combining Transformations Rotate: x' = x cos(θ)-y sin(θ) y' = x sin(θ)+y cos(θ) Translate: x' = x tx y' = y ty Scale: x' = x sx y' = y sy

16 Combining Transformations: (1) Scale Rotate: x' = x cos(θ)-y sin(θ) y' = x sin(θ)+y cos(θ) Translate: x' = x + tx y' = y + ty Scale: x' = x sx y' = y sy x1 = 2x y1 = 2y

17 Combining Transformations: (2) Rotate Rotate: x' = x cos(θ)-y sin(θ) y' = x sin(θ)+y cos(θ) Translate: x' = x + tx y' = y + ty Scale: x' = x sx y' = y sy x2 = 2x cos(30) - 2y sin(30) y2 = 2y sin(30) + 2y sin(30)

18 Combining Transformations: (3) Translation Rotate: x' = x cos(θ)-y sin(θ) y' = x sin(θ)+y cos(θ) Translate: x' = x + tx y' = y + ty Scale: x' = x sx y' = y sy x3 = 2x cos(30) - 2y sin(30) + 8 y3 = 2y sin(30) + 2y sin(30) + 4 N.B. Order of operations is important. What if you translate first?

19 Matrix Representation Goal: represent each 2D transformation with a matrix Multiply matrix by column vector <=> apply transformation to point

20 Matrix Representation Why? Transformations can be combined by multiplication We can multiply transformation matrices together This single matrix can then be used to transform many points. Can be sent to a GPU to speed the process.

21 2 x 2 Matrices Why types of transformations can be represented by a 2x2 matrix? 2D Scale around (0,0)?

22 2 x 2 Matrices Why types of transformations can be represented by a 2x2 matrix? 2D Rotate around (0,0)?

23 2 x 2 Matrices Why types of transformations can be represented by a 2x2 matrix? 2D Mirror about Y axis?

24 2 x 2 Matrices Why types of transformations can be represented by a 2x2 matrix? 2D Translation Maybe this? 1 / / 1 Problem: only works for a specific point. Can t create a general 2x2 matrix to transform a model.

25 Homogeneous Coordinates represents coordinates in 2 dimensions with a 3-tuple (i.e., as a 3x1 column matrix) why? need 3 columns in our transformation matrix

26 3x3 Translation Matrix now we can represent 2D translation with a 3x3 matrix This 3x3 matrix is an Affine Transformation matrix, and can be used to generally handle translation, rotation and scaling.

27 3x3 Translation Matrix: Example

28 Homogeneous Coordinate [x, y, w] T represents a point at location [x/w, y/w] T convenient coordinate system to represent many useful transformations [3, 2, 1] T [6, 4, 2] T [7.5, 5, 2.5] T

29 Vector and Point Homogeneous Coordinates add vectors scalar multiply subtract points point + vector

30 Translating Vectors a vector has no position so translating it shouldn t change anything.

31 Rotation Matrix Vectors: Points:

32 Scaling Matrix Vectors: Points:

33 Matrix Composition Transformations can be combined by matrix multiplication

34 Matrix Composition Order Associative: A(BC) = (AB)C not commutative: AB BA order of transformations matters!

35 Matrix Composition What if we want to rotate and translate? example: rotate line segment by 45 degrees about endpoint a

36 Multiplication Order: Wrong Way Beginning situation Rotate 45 degrees, R(45) affects both endpoints Could try translating both endpoints to return a to its original position but by how much?

37 Multiplication Order: Correct Way Scaling and rotation are both about the origin Process: Translate shape to the origin rotate translate back to where you want it

38 Affine Transformations + Interactor Tree As we descent the interactor tree, component needs to: (1) paint itself (2) for each child save the current affine transform multiply current transform by a translation affine transform representing the location of child component (current transform * new translation transform) set result of that multiplication as the new affine transform tell child to paint themselves return the original affine transform

39 Affine Transformations + Interactor Tree We also need to transform any coordinates in events as the events are passed down the interactor tree. For example, a mouse event in the window s coordinates will need its coordinates translated to a child component s relative location prior to passing it down. Affine transforms can be used for this, too.

40 Inside / Hit Tests with Transformed Shapes Mouse and shape model must use the same coordinate system Two options: transform mouse to model coordinates transform model to mouse coordinates

41 Option 1: Transform Mouse to Model Coordinates only one transformation maintaining the inverse

42 Option 2: Transform Model to Mouse Coordinates many transformations manipulations (e.g., dragging) must be transformed back into model coordinates

Affine Transformations. Transforming shape models Combining affine transformations Scene graphs, interactor trees Hit tests on transformed shapes

Affine Transformations. Transforming shape models Combining affine transformations Scene graphs, interactor trees Hit tests on transformed shapes Affine Transformations Transforming shape models Combining affine transformations Scene graphs, interactor trees Hit tests on transformed shapes Reacll: Shape Models We can think of widgets as shape models

More information

Graphics Transformations

Graphics Transformations Graphics Transformations Translate, Scale, Rotate Homogeneous Coordinates Affine Transformation Matrices Combining Transformations Shape Model Class 2.7 Graphics Transformations 1 Positioning Shapes Translate

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

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

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

Modeling Transformations

Modeling Transformations Modeling Transformations Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Connelly Barnes, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Modeling Transformations

More information

Graphics Hit-testing. Shape Models Selecting Lines and Shapes. 2.7 Graphics Hit-testing 1

Graphics Hit-testing. Shape Models Selecting Lines and Shapes. 2.7 Graphics Hit-testing 1 Graphics Hit-testing Shape Models Selecting Lines and Shapes 2.7 Graphics Hit-testing 1 Recap - Graphic Models and Images Computer Graphics is the creation, storage, and manipulation of images and their

More information

Computer Science 336 Fall 2017 Homework 2

Computer Science 336 Fall 2017 Homework 2 Computer Science 336 Fall 2017 Homework 2 Use the following notation as pseudocode for standard 3D affine transformation matrices. You can refer to these by the names below. There is no need to write out

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

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

Graphics and Interaction Transformation geometry and homogeneous coordinates

Graphics and Interaction Transformation geometry and homogeneous coordinates 433-324 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation

More information

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation

More information

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

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

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

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

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

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

Warping. 12 May 2015

Warping. 12 May 2015 Warping 12 May 2015 Warping, morphing, mosaic Slides from Durand and Freeman (MIT), Efros (CMU, Berkeley), Szeliski (MSR), Seitz (UW), Lowe (UBC) http://szeliski.org/book/ 2 Image Warping Image filtering:

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

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

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

Core Graphics and OpenGL ES. Dr. Sarah Abraham

Core Graphics and OpenGL ES. Dr. Sarah Abraham Core Graphics and OpenGL ES Dr. Sarah Abraham University of Texas at Austin CS329e Fall 2018 Core Graphics Apple s vector-drawing framework Previously known as Quartz or Quartz2D Includes handling for:

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

3D Computer Graphics. Jared Kirschner. November 8, 2010

3D Computer Graphics. Jared Kirschner. November 8, 2010 3D Computer Graphics Jared Kirschner November 8, 2010 1 Abstract We are surrounded by graphical displays video games, cell phones, television sets, computer-aided design software, interactive touch screens,

More information

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

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

More information

Computer Graphics: Geometric Transformations

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

More information

Transformations Computer Graphics I Lecture 4

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

More information

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

Transformations. CSCI 420 Computer Graphics Lecture 4

Transformations. CSCI 420 Computer Graphics Lecture 4 CSCI 420 Computer Graphics Lecture 4 Transformations Jernej Barbic University of Southern California Vector Spaces Euclidean Spaces Frames Homogeneous Coordinates Transformation Matrices [Angel, Ch. 4]

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

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 424 Computer Graphics 2D Transformations Yong Cao Virginia Tech References: Introduction to Computer Graphics course notes by Doug Bowman Interactive Computer Graphics, Fourth Edition, Ed Angle Transformations

More information

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Transformation Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Announcement Project

More information

3D Transformation. In 3D, we have x, y, and z. We will continue use column vectors:. Homogenous systems:. x y z. x y z. glvertex3f(x, y,z);

3D Transformation. In 3D, we have x, y, and z. We will continue use column vectors:. Homogenous systems:. x y z. x y z. glvertex3f(x, y,z); 3D Transformation In 3D, we have x, y, and z. We will continue use column vectors:. Homogenous systems:. 3D Transformation glvertex3f(x, y,z); x y z x y z A Right Handle Coordinate System x y z; y z x;

More information

Software Engineering. ò Look up Design Patterns. ò Code Refactoring. ò Code Documentation? ò One of the lessons to learn for good design:

Software Engineering. ò Look up Design Patterns. ò Code Refactoring. ò Code Documentation? ò One of the lessons to learn for good design: Software Engineering ò Look up Design Patterns ò Code Refactoring ò Code Documentation? ò One of the lessons to learn for good design: ò Coupling: the amount of interconnectedness between classes ò Cohesion:

More information

Image Warping. Some slides from Steve Seitz

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

More information

Transformations. CSCI 420 Computer Graphics Lecture 5

Transformations. CSCI 420 Computer Graphics Lecture 5 CSCI 420 Computer Graphics Lecture 5 Transformations Jernej Barbic University of Southern California Vector Spaces Euclidean Spaces Frames Homogeneous Coordinates Transformation Matrices [Angel, Ch. 3]

More information

Transformations. OpenGL Transformations. 4x4 Model-view Matrix (this lecture) OpenGL Transformation Matrices. 4x4 Projection Matrix (next lecture)

Transformations. OpenGL Transformations. 4x4 Model-view Matrix (this lecture) OpenGL Transformation Matrices. 4x4 Projection Matrix (next lecture) CSCI 420 Computer Graphics Lecture 5 OpenGL Transformations Transformations Vector Spaces Euclidean Spaces Frames Homogeneous Coordinates Transformation Matrices Jernej Barbic [Angel, Ch. 3] University

More information

Coordinate Spaces & Transformations. in InDesign CS4 CC Chapter 1

Coordinate Spaces & Transformations. in InDesign CS4 CC Chapter 1 Coordinate Spaces & Transformations in InDesign CS4 CC Chapter 1 S C R I P T I N G S E C R E T S 02 Dealing with coordinate spaces and transformation matrices is one of the most obscure and underappreciated

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 Computer Graphics I Lecture 4

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

More information

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

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

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

More information

CS770/870 Spring 2017 Transformations

CS770/870 Spring 2017 Transformations CS770/870 Spring 2017 Transformations Coordinate sstems 2D Transformations Homogeneous coordinates Matrices, vectors, points 01/29/2017 1 Coordinate Sstems Coordinate sstems used in graphics Screen coordinates:

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

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

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

UNIT 2. Translation/ Scaling/ Rotation. Unit-02/Lecture-01

UNIT 2. Translation/ Scaling/ Rotation. Unit-02/Lecture-01 UNIT 2 Translation/ Scaling/ Rotation Unit-02/Lecture-01 Translation- (RGPV-2009,10,11,13,14) Translation is to move, or parallel shift, a figure. We use a simple point as a starting point. This is a simple

More information

AH Matrices.notebook November 28, 2016

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

More information

Monday, 12 November 12. Matrices

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

More information

Computer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms

Computer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms Chapter IV Spaces and Transforms Scaling 2D scaling with the scaling factors, s x and s y, which are independent. Examples When a polygon is scaled, all of its vertices are processed by the same scaling

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

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

Homework #1. Displays, Image Processing, Affine Transformations, Hierarchical Modeling Computer Graphics Instructor: Brian Curless CSE 457 Spring 217 Homework #1 Displays, Image Processing, Affine Transformations, Hierarchical Modeling Assigned: Friday, April 7 th Due: Thursday, April 2

More information

Vectors. Vectors are used to talk about positions in 3 dimensional space, differences between one position and another, or directions.

Vectors. Vectors are used to talk about positions in 3 dimensional space, differences between one position and another, or directions. and Scripting with and Seifert Surface seifert.surface@gmail.com SLPro Conference February 25 th 2010 http://segerman.org/2ndlife.html and E.g.: 0, 0, 1, 5.3, 1.4, 22.7, x, y, z. are used to talk about

More information

CS 563 Advanced Topics in Computer Graphics. by Emmanuel Agu

CS 563 Advanced Topics in Computer Graphics. by Emmanuel Agu CS 563 Advanced Topics in Computer Graphics by Emmanuel Agu Parsing: uses lex and yacc: core/pbrtlex.l and core/pbrtparse.y After parsing, a scene object is created (core/scene.*) Rendering: Scene::Render()

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

Lesson 28: When Can We Reverse a Transformation?

Lesson 28: When Can We Reverse a Transformation? Lesson 8 M Lesson 8: Student Outcomes Students determine inverse matrices using linear systems. Lesson Notes In the final three lessons of this module, students discover how to reverse a transformation

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

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Overview Ra-Tracing so far Modeling transformations Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int heigh,

More information

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th 1. a. Show that the following sequences commute: i. A rotation and a uniform scaling ii. Two rotations about the same axis iii. Two

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

CS559 Computer Graphics Fall 2015

CS559 Computer Graphics Fall 2015 CS559 Computer Graphics Fall 2015 Practice Midterm Exam Time: 2 hrs 1. [XX Y Y % = ZZ%] MULTIPLE CHOICE SECTION. Circle or underline the correct answer (or answers). You do not need to provide a justification

More information

Chapter 2 and Supplements MATRICES

Chapter 2 and Supplements MATRICES Finite Math B Chapter 2 + Supplements: MATRICES 1 A: Matrices, Basic Matrix Operations (Lessons 2.3 & 2.4 pg 86 107) A matrix is a rectangular array of numbers like: Chapter 2 and Supplements MATRICES

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

CSE 167: Introduction to Computer Graphics Lecture #2: Coordinate Transformations

CSE 167: Introduction to Computer Graphics Lecture #2: Coordinate Transformations CSE 167: Introduction to Computer Graphics Lecture #2: Coordinate Transformations Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework #1 due Friday Oct

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

Lecture 11: Output 2. Fall UI Design and Implementation 1

Lecture 11: Output 2. Fall UI Design and Implementation 1 Lecture 11: Output 2 Fall 2006 6.831 UI Design and Implementation 1 1 UI Hall of Fame or Shame? Fall 2006 6.831 UI Design and Implementation 2 Here s our hall of fame example. StatCounter is a web site

More information

Figure 1. Lecture 1: Three Dimensional graphics: Projections and Transformations

Figure 1. Lecture 1: Three Dimensional graphics: Projections and Transformations Lecture 1: Three Dimensional graphics: Projections and Transformations Device Independence We will start with a brief discussion of two dimensional drawing primitives. At the lowest level of an operating

More information

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1 Toda s class Geometric objects and transformations Wednesda, November 7, 27 Computer Graphics - Class 5 Vector operations Review of vector operations needed for working in computer graphics adding two

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

6B Quiz Review Learning Targets ,

6B Quiz Review Learning Targets , 6B Quiz Review Learning Targets 5.10 6.3, 6.5-6.6 Key Facts Double transformations when more than one transformation is applied to a graph o You can still use our transformation rules to identify which

More information

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications CSE328 Fundamentals of Computer Graphics: Theor, Algorithms, and Applications Hong in State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794-44 Tel: (63)632-845; Fa:

More information

Basics of Computational Geometry

Basics of Computational Geometry Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals

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

Lecture 4: Transformations and Matrices. CSE Computer Graphics (Fall 2010)

Lecture 4: Transformations and Matrices. CSE Computer Graphics (Fall 2010) Lecture 4: Transformations and Matrices CSE 40166 Computer Graphics (Fall 2010) Overall Objective Define object in object frame Move object to world/scene frame Bring object into camera/eye frame Instancing!

More information

GEOMETRIC OBJECTS AND TRANSFORMATIONS I

GEOMETRIC OBJECTS AND TRANSFORMATIONS I Computer UNIT Graphics - 4 and Visualization 6 Hrs GEOMETRIC OBJECTS AND TRANSFORMATIONS I Scalars Points, and vectors Three-dimensional primitives Coordinate systems and frames Modelling a colored cube

More information

speed of light in vacuum = speed of light in the material

speed of light in vacuum = speed of light in the material Chapter 5 Let Us Entertain You Snell s law states that as light enters a substance such as acrylic (high index of refraction) from air (low index of refraction), the light bends toward the normal. When

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

CS452/552; EE465/505. Transformations

CS452/552; EE465/505. Transformations CS452/552; EE465/55 Transformations 1-29-15 Outline! Transformations Read: Angel, Chapter 4 (study cube.html/cube.js example) Helpful links: Linear Algebra: Khan Academy Lab1 is posted on github, due:

More information

1 Historical Notes. Kinematics 5: Quaternions

1 Historical Notes. Kinematics 5: Quaternions 1 Historical Notes Quaternions were invented by the Irish mathematician William Rowan Hamilton in the late 1890s. The story goes 1 that Hamilton has pondered the problem of dividing one vector by another

More information

Therefore, after becoming familiar with the Matrix Method, you will be able to solve a system of two linear equations in four different ways.

Therefore, after becoming familiar with the Matrix Method, you will be able to solve a system of two linear equations in four different ways. Grade 9 IGCSE A1: Chapter 9 Matrices and Transformations Materials Needed: Straightedge, Graph Paper Exercise 1: Matrix Operations Matrices are used in Linear Algebra to solve systems of linear equations.

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering CS6504-COMPUTER GRAPHICS Anna University 2 & 16 Mark Questions & Answers Year / Semester: III / V Regulation:

More information

1. We ll look at: Types of geometrical transformation. Vector and matrix representations

1. We ll look at: Types of geometrical transformation. Vector and matrix representations Tob Howard COMP272 Computer Graphics and Image Processing 3: Transformations Tob.Howard@manchester.ac.uk Introduction We ll look at: Tpes of geometrical transformation Vector and matri representations

More information

Coordinate Transformations & Homogeneous Coordinates

Coordinate Transformations & Homogeneous Coordinates CS-C31 (Introduction to) Computer Graphics Jaakko Lehtinen Coordinate Transformations & Homogeneous Coordinates Lots of slides from Frédo Durand CS-C31 Fall 216 Lehtinen Outline Intro to Transformations

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Announcement Assignment 2 has been posted: Due: 10/24 ASAP: Download the code and make sure it compiles» On windows: just build

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 1: Number and Operations

Chapter 1: Number and Operations Chapter 1: Number and Operations 1.1 Order of operations When simplifying algebraic expressions we use the following order: 1. Perform operations within a parenthesis. 2. Evaluate exponents. 3. Multiply

More information

Matrices. A Matrix (This one has 2 Rows and 3 Columns) To add two matrices: add the numbers in the matching positions:

Matrices. A Matrix (This one has 2 Rows and 3 Columns) To add two matrices: add the numbers in the matching positions: Matrices A Matrix is an array of numbers: We talk about one matrix, or several matrices. There are many things we can do with them... Adding A Matrix (This one has 2 Rows and 3 Columns) To add two matrices:

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

CS 130 Final. Fall 2015

CS 130 Final. Fall 2015 CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

More information

Transformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Transformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Transformations CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive

More information

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

Objectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations Objectives Transformations CS Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive homogeneous

More information

PetShop (BYU Students, SIGGRAPH 2006)

PetShop (BYU Students, SIGGRAPH 2006) Now Playing: PetShop (BYU Students, SIGGRAPH 2006) My Mathematical Mind Spoon From Gimme Fiction Released May 10, 2005 Geometric Objects in Computer Graphics Rick Skarbez, Instructor COMP 575 August 30,

More information

CS184: Using Quaternions to Represent Rotation

CS184: Using Quaternions to Represent Rotation Page 1 of 5 CS 184 home page A note on these notes: These notes on quaternions were created as a resource for students taking CS184 at UC Berkeley. I am not doing any research related to quaternions and

More information

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

Moving Objects. We need to move our objects in 3D space.

Moving Objects. We need to move our objects in 3D space. Transformations Moving Objects We need to move our objects in 3D space. Moving Objects We need to move our objects in 3D space. An object/model (box, car, building, character,... ) is defined in one position

More information

CS 184, Fall 1992 MT Solutions Professor Brian A. Barsky

CS 184, Fall 1992 MT Solutions Professor Brian A. Barsky CS 184, Fall 1992 MT Solutions Professor Brian A. Barsky Problem #1 A) There are two ways to solve this problem - the easy way and the hard way. Let's solve it the easy way first. Think o a b c T= d e

More information

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision COMP3421 Week 2 - Transformations in 2D and Vector Geometry Revision Exercise 1. Write code to draw (an approximation) of the surface of a circle at centre 0,0 with radius 1 using triangle fans. Transformation

More information

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision COMP3421 Week 2 - Transformations in 2D and Vector Geometry Revision Exercise 1. Write code to draw (an approximation) of the surface of a circle at centre 0,0 with radius 1 using triangle fans. 2. At

More information