Transformations for Virtual Worlds. (thanks, Greg Welch)

Size: px
Start display at page:

Download "Transformations for Virtual Worlds. (thanks, Greg Welch)"

Transcription

1 Transformations for Virtual Worlds (thanks, Greg Welch)

2 Coordinate System Transformations What is a transformation? The instantaneous relationship between a pair of coordinate systems. Defines the relative position, orientation and scale of two coordinate systems Notation: T A_B is the transformation from coordinate system B to coordinate system A

3 Simple 2D Example P P A = T A_B P B (4,5) P A P B (1,3) (4,5) = (3,2) (1,3) A T A_B (3,2) B T A_B A_B converts points in B to points in A T A_B measures the position of B s origin in A The vector runs from A to B

4 Properties of Coordinate System Transformations Used to convert the coordinates of a point specified in one coordinate system to another. P A = T A_B P B Can be inverted Inverse of T A_B = T B_A

5 Properties of Coordinate System Transformations Can be composed to compute the relationship between several coordinate systems T A_C = T A_B T B_C Note: Nice property of subscript cancellation Example: T Shoulder_Hand T A_C T Shoulder_Hand = T Shoulder_Elbow T Elbow_Hand

6 Transformation Representations Can be represented by a 4x4 Transformation Matrix Alternately can use the VQS notation Represent transformation as a Vector (translation), Quaternion (rotation), and a (uniform) Scaling factor

7 Transformation Matrices TRANSLATION T X T Y T Z SCALE S X S Y S Z ROTATION R 11 R 12 R 13 0 R 21 R 22 R 23 0 R 31 R 32 R

8 VQS Notation TRANSLATION: V = (T X, T Y, T Z ) ROTATION: Q = (Q X, Q Y, Q Z, Q W ) SCALE: S = S UNIFORM

9 Transformations: Why Quaternions? Allow simple interpolation More compact Angle and axis of rotation easy to extract More efficient (composing and inverting) More tractable mathematically than matrices or Euler angles

10 VQS Transform from P to P p = [v, q, s] p = s (q * p * q -1 ) + v where p is treated as a quaternion with zero scalar component, and the result has a zero scalar component so can be treated as a vector.

11 Coordinate System Graphs Graphical representation of the coordinate systems in a virtual world and their relationship Nodes represent coordinate systems Edges represent transformations

12 Coordinate System Graphs world tracker room objects head left eye left virtual image left screen hand right eye right virtual image right screen

13 Coordinate System Graphs: How do I use them? Can be used to determine the transformations involved in converting between coordinate systems. Example: Finding world coord of head space point T World_Head P World P World = T World_Head P Head T World_Head = T World_Room T Room_Tracker T Tracker_Head P World P World = T World_Room T Room_Tracker T Tracker_Head P Head

14 Coordinate System Graphs and Virtual World Interactions Can be used to determine the transformations involved in any virtual world interaction Specifying Actions With Invariants Based on frame-to-frame invariants A relation between a set of transformations in the current frame and a set from the previous frame

15 Specifying Virtual World Interactions Coordinate system hierarchy and frame-to-frame invariants can be used to specify many forms of virtual world interaction: Grabbing Flying Scaling

16 Specifying Actions With Invariants Example: Grabbing a Virtual Object Objective: Keep an object fixed to the user s hand Frame-to-frame invariant: T n+1 Object_Hand = T Tn n Object_Hand Result: Updated object position T n+1 World_Object

17 Specifying Actions With Invariants Use coordinate system graph to expand: T Object_Hand T Object_Hand = T Object_World T World_Room T Room_Tracker T Tracker_Hand Substitute: T 2 Object_World T 2 Object_World T 2 World_Room T 2 Room_Tracker T 2 Tracker_Hand = T 1 Object_World T1 T1 T 1 World_Room T 1 Room_Tracker T T1 1 Tracker_Hand

