+ All Categories
Home > Documents > 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P...

06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P...

Date post: 05-Oct-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
62
CS452/552; EE465/505 Geometry Transformations 1-26-15
Transcript
Page 1: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

CS452/552; EE465/505

Geometry Transformations

1-26-15

Page 2: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

!Geometry: scalars, points & vectors ! Transformations

Read: ✦ Angel, Chapter 4 (study cube.html/cube.js example) ✦ Appendix B: Spaces (vector, affine, Euclidean) ✦ Appendix C: Matrices

Helpful links: ■ Linear Algebra: Khan Academy

Lab1 is posted on github, due: Friday, 1/30, midnight

Outline

Page 3: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Jeff Chastine

The Local Coordinate System! Sometimes called “Object Space” (or Model Space”) ! It’s the coordinate system the model was made in

(0, 0, 0)

Page 4: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Jeff Chastine

The World SPACE! The coordinate system of the virtual environment

(619, 10, 628)

Page 5: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Jeff Chastine

(619, 10, 628)

Page 6: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Jeff Chastine

Camera Space (Eye Space)! It’s all relative to the camera… (or eye)

Page 7: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Jeff Chastine

Camera Space! It’s all relative to the camera…

(0, 0, -10)

Page 8: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Jeff Chastine

The Big Picture! How do we represent points, polygons, etc. ! How to we get from space to space? ! How do we move, scale and rotate objects?

? ?

Page 9: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Introduce the elements of geometry ! Develop mathematical operations among them in a coordinate-free manner

! Define basic primitives ✦ Line segments ✦ Polygons

Geometry

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 10: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Geometry is the study of the relationships among objects in an n-dimensional space ✦ In computer graphics, we are interested in objects that exist in three dimensions

!Want a minimum set of primitives from which we can build more sophisticated objects

!We will need three basic elements ✦Scalars ✦Vectors ✦ Points

Basic Elements

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 11: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

!When we learned simple geometry, most of us started with a Cartesian approach ✦ Points were at locations in space p=(x,y,z) ✦We derived results by algebraic manipulations involving these coordinates

! This approach was nonphysical ✦ Physically, points exist regardless of the location of an arbitrary coordinate system

✦Most geometric results are independent of the coordinate system

✦ Example Euclidean geometry: two triangles are identical if two corresponding sides and the angle between them are identical

Coordinate-Free Geometry

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 12: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Need three basic elements in geometry ✦Scalars, Vectors, Points

! Scalars can be defined as members of sets which can be combined by two operations (addition and multiplication) obeying some fundamental axioms (associativity, commutivity, inverses)

! Examples include the real and complex number systems under the ordinary rules with which we are familiar

! Scalars alone have no geometric properties

Scalars

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 13: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Physical definition: a vector is a quantity with two attributes ✦Direction ✦Magnitude

! Examples include ✦ Force ✦Velocity ✦Directed line segments ✤Most important example for graphics ✤Can map to other types

Vectors

v

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 14: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Every vector has an inverse ✦Same magnitude but points in opposite direction

! Every vector can be multiplied by a scalar ! There is a zero vector

✦ Zero magnitude, undefined orientation ! The sum of any two vectors is a vector

✦Use head-to-tail axiom

Vector Operations

v -v αvv

u

w

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 15: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Mathematical system for manipulating vectors ! Operations

✦Scalar-vector multiplication u=αv ✦Vector-vector addition: w=u+v

! Expressions such as v=u+2w-3r

Make sense in a vector space

Linear Vector Spaces

Page 16: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! These vectors are identical ✦Same length and magnitude

! Vectors spaces insufficient for geometry ✦Need points

Vectors Lack Position

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 17: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Location in space ! Operations allowed between points and vectors

✦ Point-point subtraction yields a vector ✦ Equivalent to point-vector addition

Points

P=v+Q

v=P-Q

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 18: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Point + a vector space ! Operations

✦Vector-vector addition ✦Scalar-vector multiplication ✦ Point-vector addition ✦Scalar-scalar operations

! For any point define ✦ 1 • P = P ✦ 0 • P = 0 (zero vector)

