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

Similar documents
Geometric Transformations

2D/3D Geometric Transformations and Scene Graphs

Vector Algebra Transformations. Lecture 4

Graphics Pipeline 2D Geometric Transformations

CS4620/5620. Professor: Kavita Bala. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Transforms. COMP 575/770 Spring 2013

Linear and Affine Transformations Coordinate Systems

To Do. Outline. Translation. Homogeneous Coordinates. Foundations of Computer Graphics. Representation of Points (4-Vectors) Start doing HW 1

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

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

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

Graphics and Interaction Transformation geometry and homogeneous coordinates

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

Lecture 5 2D Transformation

Geometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3

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

CT5510: Computer Graphics. Transformation BOCHANG MOON

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

GEOMETRIC TRANSFORMATIONS AND VIEWING

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

3D Geometry and Camera Calibration

CS354 Computer Graphics Rotations and Quaternions

Transformations. Examples of transformations: shear. scaling

2D Object Definition (1/3)

Transformations Week 9, Lecture 18

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

Today. Parity. General Polygons? Non-Zero Winding Rule. Winding Numbers. CS559 Lecture 11 Polygons, Transformations

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

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CS559: Computer Graphics

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

CSE328 Fundamentals of Computer Graphics

2D and 3D Transformations AUI Course Denbigh Starkey

Computer Graphics Hands-on

Translation. 3D Transformations. Rotation about z axis. Scaling. CS 4620 Lecture 8. 3 Cornell CS4620 Fall 2009!Lecture 8

Equations of planes in

Chapter 18. Geometric Operations

Today s Topics. 3. Transformations in 2D. 4. Coordinate-free geometry. 5. 3D Objects (curves & surfaces) 6. Transformations in 3D

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

XPM 2D Transformations Week 2, Lecture 3

Overview. By end of the week:

Specifying Complex Scenes

Computer Vision Projective Geometry and Calibration. Pinhole cameras

CS452/552; EE465/505. Geometry Transformations

Monday, 12 November 12. Matrices

XPM 2D Transformations Week 2, Lecture 3

CS6670: Computer Vision

Translations. Geometric Image Transformations. Two-Dimensional Geometric Transforms. Groups and Composition

CMSC 425: Lecture 6 Affine Transformations and Rotations

Introduction to Homogeneous coordinates

Matrices. Chapter Matrix A Mathematical Definition Matrix Dimensions and Notation

METR 4202: Advanced Control & Robotics

6.837 LECTURE 7. Lecture 7 Outline Fall '01. Lecture Fall '01

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

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

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

Chapter 2 - Basic Mathematics for 3D Computer Graphics

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

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

Advanced Computer Graphics Transformations. Matthias Teschner

3D Viewing. CS 4620 Lecture 8

CV: 3D sensing and calibration

Chapter 23. Linear Motion Motion of a Bug

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

Multiple View Geometry in Computer Vision

1 Affine and Projective Coordinate Notation

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

Homework 5: Transformations in geometry

the gamedesigninitiative at cornell university Lecture 14 2D Sprite Graphics

Image warping , , Computational Photography Fall 2017, Lecture 10

Math 231E, Lecture 34. Polar Coordinates and Polar Parametric Equations

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

COMP3421. Vector geometry, Clipping

Game Engineering: 2D

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Revision Problems for Examination 2 in Algebra 1

CS770/870 Spring 2017 Transformations

COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective

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

CS 428: Fall Introduction to. Transformations in OpenGL + hierarchical modeling. Andrew Nealen, Rutgers, /21/2009 1

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

Planes Intersecting Cones: Static Hypertext Version

Transforms 1 Christian Miller CS Fall 2011

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

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation

Finite Math - J-term Homework. Section Inverse of a Square Matrix

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

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

2-9 Operations with Complex Numbers

2D Spline Curves. CS 4620 Lecture 13

Homework 5: Transformations in geometry

CS4670/5670: Computer Vision Kavita Bala. Lecture 14: Feature matching and Transforms

IntroductionToRobotics-Lecture02

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 3: Forward and Inverse Kinematics

Computer Graphics Hands-on

3D Viewing. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 9

Orientation & Quaternions

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

To do this the end effector of the robot must be correctly positioned relative to the work piece.

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

Transcription:

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 multiplication Matrix-matrix multiplication Geometry of curves in 2D Implicit representation Explicit representation 1 2 Implicit representations Explicit representations Equation to tell whether we are on the curve Example: line (orthogonal to u, distance k from 0) Example: circle (center p, radius r) Always define boundary of region (if f is continuous) Also called parametric Equation to map domain into plane Example: line (containing p, parallel to u) Example: circle (center b, radius r) Like tracing out the path of a particle over time Variable t is the parameter 3 4

