we must pay attention to the role of the coordinate system w.r.t. which we perform a tform

Similar documents
we must pay attention to the role of the coordinate system w.r.t. which we perform a tform

( ) ( ) ( ) ( ) TNM046: Datorgrafik. Transformations. Linear Algebra. Linear Algebra. Sasan Gooran VT Transposition. Scalar (dot) product:

CS 378: Computer Game Technology

Two conventions for coordinate systems. Left-Hand vs Right-Hand. x z. Which is which?

CS 354R: Computer Game Technology

2D Geometric Transformations. (Chapter 5 in FVD)

Graphics Example: Type Setting

MATRIX TRANSFORMATIONS

Affine transformations

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 2: Rigid Motions and Homogeneous Transformations

Reading. 4. Affine transformations. Required: Watt, Section 1.1. Further reading:

Matrices. VCE Maths Methods - Unit 2 - Matrices

CS 4300 Computer Graphics. Prof. Harriet Fell Fall 2011 Lecture 11 September 29, 2011

Some linear transformations on R 2 Math 130 Linear Algebra D Joyce, Fall 2013

Operations depend on pixel s Coordinates. Context free. Independent of pixel values. I(x,y) I (x,y )

Affine transformations. Brian Curless CSE 557 Fall 2014

1 HOMOGENEOUS TRANSFORMATIONS

Additional Problem (HW 10)

Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach

Affine transformations

Lecture 5: 3-D Rotation Matrices.

Vector and Affine Math

Physically Based Rendering ( ) Geometry and Transformations

A Tutorial on Euler Angles and Quaternions

5. Nonholonomic constraint Mechanics of Manipulation

11.4 Polar Coordinates

CS 335 Graphics and Multimedia. 2D Graphics Primitives and Transformation

Section 10.7 The Cross Product

CS-184: Computer Graphics. Today

Geometry review, part I

TENSOR TRANSFORMATION OF STRESSES

The notes cover linear operators and discuss linear independence of functions (Boas ).

Transformations. Chapter D Transformations Translation

Linear and affine transformations

KINEMATIC RELATIONS IN DEFORMATION OF SOLIDS

x y plane is the plane in which the stresses act, yy xy xy Figure 3.5.1: non-zero stress components acting in the x y plane

The first change comes in how we associate operators with classical observables. In one dimension, we had. p p ˆ

Parametric Equations for Circles and Ellipses

Vectors Coordinate frames 2D implicit curves 2D parametric curves. Graphics 2008/2009, period 1. Lecture 2: vectors, curves, and surfaces

15. Eigenvalues, Eigenvectors

Linear Algebra & Geometry why is linear algebra useful in computer vision?

Linear Algebra & Geometry why is linear algebra useful in computer vision?

Matrices. VCE Maths Methods - Unit 2 - Matrices

Phys 221. Chapter 3. Vectors A. Dzyubenko Brooks/Cole

Midterm Solutions. EE127A L. El Ghaoui 3/19/11

TIEA311 Tietokonegrafiikan perusteet kevät 2018

Strain Transformation and Rosette Gage Theory

Kinematics. Félix Monasterio-Huelin, Álvaro Gutiérrez & Blanca Larraga. September 5, Contents 1. List of Figures 1.

Eigenvectors and Eigenvalues 1

Unit 12 Study Notes 1 Systems of Equations

Dealing with Rotating Coordinate Systems Physics 321. (Eq.1)

ES.1803 Topic 16 Notes Jeremy Orloff

Lecture 5. Equations of Lines and Planes. Dan Nichols MATH 233, Spring 2018 University of Massachusetts.

COMP 175 COMPUTER GRAPHICS. Lecture 04: Transform 1. COMP 175: Computer Graphics February 9, Erik Anderson 04 Transform 1

Rigid Body Transforms-3D. J.C. Dill transforms3d 27Jan99

Vector Calculus Review

Review of linear algebra

03 - Basic Linear Algebra and 2D Transformations

University of Alabama Department of Physics and Astronomy. PH 125 / LeClair Spring A Short Math Guide. Cartesian (x, y) Polar (r, θ)

Mathematical Foundations: Intro

Created by T. Madas VECTOR MOMENTS. Created by T. Madas

Chapter 8. Rigid transformations

Lecture Note 1: Background

