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

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

2D/3D Geometric Transformations and Scene Graphs

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

Geometric Transformations

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

Vector Algebra Transformations. Lecture 4

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

Linear and Affine Transformations Coordinate Systems

Transforms. COMP 575/770 Spring 2013

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

Transformations Week 9, Lecture 18

3D Geometry and Camera Calibration

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

Overview. By end of the week:

Computer Graphics Hands-on

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

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

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

CT5510: Computer Graphics. Transformation BOCHANG MOON

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

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

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

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

3D Viewing. CS 4620 Lecture 8

3-D D Euclidean Space - Vectors

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

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CS354 Computer Graphics Rotations and Quaternions

Computer Vision Projective Geometry and Calibration. Pinhole cameras

2D Object Definition (1/3)

Institutionen för systemteknik

CS6670: Computer Vision

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

CSE328 Fundamentals of Computer Graphics

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

Affine Transformations in 3D

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

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

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

XPM 2D Transformations Week 2, Lecture 3

Chapter 2 - Basic Mathematics for 3D Computer Graphics

Coordinate Frames and Transforms

Transformations. Examples of transformations: shear. scaling

Computer Science 336 Fall 2017 Homework 2

CSC 305 The Graphics Pipeline-1

2D Transformations Introduction to Computer Graphics Arizona State University

XPM 2D Transformations Week 2, Lecture 3

CS4670: Computer Vision

Lecture 5 2D Transformation

Introduction to Homogeneous coordinates

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

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

Answers to practice questions for Midterm 1

GEOMETRIC TRANSFORMATIONS AND VIEWING

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

2D and 3D Transformations AUI Course Denbigh Starkey

Graphics 2009/2010, period 1. Lecture 6: perspective projection

CS4670: Computer Vision

Graphics and Interaction Transformation geometry and homogeneous coordinates

Advanced Computer Graphics Transformations. Matthias Teschner

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

Prof. Feng Liu. Fall /19/2016

IntroductionToRobotics-Lecture02

METR 4202: Advanced Control & Robotics

Computer Graphics. Geometric Transformations

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

Computer Graphics. Geometric Transformations

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

COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline

N-Views (1) Homographies and Projection

Equations of planes in

Perspective Projection [2 pts]

CS230 : Computer Graphics Lecture 6: Viewing Transformations. Tamar Shinar Computer Science & Engineering UC Riverside

CMSC 425: Lecture 6 Affine Transformations and Rotations

CS251 Spring 2014 Lecture 7

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

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

ME5286 Robotics Spring 2014 Quiz 1 Solution. Total Points: 30

Transforms 1 Christian Miller CS Fall 2011

COMP3421. Vector geometry, Clipping

CSE452 Computer Graphics

CS 4204 Computer Graphics

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Agenda. Rotations. Camera calibration. Homography. Ransac

CS559: Computer Graphics

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

CS 184, Fall 1996 Midterm #1 Professor: unknown

Camera Calibration. COS 429 Princeton University

Image warping , , Computational Photography Fall 2017, Lecture 10

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

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

Problem 2. Problem 3. Perform, if possible, each matrix-vector multiplication. Answer. 3. Not defined. Solve this matrix equation.

CV: 3D sensing and calibration

Monday, 12 November 12. Matrices

Game Engineering CS S-05 Linear Transforms

Lecture 5: Transforms II. Computer Graphics and Imaging UC Berkeley CS184/284A

Agenda. Rotations. Camera models. Camera calibration. Homographies

calibrated coordinates Linear transformation pixel coordinates

CMSC427 Transformations II: Viewing. Credit: some slides from Dr. Zwicker

Transcription:

CS4620/5620 Affine and 3D Transformations Professor: Kavita Bala 1 Announcements Updated schedule on course web page 2 Prelim days finalized and posted Oct 11, Nov 29 No final exam, final project will be due in the week of finals First homework will be out this weekend 2

Linear transformations using matrices 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) Translation cannot be represented by linear transforms 3 Affine transformations The set of transformations we are interested in is known as the affine transformations straight lines preserved; parallel lines preserved ratios of lengths along lines preserved (midpoints preserved) 4

Transforming points and vectors Homogeneous coords. lets us handle points and vectors just put 0 rather than 1 in the last place 5 Coordinate Systems Bases Expressing vectors in different bases Motivation Global coordinate system Local coordinate system 6

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

Another way of thinking about this Affine change of coordinates 9 Affine change of coordinates Coordinate frame: point plus basis Need to change representation of point from one basis to another Canonical: origin (0,0) w/ axes e1, e2 Frame to canonical transformation Seems backward but worth thinking about 10

On the Board 11 Affine change of coordinates Coordinate frame: point plus basis Need to change representation of point from one basis to another Canonical: origin (0,0) w/ axes e1, e2 Frame to canonical matrix has frame in columns takes points represented in frame represents them in canonical basis 12

Another way of thinking about this Affine change of coordinates Six degrees of freedom or 13 Affine change of coordinates 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 (canonical, world) T F is the transformation expressed in natural (local) frame F is the frame-to-canonical matrix [u v p] This is a similarity matrix 14

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) 15 Coordinate frame summary Frame = point plus basis Frame matrix (frame-to-canonical) is Move points to and from frame by multiplying with F Move transformations 16

Orthonormal frames in 3D! Useful tools for constructing transformations Recall rigid motions affine transforms with pure rotation columns (and rows) form right-handed ONB that is, an orthonormal basis 17 Fun and important aside: How to build 3D frames Given a vector a, define a frame with one axis parallel to a Given a secondary vector b The u axis should be parallel to a, the u v plane should contain b»u = a / a»w = u x b; w = w / w»v = w x u Given just a vector a The u axis should be parallel to a; don t care about orientation about that axis Same process but choose arbitrary b first Good choice is not near a: e.g. set smallest entry to 1 18

3D Transformations 19 Translation 20

Scaling 21 Rotation about z axis 22

Rotation about x axis 23 Rotation about y axis 24