Transforming geometry Move a subset of the plane using a mapping from the plane to itself Parametric representation: Implicit representation: Translation Simplest transformation: Inverse: Example of transforming circle 5 6 Linear transformations Geometry of 2D linear trans. One way to define a transformation is by matrix multiplication: Such transformations are linear, which is to say: (and in fact all linear transformations can be written this way) 2x2 matrices have simple geometric interpretations uniform scale non-uniform scale rotation shear reflection Reading off the matrix 7 8

Linear transformation gallery Uniform scale Linear transformation gallery Nonuniform scale 9 10 Linear transformation gallery Rotation Linear transformation gallery Reflection can consider it a special case of nonuniform scale 11 12

Linear transformation gallery Shear Composing transformations Want to move an object, then move it some more We need to represent S o T ( S compose T ) and would like to use the same representation as for S and T Translation easy Translation by u T then by u S is translation by u T + u S commutative 13 14 Composing transformations Combining linear with translation Linear transformations also straightforward Transforming first by M T then by M S is the same as transforming by M S M T only sometimes commutative e.g. rotations & uniform scales e.g. non-uniform scales w/o rotation Note M S M T, or S o T, is T first, then S Need to use both in single framework Can represent arbitrary seq. as e. g. Transforming by M T and u T, then by M S and u S, is the same as transforming by M S M T and u S + M S u T This will work but is a little awkward 15 16

Homogeneous coordinates A trick for representing the foregoing more elegantly Extra component w for vectors, extra row/column for matrices for affine, can always keep w = 1 Represent linear transformations with dummy extra row and column Homogeneous coordinates Represent translation using the extra column 17 18 Homogeneous coordinates Affine transformations Composition just works, by 3x3 matrix multiplication The set of transformations we have been looking at is known as the affine transformations straight lines preserved; parallel lines preserved ratios of lengths along lines preserved (midpoints preserved) This is exactly the same as carrying around M and u but cleaner and generalizes in useful ways as we ll see later 19 20

Affine transformation gallery Translation Affine transformation gallery Uniform scale 21 22 Affine transformation gallery Nonuniform scale Affine transformation gallery Rotation 23 24

Affine transformation gallery Reflection can consider it a special case of nonuniform scale Affine transformation gallery Shear 25 26 General affine transformations Composite affine transformations The previous slides showed canonical examples of the types of affine transformations Generally, transformations contain elements of multiple types often define them as products of canonical transforms sometimes work with their properties more directly In general not commutative: order matters rotate, then translate translate, then rotate 27 28

Composite affine transformations Another example Rigid motions A transform made up of only translation and rotation is a rigid motion or a rigid body transformation The linear part is an orthonormal matrix Inverse of orthonormal matrix is transpose so inverse of rigid motion is easy: scale, then rotate rotate, then scale 29 30 Composing to change axes Want to rotate about a particular point could work out formulas directly Know how to rotate about the origin so translate that point to the origin Composing to change axes Want to scale along a particular axis and point Know how to scale along the y axis at the origin so translate to the origin and rotate to align axes 31 32

Transforming points and vectors Recall distinction points vs. vectors vectors are just offsets (differences between points) points have a location represented by vector offset from a fixed origin Points and vectors transform differently points respond to translation; vectors do not Transforming points and vectors Homogeneous coords. let us exclude translation just put 0 rather than 1 in the last place and note that subtracting two points cancels the extra coordinate, resulting in a vector Preview: projective transformations what s really going on with this last coordinate? think of R 2 embedded in R 3 : all affine xfs. preserve z=1 plane could have other transforms; project back to z=1 33 34 More math background Affine change of coordinates Coordinate systems Expressing vectors with respect to bases Linear transformations as changes of basis Six degrees of freedom or 35 36

Affine change of coordinates Coordinate frame: point plus basis Interpretation: transformation changes representation of point from one basis to another Frame to canonical matrix has frame in columns takes points represented in frame represents them in canonical basis e.g. [0 0], [1 0], [0 1] Seems backward but bears thinking about Affine change of coordinates A new way to read off the matrix e.g. shear from earlier can look at picture, see effect on basis vectors, write down matrix Also an easy way to construct transforms e. g. scale by 2 across direction (1,2) 37 38 Affine change of coordinates Coordinate frame summary When we move an object to the origin to apply a transformation, we are really changing coordinates the transformation is easy to express in object s frame so define it there and transform it T e is the transformation expressed wrt. {e 1, e 2 } T F is the transformation expressed in natural frame F is the frame-to-canonical matrix [u v p] This is a similarity transformation Frame = point plus basis Frame matrix (frame-to-canonical) is Move points to and from frame by multiplying with F Move transformations using similarity transforms 39 40