18 Specifying Actions With Invariants Solve: T 2 T1 T1 Object_World = T 1 Object_World T 1 World_Room T 1 Room_Tracker T 1 Tracker_Hand T 2 Hand_Tracker T 2 Tracker_Room T 2 Object_World T 2 Hand_Tracker T 2 Room_World World_Room Invert T 2 Object_World to obtain T 2 World_Object

19 Coordinate System Graph world room object tracker hand

20 Where do I learn more? Computer graphics texts (e.g. Foley, vandam, Feiner, and Hughes) on reserve at MSE for Kumar s Computer Graphics class Paper by Robinett and Holloway READ IT! available on page about today s talk Paper on quaternions by Shoemake and Chou

21 References Foley, J., A. van Dam, S. Feiner, J. Hughes (1990). Computer Graphics: Principles and Practice (2nd ed.). Addison-Wesley Publishing Co., Reading MA. Robinett, W., R. Holloway (1992). Implementation of flying, scaling, and grabbing in virtual worlds, ACM Symposium on Interactive 3D Graphics, Cambridge MA, March Shoemake, K. (1985). Animating rotations using quaternion curves, Computer Graphics: Proc. of SIGGRAPH 85. Chou, J. (1992). Quaternion Kinematic and Dynamic Differential Equations, IEEE Transactions on Robotics and Automation,, Vol. 8, No. 1, Feb

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

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

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate

More information

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

Geometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3 Geometric transformations in 3D and coordinate frames Computer Graphics CSE 167 Lecture 3 CSE 167: Computer Graphics 3D points as vectors Geometric transformations in 3D Coordinate frames CSE 167, Winter

More information

Visualizing Quaternions

Visualizing Quaternions Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 1 Tutorial 1 GRAND PLAN I: Fundamentals of Quaternions II: Visualizing Quaternion Geometry III: Quaternion

More information

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS ALBA PEREZ Robotics and Automation Laboratory University of California, Irvine Irvine, CA 9697 email: maperez@uci.edu AND J. MICHAEL MCCARTHY Department of Mechanical

More information

Splines & Quaternions (splines.txt) by Jochen Wilhelmy a.k.a. digisnap

Splines & Quaternions (splines.txt) by Jochen Wilhelmy a.k.a. digisnap Splines & Quaternions (splines.txt) ----------------------------------- by Jochen Wilhelmy a.k.a. digisnap digisnap@cs.tu-berlin.de 06.08.1997 Introduction ============ This text describes the spline and

More information

The Visual Display Transformation for Virtual Reality

The Visual Display Transformation for Virtual Reality L The Visual Display Transformation for Virtual Reality TR94-031 September, 1994 LLU M UNI VERS GI I S I TAT LUX LIBERTAS CA R O S EPTENT Warren Robinett Richard Holloway Head-Mounted Display Project Department

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

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

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

Rotation with Quaternions

Rotation with Quaternions Rotation with Quaternions Contents 1 Introduction 1.1 Translation................... 1. Rotation..................... 3 Quaternions 5 3 Rotations Represented as Quaternions 6 3.1 Dynamics....................

More information

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

Rotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops) Cornell University CS 569: Interactive Computer Graphics Rotations (and other transformations) Lecture 4 2008 Steve Marschner 1 Rotation as rotation matrix 9 floats orthogonal and unit length columns and

More information

Image warping introduction

Image warping introduction Image warping introduction 1997-2015 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Warping 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 22 Warping.. image

More information

Computer Graphics II: Tools and Techniques

Computer Graphics II: Tools and Techniques Administrive Details Computer Graphics II: Tools and Techniques P. Healy CS1-08 Computer Science Bldg. tel: 202727 patrick.healy@ul.ie Autumn 2018-2019 Outline Administrive Details 1 Administrive Details

More information

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

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape

More information

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control

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

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

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010) Advanced Computer Graphics (Fall 2010) CS 283, Lecture 19: Basic Geometric Concepts and Rotations Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/fa10 Motivation Moving from rendering to simulation,

More information

Quaternions and Exponentials

Quaternions and Exponentials Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office

More information

Dual Numbers: Simple Math, Easy C++ Coding, and Lots of Tricks. Gino van den Bergen

