15
1 Jan-28-04 SMD159, Geometry and Representation 1 L INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Geometry and Representation David Carr Fundamentals of Computer Graphics Spring 2004 Based on Slides by E. Angel Jan-28-04 SMD159, Geometry and Representation 2 L Overview Geometry - Relationships among objects in an n-dimensional space - In computer graphics, objects exist in 3 dimensions - Minimum set of primitives for building more sophisticated objects + Scalars, Vectors, Points Representations - Dimension and basis - Coordinate systems for representing vectors spaces - Frames for representing affine spaces - Change of frames and basis - Homogeneous coordinates Jan-28-04 SMD159, Geometry and Representation 3 L INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Geometry

Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

1

Jan-28-04 SMD159, Geometry and Representation 1 L

INSTITUTIONEN FÖRSYSTEMTEKNIK

LULEÅ TEKNISKA UNIVERSITET

Geometry and Representation

David Carr

Fundamentals of Computer Graphics

Spring 2004Based on Slides by E. Angel

Jan-28-04 SMD159, Geometry and Representation 2 L

Overview

• Geometry- Relationships among objects in an n-dimensional space

- In computer graphics, objects exist in 3 dimensions

- Minimum set of primitives for building more sophisticated objects

+ Scalars, Vectors, Points

• Representations- Dimension and basis

- Coordinate systems for representing vectors spaces

- Frames for representing affine spaces

- Change of frames and basis

- Homogeneous coordinates

Jan-28-04 SMD159, Geometry and Representation 3 L

INSTITUTIONEN FÖRSYSTEMTEKNIK

LULEÅ TEKNISKA UNIVERSITET

Geometry

Page 2: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

2

Jan-28-04 SMD159, Geometry and Representation 4 L

Coordinate-Free Geometry

• When we learned simple geometry, most of us started with aCartesian 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- Euclidean geometry: two triangles are identical if two corresponding sides

and the angle between them are identical

• For graphics, we need three basic elements from geometry- Scalars, Vectors, Points

Jan-28-04 SMD159, Geometry and Representation 5 L

Scalars

• Scalars can be defined as members of sets which:- Can be combined by two operations

+ addition and multiplication- Obey some fundamental axioms

+ associativity, commutivity, inverses

• Examples include the real and complex number underthe usual rules

• Scalars alone have no geometric properties

Jan-28-04 SMD159, Geometry and Representation 6 L

Vectors

• Physical definition: a vector is a quantity with twoattributes- Direction- Magnitude

• Examples include- Force- Velocity- Directed line segments

+ Most important example for graphics+ Can map to other types

v

Page 3: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

3

Jan-28-04 SMD159, Geometry and Representation 7 Lv -v av

v

u

w

Vector Operations

• 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

Jan-28-04 SMD159, Geometry and Representation 8 L

Linear Vector Spaces

• Mathematical system for manipulating vectors

• Operations- Scalar-vector multiplication u = av

- Vector-vector addition: w = u + v

• Expressions such asv = u + 2w - 3r

make sense in a vector space

Jan-28-04 SMD159, Geometry and Representation 9 L

Vectors Lack Position

• These vectors are identical- Same length and magnitude

• Vectors spaces insufficient for geometry- Need points

Page 4: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

4

Jan-28-04 SMD159, Geometry and Representation 10 L

Points

• Location in space

• Operations allowed between points and vectors- Point-point subtraction yields a vector

- Equivalent to point-vector addition

P = v + Q

v = P - Q

Q

Pv

Jan-28-04 SMD159, Geometry and Representation 11 L

Affine Spaces

• Point + a vector space

• Operations- Vector-vector addition Æ vector

- Scalar-vector multiplication Æ vector

- Point-vector addition Æ point

- Scalar-scalar operations Æ scalar

• For any point P and the scalars 0,1 define

- 1 • P = P

- 0 • P = 0 (zero vector)

Jan-28-04 SMD159, Geometry and Representation 12 L

Lines

• Consider all points of the form- P(a)=P0 + a d

- Set of all points that pass through P0 in the direction of thevector d

Page 5: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

5

Jan-28-04 SMD159, Geometry and Representation 13 L

Parametric Form

• 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(a) = ax0 + (1-a)x1

y(a) = ay0 + (1-a)y1

Jan-28-04 SMD159, Geometry and Representation 14 L

Rays and Line Segments

• If a ≥ 0, then P(a) is the ray leaving P0 in direction v

• If we use 2 points to define v, thenP(a) = Q + av = Q + a(R-Q)

= aR + (1- a)Q

• For 0 £ a £ 1 we get all the points on the line segment joining R and Q

Jan-28-04 SMD159, Geometry and Representation 15 L

Convexity

• An object is convex if and only if for any two points inthe object all points on the line segment between thesepoints are also in the object

P

Q Q

P

Page 6: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

6

Jan-28-04 SMD159, Geometry and Representation 16 L

Affine Sums

• Consider the “sum”P = a1P1 + a2P2 + … + anPn