Affine Spaces

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 19: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Consider all points of the form ✦ P(α)=P0 + α d

✦Set of all points that pass through P0 in the direction of the vector d

Lines

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 20: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! This form is known as the parametric form of the line ✦More robust and general than other forms ✦ Extends to curves and surfaces

! Two-dimensional forms ✦ Explicit: y = mx +h ✦ Implicit: ax + by +c =0 ✦ Parametric: x(α) = αx0 + (1-α)x1

y(α) = αy0 + (1-α)y1

Parametric Form

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 21: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! If α >= 0, then P(α) is the ray leaving P0 in the direction d

If we use two points to define v, then P( α) = Q + α (R-Q)=Q+αv = αR + (1-α)Q

For 0<=α<=1 we get all the points on the line segment joining R and Q

Rays and Line Segments

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 22: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! An object is convex iff for any two points in the object all points on the line segment between these points are also in the object

Convexity

P

Q

convex

Q

P

not convex

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 23: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Consider the “sum” P=α1P1+α2P2+…..+αnPn

Can show by induction that this sum makes sense iff α1+α2+…..αn=1

in which case we have the affine sum of the points P1,P2,…..Pn

! If, in addition, αi>=0, we have the convex hull of P1,P2,…..Pn

Affine Sums

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 24: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Smallest convex object containing P1,P2,…..Pn

! Formed by “shrink wrapping” points

Convex Hull

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 25: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

!Dot (inner) product of 2 vectors: u · v

!Cross (outer) product of 2 (non-parallel) vectors: u × v

25

Dot and Cross Product

Page 26: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! A plane can be defined by a point and two vectors or by three points

Planes

P(α,β)=R+αu+βv

u

v

R

Q

P(α,β)=R+α(Q-R)+β(P-Q)

P

R

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 27: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Triangles

convex sum of S(α) and R

for 0<=α,β<=1, we get all points in triangle

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

convex sum of P and Q

Page 28: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Triangle is convex so any point inside can be represented as an affine sum

P(α1, α2, α3)=α1P+α2Q+α3R where

α1 +α2 +α3 = 1 αi>=0

The representation is called the barycentric coordinate representation of P

Barycentric Coordinates

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 29: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! In three dimensional spaces, every plane has a vector n perpendicular or orthogonal to it called the normal vector

! From the two-point vector form P(α,β)=P+αu+βv, we know we can use the cross product to find n = u × v and the equivalent form

(P(α, β)-P) ⋅ n=0

Normals

u

v

P

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 30: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Curves are one parameter entities of the form P(α) where the function is nonlinear

! Surfaces are formed from two-parameter functions P(α, β) ✦ Linear functions give planes and polygons

Curves and Surfaces

P(α) P(α, β)

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 31: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Introduce concepts such as dimension and basis

! Introduce coordinate systems for representing vectors spaces and frames for representing affine spaces

! Discuss change of frames and bases ! Introduce homogeneous coordinates

Coordinate Systems & Frames

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 32: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! A set of vectors v1, v2, …, vn is linearly independent if

α1v1+α2v2+.. αnvn=0 iff α1=α2=…=0 ! If a set of vectors is linearly independent, we cannot represent one in terms of the others

! If a set of vectors is linearly dependent, at least one can be written in terms of the others

Linear Independence

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 33: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! In a vector space, the maximum number of linearly independent vectors is fixed and is called the dimension of the space

! In an n-dimensional space, any set of n linearly independent vectors form a basis for the space

! Given a basis v1, v2,…., vn, any vector v can be written as

v=α1v1+ α2v2 +….+αnvn

where the {αi} are unique

Dimension

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 34: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Until now we have been able to work with geometric entities without using any frame of reference, such as a coordinate system

! Need a frame of reference to relate points and objects to our physical world. ✦ For example, where is a point? Can’t answer without a reference system

✦World coordinates ✦Camera coordinates

Representation

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 35: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Consider a basis v1, v2,…., vn

! A vector is written v=α1v1+ α2v2 +….+αnvn

! The list of scalars {α1, α2, …. αn}is the representation of v with respect to the given basis