Dual Numbers: Simple Math, Easy C++ Coding, and Lots of Tricks. Gino van den Bergen Dual Numbers: Simple Math, Easy C++ Coding, and Lots of Tricks Gino van den Bergen gino@dtecta.com Introduction Dual numbers extend the real numbers, similar to complex numbers. Complex numbers adjoin

More information

Matrix Inverse 2 ( 2) 1 = 2 1 2

Matrix Inverse 2 ( 2) 1 = 2 1 2 Name: Matrix Inverse For Scalars, we have what is called a multiplicative identity. This means that if we have a scalar number, call it r, then r multiplied by the multiplicative identity equals r. Without

More information

Inverse Kinematics of 6 DOF Serial Manipulator. Robotics. Inverse Kinematics of 6 DOF Serial Manipulator

Inverse Kinematics of 6 DOF Serial Manipulator. Robotics. Inverse Kinematics of 6 DOF Serial Manipulator Inverse Kinematics of 6 DOF Serial Manipulator Robotics Inverse Kinematics of 6 DOF Serial Manipulator Vladimír Smutný Center for Machine Perception Czech Institute for Informatics, Robotics, and Cybernetics

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

Accurate Computation of Quaternions from Rotation Matrices

Accurate Computation of Quaternions from Rotation Matrices Accurate Computation of Quaternions from Rotation Matrices Soheil Sarabandi and Federico Thomas Institut de Robòtica i Informàtica Industrial (CSIC-UPC) Llorens Artigas 4-6, 0808 Barcelona, Spain soheil.sarabandi@gmail.com,

More information

Quaternion Rotations AUI Course Denbigh Starkey

Quaternion Rotations AUI Course Denbigh Starkey Major points of these notes: Quaternion Rotations AUI Course Denbigh Starkey. What I will and won t be doing. Definition of a quaternion and notation 3 3. Using quaternions to rotate any point around an

More information

Rotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco.

Rotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco. otation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J Fowler, WesternGeco Summary Symmetry groups commonly used to describe seismic anisotropy

More information

Lecture «Robot Dynamics»: Kinematics 2

Lecture «Robot Dynamics»: Kinematics 2 Lecture «Robot Dynamics»: Kinematics 2 151-851- V lecture: CAB G11 Tuesday 1:15 12:, every week exercise: HG G1 Wednesday 8:15 1:, according to schedule (about every 2nd week) office hour: LEE H33 Friday

More information

An Analysis of Interactive Deformable Solid Object Modeling

An Analysis of Interactive Deformable Solid Object Modeling An Analysis of Interactive Deformable Solid Object Modeling Shrirang Yardi Department of Electrical and Computer Engineering Virginia Tech Blacksburg, VA yardi@vt.edu Benjamin Bishop Department of Computing

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

Visualizing Quaternions

Visualizing Quaternions Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 25 Tutorial OUTLINE I: (45min) Twisting Belts, Rolling Balls, and Locking Gimbals: Explaining Rotation Sequences

More information

Linear and Affine Transformations Coordinate Systems

Linear and Affine Transformations Coordinate Systems Linear and Affine Transformations Coordinate Systems Recall A transformation T is linear if Recall A transformation T is linear if Every linear transformation can be represented as matrix Linear Transformation

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

Friday, 11 January 13. Interpolation

Friday, 11 January 13. Interpolation Interpolation Interpolation Interpolation is not a branch of mathematic but a collection of techniques useful for solving computer graphics problems Basically an interpolant is a way of changing one number

More information

0_PreCNotes17 18.notebook May 16, Chapter 12

0_PreCNotes17 18.notebook May 16, Chapter 12 Chapter 12 Notes BASIC MATRIX OPERATIONS Matrix (plural: Matrices) an n x m array of elements element a ij Example 1 a 21 = a 13 = Multiply Matrix by a Scalar Distribute scalar to all elements Addition

More information

x = 12 x = 12 1x = 16