• Can show by induction that this sum makes sense iffa1 + a2 + … + an = 1

• In which case we have the affine sum of the points

P1, P2, …, Pn

• If, in addition, ai ≥ 0, we have the convex hull of

P1, P2, …, Pn

Jan-28-04 SMD159, Geometry and Representation 17 L

Convex Hull

• Smallest convex object containing P1,P2,…, Pn

• Formed by “shrink wrapping” points

Jan-28-04 SMD159, Geometry and Representation 18 L

Curves and Surfaces

• Curves are one parameter entities of the form P(a)where the function is nonlinear

• Surfaces are formed from two-parameter functionsP(a, b)- Linear functions give planes and polygons

P(a) P(a, b)

Page 7: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

7

Jan-28-04 SMD159, Geometry and Representation 19 LP(a,b)=R+au+bv P(a,b)=R+a(Q-R)+b(P-Q)

Planes

• A plane be determined by a point and two vectors or bythree points

Jan-28-04 SMD159, Geometry and Representation 20 L

Triangles

convex sum of P and Q

convex sum of S(a) and R

for 0 £ a,b £ 1, we get all points in triangle

Jan-28-04 SMD159, Geometry and Representation 21 L

Normals

• Every plane has a vector n normal (perpendicular,orthogonal) to it

• From point-two vector form P(a,b) = R + au + bv, weknow we can use the cross product to find n = u ¥ vand the equivalent form

(P(a)-P) ¥ n = 0

u

v

P

Page 8: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

8

Jan-28-04 SMD159, Geometry and Representation 22 L

INSTITUTIONEN FÖRSYSTEMTEKNIK

LULEÅ TEKNISKA UNIVERSITET

Representations

Jan-28-04 SMD159, Geometry and Representation 23 L

Linear Independence

• A set of vectors v1, v2, …, vn is linearly independent if a1v1 + a2v2 + … anvn = 0 iff a1 = a2 = …= an = 0

• If a set of vectors is linearly independent, we cannotrepresent one in terms of the others

• If a set of vectors is linearly dependent, as least onecan be written in terms of the others

Jan-28-04 SMD159, Geometry and Representation 24 L

Dimension

• In a vector space, the maximum number of linearlyindependent vectors is fixed and is called the dimensionof the space

• In an n-dimensional space, any set of n linearlyindependent vectors form a basis for the space

• Given a basis v1, v2,…., vn, any vector v can be writtenas

v = a1v1+ a2v2 +….+anvn

where the {ai} are unique

Page 9: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

9

Jan-28-04 SMD159, Geometry and Representation 25 L

Representation

• Until now we have been able to work with geometricentities without using any frame of reference, such acoordinate system

• Need a frame of reference to relate points and objectsto our physical world.- For example, where is a point? Can’t answer without a

reference system

- World coordinates

- Camera coordinates

Jan-28-04 SMD159, Geometry and Representation 26 L

Coordinate Systems

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

• A vector is written v = a1v1+ a2v2 +….+anvn

• The list of scalars {a1, a2, …. an}is therepresentation of v with respect to the given basis

• We can write the representation as a row or columnarray of scalars

a = [a1 a2 …. an]T=

˙˙˙˙˙

˚

˘

ÍÍÍÍÍ

Î

È

a

a

a

n

2

1

.

Jan-28-04 SMD159, Geometry and Representation 27 L

Example

• v = 2v1 + 3v2 - 4v3

• a = [2 3 -4]T

• Note that this representation is with respect to aparticular basis

• For example, in OpenGL- Start by representing vectors using the world basis

- Later the system needs a representation in terms of thecamera or eye basis

Page 10: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

10

Jan-28-04 SMD159, Geometry and Representation 28 L

Coordinate Systems

• Which is correct?

• Both are because vectors have no fixed location

v

v

Jan-28-04 SMD159, Geometry and Representation 29 L

Frames

• Coordinate System is insufficient to present points

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

P0

v1

v2

v3

Jan-28-04 SMD159, Geometry and Representation 30 L

Frames, …

• Frame determined by (P0, v1, v2, v3)

• Within this frame, every vector can be written as v = a1v1 + a2v2 + … + anvn

• Every point can be written as P = P0 + b1v1 + b2v2 + … + bnvn

Page 11: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

11

Jan-28-04 SMD159, Geometry and Representation 31 L

Confusing Points and Vectors

Consider the point and the vector

P = P0 + b1v1 + b2v2 + … + bnvn

v = a1v1 + a2v2 + … + anvn

They appear to have the similar representationsp=[b1 b2 b3] v=[a1 a2 a3]

which confuse the point with the vector

A vector has no positionv

pv

can place anywherefixed

Jan-28-04 SMD159, Geometry and Representation 32 L

v

pv

can place anywhere fixed

Confusing Points and Vectors

• Consider the point and the vectorP = P0 + b1v1 + b2v2 + … + bnvn

v = a1v1 + a2v2 + … + anvn