CHAPTER 10 VECTORS POINTS TO REMEMBER

Mathematics 309 Conic sections and their applicationsn. Chapter 2. Quadric figures. ai,j x i x j + b i x i + c =0. 1. Coordinate changes

Identifying second degree equations

Simultaneous Orthogonal Rotations Angle

Position and orientation of rigid bodies

EGR2013 Tutorial 8. Linear Algebra. Powers of a Matrix and Matrix Polynomial

Dynamics and control of mechanical systems

There are two things that are particularly nice about the first basis

COORDINATE TRANSFORMATIONS IN CLASSICAL FIELD THEORY

Metric-based classifiers. Nuno Vasconcelos UCSD

Chapter 6 Additional Topics in Trigonometry, Part II

PHYS 705: Classical Mechanics. Rigid Body Motion Introduction + Math Review

Transformation of kinematical quantities from rotating into static coordinate system

Ground Rules. PC1221 Fundamentals of Physics I. Coordinate Systems. Cartesian Coordinate System. Lectures 5 and 6 Vectors.

Fundamentals of Applied Electromagnetics. Chapter 2 - Vector Analysis

Differential Kinematics

Marking Scheme (Mathematics XII )

Vectors. The standard geometric definition of vector is as something which has direction and magnitude but not position.

Three-Dimensional Space; Vectors

Lecture 1a. Complex numbers, phasors and vectors. Introduction. Complex numbers. 1a.1

The Force Table Introduction: Theory:

Chapter Adequacy of Solutions

Chapter 2: Vector Geometry

Today. CS-184: Computer Graphics. Introduction. Some Examples. 2D Transformations

SET-I SECTION A SECTION B. General Instructions. Time : 3 hours Max. Marks : 100

Systems of Linear Equations: Solving by Graphing

MAT 1339-S14 Class 8

2.4 Orthogonal Coordinate Systems (pp.16-33)

Rotational motion of a rigid body spinning around a rotational axis ˆn;

Change of Variables In Multiple Integrals

Minimal representations of orientation

4.1 Distance and Length

Engineering Mathematics I

Outline. MA 138 Calculus 2 with Life Science Applications Linear Maps (Section 9.3) Graphical Representation of (Column) Vectors. Addition of Vectors

2.3 Rectangular Components in Three-Dimensional Force Systems

Computer Graphics: 2D Transformations. Course Website:

All parabolas through three non-collinear points

Transcription:

linear SO... we will want to represent the geometr of points in space we will often want to perform (rigid) transformations to these objects to position them translate rotate or move them in an animation time varing tform position or move virtual camera we also ma use non-rigid tforms to specif shape scale an object squash a sphere into an ellipsoid. so we must understand how to manipulate 3d coordinates and transforms we must pa attention to order of tforms we must pa attention to the role of the coordinate sstem w.r.t. which we perform a tform we will look at linear and affine transformations at end of the da, our code will have vertices with 3d coords and we will use 4 b 4 matrices to describe properl manipulate them but to figure out what to code, we need to first do some thinking/paper-pencil work. Geometric data tpes we describe a point using a coordinate vector specifies position wrt an agreed upon coordinate sstem three agreed directions agreed origin if we change agreed upon c.s., we must change the coordinate vector so a point is specified with a coordinate sstem and a coordinate vector 4 geometric data tpes point: p represents place vector: v represents motion/offset between points coordinate vector: c coordinate sstem s t basis for vectors frame is for points 1

vectors vs coordinate vectors a vector is a geometric entit (motion/offset between points) in a real or virtual 3D world a coordinate vector is a set of numbers used to specif a vector given an agreed coordinate sstem vector space a set has an addition operation has a scalar multiplication some other rules addition is associative and commutative scalar mul must distribute across vector add α( v + w) = α v + α w eample vector spaces R 3 (triplets of numbers) pairs of elements of R 3, where two pairs are equivalent if the share their offset. in particular the vectors are not triplets of numbers, but bags of triplet pairs. this class: motion between points in our room. these vectors should not be thought of as numerical objects. coordinate sstem: basis a basis is a minimal set of vectors that we can use to get to all of the vectors using our ops. minimal == linearl independent dimension is number of basis elements needed for us it will be 3 so basis can be used to address all of the vectors uniquel using coordinates v = i c i bi so a basis (a non-numerical object) can be used to represent a vector (non-numerical) with a set of coordinates (a numerical object!). shorthand write this as even shorter linear transformation a linear tform L maps from V to V v = i c i bi = c 1 v = b t c 2