x = 12 x = 12 1x = 16 2.2 - The Inverse of a Matrix We've seen how to add matrices, multiply them by scalars, subtract them, and multiply one matrix by another. The question naturally arises: Can we divide one matrix by another?

More information

CS770/870 Spring 2017 Curve Generation

CS770/870 Spring 2017 Curve Generation CS770/870 Spring 2017 Curve Generation Primary resources used in preparing these notes: 1. Foley, van Dam, Feiner, Hughes, Phillips, Introduction to Computer Graphics, Addison-Wesley, 1993. 2. Angel, Interactive

More information

12.1 Quaternions and Rotations

12.1 Quaternions and Rotations Fall 2015 CSCI 420 Computer Graphics 12.1 Quaternions and Rotations Hao Li http://cs420.hao-li.com 1 Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera

More information

Matrix Operations with Applications in Computer Graphics

Matrix Operations with Applications in Computer Graphics Matrix Operations with Applications in Computer Graphics The zero matrix is a matrix with all zero entries. The identity matrix is the matrix I with on the main diagonal entries and for all other entries.

More information

Mobile Robotics. Mathematics, Models, and Methods. HI Cambridge. Alonzo Kelly. Carnegie Mellon University UNIVERSITY PRESS

Mobile Robotics. Mathematics, Models, and Methods. HI Cambridge. Alonzo Kelly. Carnegie Mellon University UNIVERSITY PRESS Mobile Robotics Mathematics, Models, and Methods Alonzo Kelly Carnegie Mellon University HI Cambridge UNIVERSITY PRESS Contents Preface page xiii 1 Introduction 1 1.1 Applications of Mobile Robots 2 1.2

More information

Advanced Computer Graphics Transformations. Matthias Teschner

Advanced Computer Graphics Transformations. Matthias Teschner Advanced Computer Graphics Transformations Matthias Teschner Motivation Transformations are used To convert between arbitrary spaces, e.g. world space and other spaces, such as object space, camera space

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 420 Computer Graphics Lecture 20 and Rotations Rotations Motion Capture [Angel Ch. 3.14] Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera parameters

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body

More information

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

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 480 Computer Graphics Lecture 20 and Rotations April 6, 2011 Jernej Barbic Rotations Motion Capture [Ch. 4.12] University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s11/ 1 Rotations

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body

More information

Part II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors.

Part II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors. Visualizing Quaternions Part II: Visualizing Quaternion Geometry Andrew J. Hanson Indiana University Part II: OUTLINE The Spherical Projection Trick: Visualizing unit vectors. Quaternion Frames Quaternion

More information

Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering

Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering PR 5 Robot Dynamics & Control /8/7 PR 5: Robot Dynamics & Control Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering The Inverse Kinematics The determination of all possible

More information

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

Answers. Chapter 2. 1) Give the coordinates of the following points: Answers Chapter 2 1) Give the coordinates of the following points: a (-2.5, 3) b (1, 2) c (2.5, 2) d (-1, 1) e (0, 0) f (2, -0.5) g (-0.5, -1.5) h (0, -2) j (-3, -2) 1 2) List the 48 different possible

More information

Computational Design. Stelian Coros

Computational Design. Stelian Coros Computational Design Stelian Coros Schedule for presentations February 3 5 10 12 17 19 24 26 March 3 5 10 12 17 19 24 26 30 April 2 7 9 14 16 21 23 28 30 Send me: ASAP: 3 choices for dates + approximate

More information

Animating Transformations

Animating Transformations Animating Transformations Connelly Barnes CS445: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Overview Rotations and

More information

Overview. Animation is a big topic We will concentrate on character animation as is used in many games today. humans, animals, monsters, robots, etc.

Overview. Animation is a big topic We will concentrate on character animation as is used in many games today. humans, animals, monsters, robots, etc. ANIMATION Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. Character Representation A character is represented

More information

Development of intelligent systems

Development of intelligent systems Development of intelligent systems (RInS) Transformations between coordinate frames Danijel Skočaj University of Ljubljana Faculty of Computer and Information Science Literature: Tadej Bajd (2006). Osnove