• They appear to have the similar representationsp = [b1 b2 b3]T v = [a1 a2 a3]T

• Which confuse the point with the vector

• A vector has no position

Jan-28-04 SMD159, Geometry and Representation 33 L

A Single Representation

• If we define 0•P = 0 and 1•P = P then we can write v=a1v1+ a2v2 +a3v3 = [a1 a2 a3 0] [v1 v2 v3 P0]T

P = P0 + b1v1+ b2v2 +b3v3

= [b1 b2 b3 1] [v1 v2 v3 P0] T

• Thus we obtain the four-dimensional homogeneouscoordinate representation v = [a1 a2 a3 0] T

p = [b1 b2 b3 1] T

Page 12: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

12

Jan-28-04 SMD159, Geometry and Representation 34 L

Homogeneous Coordinates

• The general form of 4 dimensional homogeneous coordinates is

p=[x y x w]T

• We return to a three dimensional point (for w ≠ 0) by

x¨x/w

y¨y/w

z¨z/w

• If w=0, the representation is that of a vector

• Note that homogeneous coordinates replaces points in threedimensions by lines through the origin in four dimensions

Jan-28-04 SMD159, Geometry and Representation 35 L

Homogeneous Coordinates and ComputerGraphics

• Homogeneous coordinates are key to all computergraphics systems- All standard transformations (rotation, translation, scaling)

can be implemented by matrix multiplications with 4 x 4matrices

- Hardware pipeline works with 4 dimensional representations

- For orthographic viewing, we can maintain w=0 for vectorsand w=1 for points

- For perspective, we need a perspective division

Jan-28-04 SMD159, Geometry and Representation 36 L

Change of Coordinate Systems

• Consider two representations of a the same vector withrespect to two different bases. The representations are

v = a1v1 + a2v2 + a3v3 = [a1 a2 a3] [v1 v2 v3]T

= b1u1 + b2u2 + b3u3 = [b1 b2 b3] [u1 u2 u3]T

a=[a1 a2 a3 ]b=[b1 b2 b3]

where

Page 13: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

13

Jan-28-04 SMD159, Geometry and Representation 37 L

Representing second basis in terms of first

Each of the basis vectors, u1,u2, u3, are vectors that canbe represented in terms of the first basis

u1 = g11v1+g12v2+g13v3u2 = g21v1+g22v2+g23v3u3 = g31v1+g32v2+g33v3

v

Jan-28-04 SMD159, Geometry and Representation 38 L

a=MTb

˙˙˙

˚

˘

ÍÍÍ

Î

È

ggg

ggg

ggg

3231

232221

131211

33

M =

Matrix Form

• The coefficients define a 3 x 3 matrix

• and the basis can be related by

• see text for numerical examples

Jan-28-04 SMD159, Geometry and Representation 39 L

Change of Frames

• We can apply a similar process in homogeneouscoordinates to the representations of both points andvectors

• Consider two frames

• Any point or vector can be represented in each

(P0, v1, v2, v3)(Q0, u1, u2, u3)

P0 v1

v2

v3

Q0

u1u2

u3

Page 14: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

14

Jan-28-04 SMD159, Geometry and Representation 40 L

Representing One Frame in Terms of the Other

u1 = g11v1+g12v2+g13v3u2 = g21v1+g22v2+g23v3u3 = g31v1+g32v2+g33v3Q0 = g41v1+g42v2+g43v3 +g44P0

Extending what we did with change of bases

defining a 4 x 4 matrix

˙˙˙˙

˚

˘

ÍÍÍÍ

Î

È

1ggg

0ggg

0ggg

0ggg

434241

333231

232221

131211

M =

Jan-28-04 SMD159, Geometry and Representation 41 L

Working with Representations

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

a=[a1 a2 a3 a4 ] in the first frameb=[b1 b2 b3 b4 ] in the second frame

where a4 = b4 = 1 for points and a4 = b4 = 0 for vectors and

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

a=MTb

Jan-28-04 SMD159, Geometry and Representation 42 L

Affine Transformations

• Every linear transformation is equivalent to a change inframes

• Every affine transformation preserves lines

• However, an affine transformation has only 12 degreesof freedom because 4 of the elements in the matrix arefixed and are a subset of all possible 4 x 4 lineartransformations

Page 15: Geometry and Representation€¦ · Cartesian approach - Points were at locations in space p=(x,y,z) - We derived results by algebraic manipulations involving these coordinates •

15

Jan-28-04 SMD159, Geometry and Representation 43 L

The World and Camera Frames

• 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, the base frame that we start with is theworld frame

• Eventually we represent entities in the camera frame bychanging the world representation using the model-viewmatrix

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

Jan-28-04 SMD159, Geometry and Representation 44 L

Moving the Camera

If objects are on both sides of z=0, we must move cameraframe

˙˙˙˙

˚

˘

ÍÍÍÍ

Î

È

-

1000

d100

0010

0001

M =

Jan-28-04 SMD159, Geometry and Representation 45 L

Questions