satisfies 2 rules L( v + u) = L( v) + L( u) L( αv) = αl( v) we will use the notation v L( v) book uses linear tforms and matrices linear transformation can be eactl specified b telling us its effect on the basis vectors. linear transforms can be epressed with matri multiplication Linearit implies v L( v) = L( i c i bi ) = i c i L( b i ) in our shorthand this is c 1 L( b 1 ) L( b 2 ) L( b 3 ) c 1 each L( b i ) can ultimatel be written as some linear combination of the original basis vectors using numbers M i,j L( b 1 ) L( b 2 ) L( b 3 ) = M 1,1 M 1,2 M 1,3 M 2,1 M 2,2 M 2,3 M 3,1 M 3,2 M 3,3 so a linear transform operating on a vector can be epressed as well defined ops vector to vector see fig c 1 M 1,1 M 1,2 M 1,3 M 2,1 M 2,2 M 2,3 M 3,1 M 3,2 M 3,3 b t c b t Mc c 1 basis to basis, L( b 1 ) L( b 2 ) L( b 3 ) so this can be written as b t b t M see fig 3

coordinate vector to coordinate vector (this is the one we will see in code, but not until then). identit and inverse the identit matri I implements to do nothing transform an inverse matri has the propert MM 1 = M 1 M = I c Mc not ever matri has an inverse, but nice ones do, and all of our matrices are nice. matrices for change of basis dot we just saw as an intermediate result an epression of the form a1 a 2 a 3 = M 1,1 M 1,2 M 1,3 M 2,1 M 2,2 M 2,3 M 3,1 M 3,2 M 3,3 ortho or in shorthand this is not a transformation. a t = b t M a t M 1 = b t we have used a matri to epress one named basis with respect to another. this will be useful too. we can also use this to have different epressions for the same vector e 2.1 and 2.2 v = b t c = a t M 1 c our vectors come equipped with a (bilinear) dot product operation v w allows us to define the squared length (also called squared norm) v 2 := v v The dot product is related to the angle θ 0..π between two vectors 2 vectors are orthogonal if v w = 0. orthonormal basis right handed (cclicall-ordered) basis cos(θ) = v w v w 4

dot product in orthonormal basis b t c b t d = ( c i bi ) ( d j bj ) i j = c i d j ( b i b j ) i j = i c i d i cross the output is the vector v w := v w sin(θ) n in a r.h. o.n. basis, the coordinates of ( b t c) ( b t d) are d 3 d 2 d 1 c 1 d 3 c 1 d 2 d 1 rotations transform that preserves dot product between vector pairs preserves right handedness between ordered vector triples so maps r.h.o.n. basis to another in 3d, ever rotation fies an ais, and rotates some angles r.h. about that ais. comments rotations about different aes do not commute composition of two rots about two aes is a rotation about some third ais. 2D rotations though the identi of this third ais is not obvious. rotate b θ degrees counter clockwise about the origin b1 b2 b1 cos θ sin θ b2 sin θ cos θ and we can rotate the basis as b1 b2 b1 cos θ sin θ b2 sin θ cos θ 3d rotations rotate a point b θ degrees around the ais of the basis c s 0 s c 0 0 0 1 5

where c cosθ, and s sinθ. fies points on ais for points in = k plane, it is like a 2D rotation basis is important ( direction) more 3d rotations around ais forward rotation around the ais arbitrar rotation can get an rotation b appling one,, can get an rotation b appling one,, called Euler angles visualie with set of gimbals 0 1 0 c 0 s s 0 c 1 0 0 0 c s 0 s c one can specif rotation with unit vector ais ˆk := k, k, k t and θ using matri kv 2 + c k k v k s k k v + k s k k v + k s kv 2 + c k k v k s k k v k s k k v + k s kv 2 + c where v 1 c other linear transforms uniform scales (common) non-uniform scales (used for modeling) shears (rare) a 0 0 0 a 0 0 0 a a 0 0 0 a 0 0 0 a 1 b 0 0 1 0 0 0 1 e 2.3, 2.4 6