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)

MATRIX TRANSFORMATIONS

Graphics Example: Type Setting

Affine transformations

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

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

Matrices. VCE Maths Methods - Unit 2 - Matrices

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

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

Affine transformations. Brian Curless CSE 557 Fall 2014

1 HOMOGENEOUS TRANSFORMATIONS

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

Additional Problem (HW 10)

Affine transformations

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

Vector and Affine Math

15. Eigenvalues, Eigenvectors

Physically Based Rendering ( ) Geometry and Transformations

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

5. Nonholonomic constraint Mechanics of Manipulation

Transformations. Chapter D Transformations Translation

11.4 Polar Coordinates

A Tutorial on Euler Angles and Quaternions

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

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

Section 10.7 The Cross Product

CS-184: Computer Graphics. Today

TIEA311 Tietokonegrafiikan perusteet kevät 2018

Linear and affine transformations

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

Lecture 5: 3-D Rotation Matrices.

Parametric Equations for Circles and Ellipses

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

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

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

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

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

Matrices. VCE Maths Methods - Unit 2 - Matrices

KINEMATIC RELATIONS IN DEFORMATION OF SOLIDS

TENSOR TRANSFORMATION OF STRESSES

Geometry review, part I

ES.1803 Topic 16 Notes Jeremy Orloff

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

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

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

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

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

Unit 12 Study Notes 1 Systems of Equations

Eigenvectors and Eigenvalues 1

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

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

Computer Graphics: 2D Transformations. Course Website:

Vector Calculus Review

The Force Table Introduction: Theory:

Review of linear algebra

03 - Basic Linear Algebra and 2D Transformations

Remark 3.2. The cross product only makes sense in R 3.

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

Lecture Note 1: Background

CHAPTER 10 VECTORS POINTS TO REMEMBER

Strain Transformation and Rosette Gage Theory

Identifying second degree equations

2.4 Orthogonal Coordinate Systems (pp.16-33)

Simultaneous Orthogonal Rotations Angle

Position and orientation of rigid bodies

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

Metric-based classifiers. Nuno Vasconcelos UCSD

Dynamics and control of mechanical systems

COORDINATE TRANSFORMATIONS IN CLASSICAL FIELD THEORY

Chapter 6 Additional Topics in Trigonometry, Part II

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

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

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

MMJ1153 COMPUTATIONAL METHOD IN SOLID MECHANICS PRELIMINARIES TO FEM

Three-Dimensional Space; Vectors

Chapter 8. Rigid transformations

Complex Numbers and Quaternions for Calc III

Differential Kinematics

Chapter Adequacy of Solutions

Chapter 2: Vector Geometry

Mathematical Foundations: Intro

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

Change of Variables In Multiple Integrals

Minimal representations of orientation

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

Algebra 2 Semester Exam Review

Engineering Mathematics I

2.3 Rectangular Components in Three-Dimensional Force Systems

All parabolas through three non-collinear points

Linear Algebra II. 7 Inner product spaces. Notes 7 16th December Inner products and orthonormal bases

Section 13.4 The Cross Product

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 vector space V : some set of elements v needs an addition operation needs scalar multiplication some other rules addition is associative and commutative scalar mul must distribute across vector add α( v + w) = α v + α w eamples of vector spaces the set V ma be lots of different things motion between points!!!! polnomial epressions farm animals triplets of numbers 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 shorthand write this as even shorter v = i c i bi = v = b t c c 1 linear transformation a linear tform L maps from V to V satisfies 2 rules L( v + u) = L( v) + L( u) L( αv) = αl( v) 2

we will use the notation v L( v) 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 coordinate vector to coordinate vector (this is the one we will see in code, but not until then). c Mc identit and inverse 3

the identit matri I implements to do nothing transform an inverse matri has the propert MM 1 = M 1 M = I 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 basis dot product in orthonormal basis cos(θ) = v w v w 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 4

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 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 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 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 c s 0 s c 0 0 0 1 5

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