!We can write the representation as a row or column array of scalars

Coordinate Systems

a=[α1 α2 …. αn]T=

!!!!!

"

#

$$$$$

%

&

α

α

α

n

2

1

.

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 36: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

v=2v1+3v2-4v3

a=[2 3 –4]T

! Note that this representation is with respect to a particular basis

! For example, in WebGL we will start by representing vectors using the object basis but later the system needs a representation in terms of the camera or eye basis

Example

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 37: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

!Which is correct?

! Both are because vectors have no fixed location

Coordinate Systems

v

v

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 38: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! A coordinate system is insufficient to represent points

! If we work in an affine space we can add a single point, the origin, to the basis vectors to form a frame

Frames

P0

v1

v2

v3

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 39: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Frame determined by (P0, v1, v2, v3) !Within this frame, every vector can be written as

v=α1v1+ α2v2 +….+αnvn

! Every point can be written as P = P0 + β1v1+ β2v2 +….+βnvn

Representation in a Frame

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 40: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Consider the point and the vector P = P0 + β1v1+ β2v2 +….+βnvn v=α1v1+ α2v2 +….+αnvn

They appear to have the similar representations p=[β1 β2 β3] v=[α1 α2 α3] which confuses the point with the vector A vector has no position

Points differ from Vectors

v

pv

Vector can be placed anywhere

point: fixed

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 41: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Introduce homogeneous coordinates ! Introduce change of representation for both vectors and points

Homogeneous Coordinates

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 42: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

If we define 0•P = 0 and 1•P =P then we can write v=α1v1+ α2v2 +α3v3 = [α1 α2 α3 0 ] [v1 v2 v3 P0] T

P = P0 + β1v1+ β2v2 +β3v3= [β1 β2 β3 1 ] [v1 v2 v3 P0] T

Thus we obtain the four-dimensional homogeneous coordinate representation

v = [α1 α2 α3 0 ] T

p = [β1 β2 β3 1 ] T

A Single Representation

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 43: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Homogeneous coordinates are key to all computer graphics systems ✦All standard transformations (rotation, translation, scaling) can be implemented with matrix multiplications using 4 x 4 matrices

✦Hardware pipeline works with 4 dimensional representations

✦ For orthographic viewing, we can maintain w=0 for vectors and w=1 for points

✦ For perspective we need a perspective division

Homogeneous Coordinates and Computer Graphics

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 44: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Consider two representations of a the same vector with respect to two different bases. The representations are

Change of Coordinate Systems

v=α1v1+ α2v2 +α3v3 = [α1 α2 α3] [v1 v2 v3] T

=β1u1+ β2u2 +β3u3 = [β1 β2 β3] [u1 u2 u3] T

a=[α1 α2 α3 ]b=[β1 β2 β3]

where

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 45: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Representing second basis in terms of first

u1 = γ11v1+γ12v2+γ13v3 u2 = γ21v1+γ22v2+γ23v3 u3 = γ31v1+γ32v2+γ33v3

v

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

! Each of the basis vectors, u1,u2, u3, are vectors that can be represented in terms of the first basis

Page 46: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

The coefficients define a 3 x 3 matrix

and the bases can be related by

see text for numerical examples

Matrix Form

a=MTb

!!!

"

#

$$$

%

&

γγγ

γγγ

γγγ

3231

232221

131211

33

M =

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 47: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

!We can apply a similar process in homogeneous coordinates to the representations of both points and vectors

! Any point or vector can be represented in either frame ! We can represent Q0, u1, u2, u3 in terms of P0, v1, v2, v3

Change of Frames

Consider two frames: (P0, v1, v2, v3) (Q0, u1, u2, u3)

P0 v1

v2

v3

Q0

u1u2

u3

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 48: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

u1 = γ11v1+γ12v2+γ13v3 u2 = γ21v1+γ22v2+γ23v3 u3 = γ31v1+γ32v2+γ33v3 Q0 = γ41v1+γ42v2+γ43v3 +γ44P0

Representing One Frame in Terms of the Other

defining a 4 x 4 matrix