More information

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

3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 CS 430/536 Computer Graphics I 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory

More information

Reflection (M): Reflect simple plane figures in horizontal or vertical lines;

Reflection (M): Reflect simple plane figures in horizontal or vertical lines; IGCSE - Extended Mathematics Transformation Content: Transformation: Reflection (M): Reflect simple plane figures in horizontal or vertical lines; Rotation (R): Rotate simple plane figures about the origin,

More information

Connected Minimal Acceleration Trigonometric Curves

Connected Minimal Acceleration Trigonometric Curves Connected Minimal Acceleration Trigonometric Curves Tony Barrera Barrera Kristiansen AB Anders Hast Creative Media Lab, University of Gävle Ewert Bengtsson Centre for Image Analysis Uppsala University

More information

CS770/870 Spring 2017 Quaternions

CS770/870 Spring 2017 Quaternions CS770/870 Spring 2017 Quaternions Primary resources used in preparing these notes: 1. van Osten, 3D Game Engine Programming: Understanding Quaternions, https://www.3dgep.com/understanding-quaternions 2.

More information

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1 Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1 Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral

More information

Session #5 2D Mechanisms: Mobility, Kinematic Analysis & Synthesis

Session #5 2D Mechanisms: Mobility, Kinematic Analysis & Synthesis Session #5 2D Mechanisms: Mobility, Kinematic Analysis & Synthesis Courtesy of Design Simulation Technologies, Inc. Used with permission. Dan Frey Today s Agenda Collect assignment #2 Begin mechanisms

More information

