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

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

Geometric Transformations

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

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

2D/3D Geometric Transformations and Scene Graphs

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

CS354 Computer Graphics Rotations and Quaternions

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

Transforms. COMP 575/770 Spring 2013

Rotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops)

Vector Algebra Transformations. Lecture 4

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

Quaternions & Rotation in 3D Space

Autonomous Navigation for Flying Robots

Linear and Affine Transformations Coordinate Systems

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

Transformations Week 9, Lecture 18

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

CS612 - Algorithms in Bioinformatics

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1

Orientation & Quaternions

Quaternions and Rotations

METR Robotics Tutorial 2 Week 3: Homogeneous Coordinates SOLUTIONS & COMMENTARY

Homogeneous Coordinates

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander

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

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

Quaternions and Rotations

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

METR 4202: Advanced Control & Robotics

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Quaternions and Rotations

Affine Transformations in 3D

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

Quaternions and Rotations

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

More on Transformations. COS 426, Spring 2019 Princeton University

12.1 Quaternions and Rotations

Lecture Note 3: Rotational Motion

MTRX4700 Experimental Robotics

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

CT5510: Computer Graphics. Transformation BOCHANG MOON

Fundamentals of Computer Animation

IMAGE-BASED RENDERING AND ANIMATION

CS184: Using Quaternions to Represent Rotation

Rotations in 3D Graphics and the Gimbal Lock

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations

Visualizing Quaternions

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

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

Visual Recognition: Image Formation

PSE Game Physics. Session (3) Springs, Ropes, Linear Momentum and Rotations. Oliver Meister, Roland Wittmann

Quaternions and Euler Angles

Early Fundamentals of Coordinate Changes and Rotation Matrices for 3D Computer Vision

CS230 : Computer Graphics Lecture 12: Introduction to Animation. Tamar Shinar Computer Science & Engineering UC Riverside

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

θ x Week Date Lecture (M: 2:05p-3:50, 50-N202) 1 23-Jul Introduction + Representing Position & Orientation & State 2 30-Jul

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

IntroductionToRobotics-Lecture02

3D Modelling: Animation Fundamentals & Unit Quaternions

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

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

Camera Model and Calibration

Advanced Computer Graphics Transformations. Matthias Teschner

3-D D Euclidean Space - Vectors

Forward kinematics and Denavit Hartenburg convention

Exercise 1: Kinematics of the ABB IRB 120

CMSC 425: Lecture 6 Affine Transformations and Rotations

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

Development of intelligent systems

3D Geometry and Camera Calibration

Announcements. Equation of Perspective Projection. Image Formation and Cameras

Lecture 22 of 41. Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics

Lecture 22 of 41. Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics

Perspective projection and Transformations

Articulated Characters

CS559: Computer Graphics

Modeling Transformations

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

Chapter 4: Kinematics of Rigid Bodies

Camera Parameters and Calibration

Answers. Chapter 2. 1) Give the coordinates of the following points:

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

Inertial Measurement Units II!

Computer Animation II

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

Multiple View Geometry in Computer Vision

Introduction to Robotics

EEE 187: Robotics Summary 2

Transformations. Questions on Assignment 1? Announcements

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

Jorg s Graphics Lecture Notes Coordinate Spaces 1

Vision Review: Image Formation. Course web page:

Transformations: 2D Transforms

CS770/870 Spring 2017 Quaternions

Quaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods

Coordinate Frames and Transforms

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

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

Attitude Representation

Transcription:

3D Transformations CS 4620 Lecture 11 1

Announcements A2 due tomorrow Demos on Monday Please sign up for a slot Post on piazza 2

Translation 3

Scaling 4

Rotation about z axis 5

Rotation about x axis 6

Rotation about y axis 7

Properties of Matrices Translations: linear part is the identity Scales: linear part is diagonal Rotations: linear part is orthogonal Columns of R are mutually orthonormal: RR T =R T R=I Also, determinant of R det(r) = 1 8

General Rotation Matrices A rotation in 2D is around a point A rotation in 3D is around an axis so 3D rotation is w.r.t a line, not just a point 2D 3D 9

Specifying rotations In 2D, a rotation just has an angle In 3D, specifying a rotation is more complex basic rotation about origin: unit vector (axis) and angle convention: positive rotation is CCW when vector is pointing at you Many ways to specify rotation Indirectly through frame transformations Directly through Euler angles: 3 angles about 3 axes (Axis, angle) rotation Quaternions 10

Euler angles An object can be oriented arbitrarily Euler angles: stack up three coord axis rotations ZYX case: Rz(thetaz)*Ry(thetay)*Rx(thetax) heading, attitude, bank (common for airplanes) pitch, yaw, roll (common for ground vehicles) pan, tilt, roll (common for cameras) 11

Roll, yaw, Pitch 12

Specifying rotations: Euler rotations Euler angles 13

Gimbal Lock 14

Euler angles Gimbal lock removes one degree of freedom worth a look: http://www.youtube.com/watch?v=zc8b2jo7mno (also http://www.youtube.com/watch?v=rrucboljdt4) 15

Matrices for axis-angle rotations Showed matrices for coordinate axis rotations but what if we want rotation about some other axis? Compute by composing elementary transforms transform rotation axis to align with x axis apply rotation inverse transform back into position Just as in 2D this can be interpreted as a similarity transform 16

Building general rotations Using elementary transforms you need three translate axis to pass through origin rotate about y to get into x-y plane rotate about z to align with x axis Alternative: construct frame and change coordinates choose p, u, v, w to be orthonormal frame with p and u matching the rotation axis apply transform T = F R x (θ ) F 1 17

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 18

Building 3D frames Given a vector a and 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 for b is not near a: e.g. set smallest entry to 1 19

Building general rotations Construct frame and change coordinates choose p, u, v, w to be orthonormal frame with p and u matching the rotation axis apply similarity transform T = F R x (θ ) F 1 interpretation: move to x axis, rotate, move back interpretation: rewrite u-axis rotation in new coordinates (each is equally valid) (note above is linear transform; add affine coordinate) 20

Building general rotations Construct frame and change coordinates choose p, u, v, w to be orthonormal frame with p and u matching the rotation axis apply similarity transform T = F R x (θ ) F 1 interpretation: move to x axis, rotate, move back interpretation: rewrite u-axis rotation in new coordinates (each is equally valid) Sleeker alternative: Rodrigues formula 21

Derivation of General Rotation Matrix Axis angle rotation 22

Axis-angle ONB 23

Axis-angle rotation 24

Rotation Matrix for Axis-Angle 25

Transforming normal vectors Transforming surface normals differences of points (and therefore tangents) transform OK normals do not. Instead, use inverse transpose matrix 26