!!!!

"

#

$$$$

%

&

1γγγ

0γγγ

0γγγ

0γγγ

434241

333231

232221

131211

M =

! Extending what we did with change of bases

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 49: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

!Within the two frames any point or vector has a representation of the same form

a=[α1 α2 α3 α4 ] in the first frame b=[β1 β2 β3 β4 ] in the second frame

where α4 = β4 = 1 for points and α4 = β4 = 0 for vectors and

The matrix M is 4 x 4 and specifies an affine transformation in homogeneous coordinates

Working with Representations

a=MTb

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 50: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Every linear transformation is equivalent to a change in frames

! Every affine transformation preserves lines ! However, an affine transformation has only 12

degrees of freedom because 4 of the elements in the matrix are fixed and are a subset of all possible 4 x 4 linear transformations

Affine Transformations

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 51: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Consider the pipeline

✦Model Coordinates ✦Object (or World) Coordinates ✦Eye (or Camera) Coordinates ✦Clip Coordinates ✦Normalized Device Coordinates ✦Window (or Screen) Coordinates

51

Frames in WebGL

Page 52: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

!When we work with representations, we work with n-tuples or arrays of scalars

! Changes in frame are then defined by 4 x 4 matrices

! In OpenGL/WebGL, the base frame that we start with is the world frame

! Eventually we represent entities in the camera frame by changing the world representation using the model-view matrix

! Initially these frames are the same (M=I)

The World and Camera Frames

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 53: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! If objects are on both sides of z=0, we must move camera frame

Moving the Camera

!!!!

"

#

$$$$

%

&

1000d10000100001

M =

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 54: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Introduce standard transformations ✦Rotation ✦Translation ✦Scaling ✦Shear

! Derive homogeneous coordinate transformation matrices

! Learn to build arbitrary transformation matrices from simple transformations

Transformations

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 55: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

General Transformations

Q=T(P)

v=T(u)

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

! A transformation maps points to other points and/or vectors to other vectors

Page 56: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Line preserving ! Characteristic of many physically important transformations ✦Rigid body transformations: rotation, translation ✦Scaling, shear

! Importance in graphics is that we need only transform endpoints of line segments and let implementation draw line segment between the transformed endpoints

Affine Transformations

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 57: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

v

Pipeline Implementation

T(u)

T(v)

u

v

T(u)vertices vertices pixels

transformation rasterizer

u

T

T(u)

T(v)

T(v)

frame buffer

(from application program)

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 58: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

P,Q, R: points in an affine space u, v, w: vectors in an affine space α, β, γ: scalars p, q, r: representations of points

✦array of 4 scalars in homogeneous coordinates u, v, w: representations of vectors

✦array of 4 scalars in homogeneous coordinates

Notation!We will be working with both coordinate-free representations of transformations and representations within a particular frame

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 59: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

! Move (translate, displace) a point to a new location

! Displacement determined by a vector d ✦Three degrees of freedom ✦ P’=P+d

Translation

P

P’

d

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 60: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

How many ways?

object translation: every point displaced by same vector

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

! Although we can move a point to a new location in infinite ways, when we move many points there is usually only one way

Page 61: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

Using the homogeneous coordinate representation in some frame

p=[ x y z 1]T

p’=[x’ y’ z’ 1]T

d=[dx dy dz 0]T

Hence p’ = p + d or

x’=x+dx

y’=y+dy

z’=z+dz

Translation Using Representations

note that this expression is in four dimensions and expresses

point = vector + point

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Page 62: 06.geometry+transform - Clarkson Universitytransform… · Consider the point and the vector P = P 0 + β 1 v 1 + β 2 v 2 +….+β n v n v=α 1 v 1 + α 2 v 2 +….+α n v n They

We can also express translation using a 4 x 4 matrix T in homogeneous coordinates p’=Tp where

T = T(dx, dy, dz) =

This form is better for implementation because all affine transformations can be expressed this way and multiple transformations can be concatenated together

Translation Matrix

!!!!

"

#

$$$$

%

&

1000d100d010d001

z

y

x

Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015


Recommended