Animating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Animating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Animating orientation CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Orientation in the plane θ (cos θ, sin θ) ) R θ ( x y = sin θ ( cos θ sin θ )( x y ) cos θ Refresher: Homogenous

More information

Animation and Quaternions

Animation and Quaternions Animation and Quaternions Partially based on slides by Justin Solomon: http://graphics.stanford.edu/courses/cs148-1-summer/assets/lecture_slides/lecture14_animation_techniques.pdf 1 Luxo Jr. Pixar 1986

More information

Why animate humans? Why is this hard? Aspects of the Problem. These lectures. Animation Apreciation 101

Why animate humans? Why is this hard? Aspects of the Problem. These lectures. Animation Apreciation 101 Animation by Example Lecture 1: Introduction, Human Representation Michael Gleicher University of Wisconsin- Madison www.cs.wisc.edu/~gleicher www.cs.wisc.edu/graphics Why animate humans? Movies Television

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics James D. Foley Georgia Institute of Technology Andries van Dam Brown University Steven K. Feiner Columbia University John F. Hughes Brown University Richard L. Phillips

More information

Advanced Computer Graphics

Advanced Computer Graphics G22.2274 001, Fall 2009 Advanced Computer Graphics Project details and tools 1 Project Topics Computer Animation Geometric Modeling Computational Photography Image processing 2 Optimization All projects

More information

Triangulation: A new algorithm for Inverse Kinematics

Triangulation: A new algorithm for Inverse Kinematics Triangulation: A new algorithm for Inverse Kinematics R. Müller-Cajar 1, R. Mukundan 1, 1 University of Canterbury, Dept. Computer Science & Software Engineering. Email: rdc32@student.canterbury.ac.nz

More information

Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC

Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics Velocity Interpolation Original image from Foster & Metaxas, 1996 In 2D: For each axis, find the 4 closest face velocity samples: Self-intersecting

More information

Robot Vision: Projective Geometry

Robot Vision: Projective Geometry Robot Vision: Projective Geometry Ass.Prof. Friedrich Fraundorfer SS 2018 1 Learning goals Understand homogeneous coordinates Understand points, line, plane parameters and interpret them geometrically

More information

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

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations CS 445 / 645 Introduction to Computer Graphics Lecture 21 Representing Rotations Parameterizing Rotations Straightforward in 2D A scalar, θ, represents rotation in plane More complicated in 3D Three scalars

More information

On the impact of using mixed real number representations in a graphics pipeline

On the impact of using mixed real number representations in a graphics pipeline On the impact of using mixed real number representations in a graphics pipeline OVIDIU SICOE Politehnica University of Timisoara Department of Computer Engineering Timisoara ROMANIA ovidiu.sicoe@gmail.com

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

Chapter 3 : Computer Animation

Chapter 3 : Computer Animation Chapter 3 : Computer Animation Histor First animation films (Disne) 30 drawings / second animator in chief : ke frames others : secondar drawings Use the computer to interpolate? positions orientations

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

Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018

Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018 Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018 Welman, 1993 Inverse Kinematics and Geometric Constraints for Articulated Figure Manipulation, Chris

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

Autonomous Navigation for Flying Robots

Autonomous Navigation for Flying Robots Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München Points in 3D 3D point Augmented vector Homogeneous

More information

Structure and Synthesis of Robot Motion

Structure and Synthesis of Robot Motion Structure and Synthesis of Robot Motion Dynamics: Constraints, Continua, etc. Subramanian Ramamoorthy School of Informatics 5 February, 2009 Recap Last time, we discussed two major approaches to describing

More information

NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING. Dr. Stephen Bruder NMT EE 589 & UNM ME 482/582

NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING. Dr. Stephen Bruder NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING Dr. Stephen Bruder Course Information Robot Engineering Classroom UNM: Woodward Hall room 147 NMT: Cramer 123 Schedule Tue/Thur 8:00 9:15am Office Hours UNM: After class 10am Email bruder@aptec.com

More information

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A.

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A. Computer Graphics Instructor: Oren Kapah (orenkapahbiu@gmail.com) Office Hours: T.B.A. The CG-IDC slides for this course were created by Toky & Hagit Hel-Or 1 CG-IDC 2 Exercise and Homework The exercise

More information

Systems of Inequalities and Linear Programming 5.7 Properties of Matrices 5.8 Matrix Inverses

Systems of Inequalities and Linear Programming 5.7 Properties of Matrices 5.8 Matrix Inverses 5 5 Systems and Matrices Systems and Matrices 5.6 Systems of Inequalities and Linear Programming 5.7 Properties of Matrices 5.8 Matrix Inverses Sections 5.6 5.8 2008 Pearson Addison-Wesley. All rights

More information

Bezier Curves. An Introduction. Detlef Reimers

Bezier Curves. An Introduction. Detlef Reimers Bezier Curves An Introduction Detlef Reimers detlefreimers@gmx.de http://detlefreimers.de September 1, 2011 Chapter 1 Bezier Curve Basics 1.1 Linear Interpolation This section will give you a basic introduction

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

Revision Problems for Examination 2 in Algebra 1

Revision Problems for Examination 2 in Algebra 1 Centre for Mathematical Sciences Mathematics, Faculty of Science Revision Problems for Examination in Algebra. Let l be the line that passes through the point (5, 4, 4) and is at right angles to the plane

More information

Rotations in 3D Graphics and the Gimbal Lock

Rotations in 3D Graphics and the Gimbal Lock Rotations in 3D Graphics and the Gimbal Lock Valentin Koch Autodesk Inc. January 27, 2016 Valentin Koch (ADSK) IEEE Okanagan January 27, 2016 1 / 37 Presentation Road Map 1 Introduction 2 Rotation Matrices

More information

Computer Animation II

Computer Animation II Computer Animation II Orientation interpolation Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic Lecture 13 6.837 Fall 2002 Interpolation Review from Thursday Splines Articulated bodies

More information

Welcome to CS 4/57101 Computer Graphics

Welcome to CS 4/57101 Computer Graphics Welcome to CS 4/57101 Computer Graphics Goal: The goal of this course is to provide an introduction to the theory and practice of computer graphics. The course will assume a good background in programming

More information

Fundamentals of Computer Animation

Fundamentals of Computer Animation Fundamentals of Computer Animation Orientation and Rotation University of Calgary GraphicsJungle Project CPSC 587 5 page Motivation Finding the most natural and compact way to present rotation and orientations

More information

Space resection by collinearity Mathematics behind the optical ceiling head-tracker

Space resection by collinearity Mathematics behind the optical ceiling head-tracker Space resection by collinearity Mathematics behind the optical ceiling head-tracker Ronald Azuma Mark Ward University of North Carolina at Chapel Hill November 1991 Space resection by collinearity 1 0.0

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

Exercise 1: Kinematics of the ABB IRB 120

Exercise 1: Kinematics of the ABB IRB 120 Exercise 1: Kinematics of the ABB IRB 120 Marco Hutter, Michael Blösch, Dario Bellicoso, Samuel Bachmann October 2, 2015 Abstract In this exercise you learn how to calculate the forward and inverse kinematics

More information

Rotational Joint Limits in Quaternion Space. Gino van den Bergen Dtecta

Rotational Joint Limits in Quaternion Space. Gino van den Bergen Dtecta Rotational Joint Limits in Quaternion Space Gino van den Bergen Dtecta Rotational Joint Limits: 1 DoF Image: Autodesk, Creative Commons Rotational Joint Limits: 3 DoFs Image: Autodesk, Creative Commons

More information

String Graphs Part 1 + 2

String Graphs Part 1 + 2 String Graphs Part + Answers 7 8 9 TI-Nspire Investigation Student 45 min Aim Connect the outcomes of Advanced Strings Graphs Part and Advanced Strings Part using transformation matrices Visualising the

More information

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

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala) 3D Transformations CS 4620 Lecture 10 1 Translation 2 Scaling 3 Rotation about z axis 4 Rotation about x axis 5 Rotation about y axis 6 Properties of Matrices Translations: linear part is the identity

More information

10. Cartesian Trajectory Planning for Robot Manipulators

10. Cartesian Trajectory Planning for Robot Manipulators V. Kumar 0. Cartesian rajectory Planning for obot Manipulators 0.. Introduction Given a starting end effector position and orientation and a goal position and orientation we want to generate a smooth trajectory

More information

Fast Projected Area Computation for Three-Dimensional Bounding Boxes

Fast Projected Area Computation for Three-Dimensional Bounding Boxes jgt 2005/5/9 16:00 page 23 #1 Fast Projected Area Computation for Three-Dimensional Bounding Boxes Dieter Schmalstieg and Robert F. Tobler Vienna University of Technology Abstract. The area covered by

More information

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object. CENG 732 Computer Animation Spring 2006-2007 Week 4 Shape Deformation Animating Articulated Structures: Forward Kinematics/Inverse Kinematics This week Shape Deformation FFD: Free Form Deformation Hierarchical

More information

Course Review. Computer Animation and Visualisation. Taku Komura

Course Review. Computer Animation and Visualisation. Taku Komura Course Review Computer Animation and Visualisation Taku Komura Characters include Human models Virtual characters Animal models Representation of postures The body has a hierarchical structure Many types

More information

Hand-Eye Calibration from Image Derivatives

Hand-Eye Calibration from Image Derivatives Hand-Eye Calibration from Image Derivatives Abstract In this paper it is shown how to perform hand-eye calibration using only the normal flow field and knowledge about the motion of the hand. The proposed

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

XPM 2D Transformations Week 2, Lecture 3

XPM 2D Transformations Week 2, Lecture 3 CS 430/585 Computer Graphics I XPM 2D Transformations Week 2, Lecture 3 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

ISE 422/ME 478/ISE 522 Robotic Systems

ISE 422/ME 478/ISE 522 Robotic Systems ISE 422/ME 478/ISE 522 Robotic Systems Overview of Course R. Van Til Industrial & Systems Engineering Dept. Oakland University 1 What kind of robots will be studied? This kind Not this kind 2 Robots Used

More information

Motion Editing: Mathematical Foundations

Motion Editing: Mathematical Foundations Motion Editing: Mathematical Foundations F. Sebastian Grassia Carnegie Mellon University Before we can begin tackling motion editing problems in earnest, we must ensure our familiarity with the basic tools

More information