0 Up votes0 Down votes

13 views33 pagesUseful slides to learn the basic principles of the useful mathematics for the 3d computer graphic

Dec 03, 2012

© Attribution Non-Commercial (BY-NC)

PDF, TXT or read online from Scribd

Useful slides to learn the basic principles of the useful mathematics for the 3d computer graphic

Attribution Non-Commercial (BY-NC)

13 views

Useful slides to learn the basic principles of the useful mathematics for the 3d computer graphic

Attribution Non-Commercial (BY-NC)

- Check Points 1-4 Chapters
- norms moslehian
- ch3
- Ch_99-AppdxF
- PS Vector Analysis
- Unit 1 Notes
- lec1
- Physics-Vectors
- Sciloperações com vetoresab - Operacoes Com Vetores
- Occlusion-Based Cooperative Transport with a Swarm of Miniature Mobile Robots seminar ppt
- Chapt02 Lecture Updated
- Sclr Vctr
- Course 1 Add
- Vector 2016
- 03Forces.doc
- Dynamics Notes 1
- MAT321-3 Lesson 1
- AppendixB.pdf
- 2.Intro and Vector 2
- Vector Analysis

You are on page 1of 33

Topics

Points, Vectors, Vertices, Coordinates

Dot Products, Cross Products

Lines, Planes, Intercepts

References

Many texts cover the linear algebra used for 3D graphics . . .

. . . the texts below are good references, Akenine-M oller is more relevant to the class.

Appendix A in T. Akenine-M oller, E. Haines, N. Homan, Real-Time Rendering, Third

Edition, A. K. Peters Ltd.

Appendix A in Foley, van Dam, Feiner, Huges, Computer Graphics: Principles and Prac-

tice, Second Edition, Addison Wesley.

math-1 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-1

math-2 math-2

Points and Vectors

Point:

Indivisible location in space.

E.g., P

1

=

_

1

2

3

_

, P

2

=

_

4

5

6

_

Vector:

Dierence between two points.

E.g., V = P

2

P

1

=

P

1

P

2

=

_

4 1

5 2

6 3

_

=

_

3

3

3

_

.

Equivalently: P

2

= P

1

+V .

Dont confuse points and vectors!

math-2 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-2

math-3 math-3

Point-Related Terminology

Will dene several terms related to points.

At times they may be used interchangeably.

Point:

A location in space.

Coordinate:

A representation of location.

Vertex:

Term may mean point, coordinate, or part of graphical object.

As used in class, vertex is a less formal term.

It might refer to a point, its coordinate, and other info like color.

math-3 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-3

math-4 math-4

Coordinate:

A representation of where a point is located.

Familiar representations:

3D Cartesian P = (x, y, z).

2D Polar P = (r, ).

In class we will use 3D homogeneous coordinates.

math-4 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-4

math-5 math-5

Homogeneous Coordinates

Homogeneous Coordinate:

A coordinate representation for points in 3D space consisting of four components. . .

. . . each component is a real number. . .

. . . and the last component is non-zero.

Representation: P =

_

_

x

y

z

w

_

_

, where w = 0.

P refers to same point as Cartesian coordinate (x/w, y/w, z/w).

To save paper sometimes written as (x, y, z, w).

math-5 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-5

math-6 math-6

Homogeneous Coordinates

Each point can be described by many homogeneous coordinates . . .

. . . for example, (10, 20, 30) =

_

_

10

20

30

1

_

_

=

_

_

5

10

15

0.5

_

_

=

_

_

20

40

60

2

_

_

=

_

_

10w

20w

30w

w

_

_

=. . .

. . . these are all equivalent so long as w = 0.

Column matrix

_

_

x

y

z

0

_

_

could not be a homogeneous coordinate . . .

. . . but it could be a vector.

math-6 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-6

math-7 math-7

Homogeneous Coordinates

Why not just Cartesian coordinates like (x, y, z)?

The w simplies certain computations.

Confused?

Then for a little while pretend that

_

_

x

y

z

1

_

_

is just (x, y, z).

math-7 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-7

math-8 math-8

Homogenized Homogeneous Coordinate

A homogeneous coordinate is homogenized by dividing each element by the last.

For example, the homogenization of

_

_

x

y

z

w

_

_

is

_

_

x/w

y/w

z/w

1

_

_

Homogenization is also known as perspective divide.

math-8 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-8

math-9 math-9

Vector Arithmetic

Vector Arithmetic

Points just sit there, its vectors that do all the work.

In other words, most operations dened on vectors.

Point/Vector Sum

The result of adding a point to a vector is a point.

Consider point with homogenized coordinate P = (x, y, z, 1) and vector V = (i, j, k).

The sum P +V is the point with coordinate

_

_

x

y

z

1

_

_

+

_

_

i

j

k

_

_

=

_

_

x +i

y +j

z +k

1

_

_

This follows directly from the vector denition.

math-9 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-9

math-10 math-10

Scalar/Vector Multiplication

The result of multiplying scalar a with a vector is a vector. . .

. . . that is a times longer but points in the same or opposite direction. . .

. . . if a = 0.

Let a denote a scalar real number and V a vector.

The scalar vector product is aV = a

_

_

x

y

z

_

_

=

_

_

ax

ay

az

_

_

.

math-10 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-10

math-11 math-11

Vector/Vector Addition

The result of adding two vectors is another vector.

Let V

1

=

_

_

x

1

y

1

z

1

_

_

and V

2

=

_

_

x

2

y

2

z

2

_

_

denote two vectors.

The vector sum, denoted U +V , is

_

_

x

1

+x

2

y

1

+y

2

z

1

+z

2

_

_

Vector subtraction could be dened similarly. . .

. . . but doesnt need to be because we can use scalar/vector multiplication: V

1

V

2

=

V

1

+ (1 V

2

).

math-11 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-11

math-12 math-12

Vector Addition Properties

Vector addition is associative:

U + (V +W) = (U +V ) +W.

Vector addition is commutative:

U +V = V +U.

math-12 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-12

math-13 math-13

Vector Magnitude, Normalization

Vector Magnitude

The magnitude of a vector is its length, a scalar.

The magnitude of V =

_

_

x

y

z

_

_

denoted V , is

_

x

2

+y

2

+z

2

.

The magnitude is also called the length and the norm.

Vector V is called a unit vector if V = 1.

A vector is normalized by dividing each of its components by its length.

The notation

V indicates V/V , the normalized version of V .

math-13 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-13

math-14 math-14

Dot Product

The Vector Dot Product

The dot product of two vectors is a scalar.

Roughly, it indicates how much they point in the same direction.

Consider vectors V

1

=

_

_

x

1

y

1

z

1

_

_

and V

2

=

_

_

x

2

y

2

z

2

_

_

.

The dot product of V

1

and V

2

, denoted V

1

V

2

, is x

1

x

2

+y

1

y

2

+z

1

z

2

.

math-14 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-14

math-15 math-15

Dot Product Properties

Let U, V , and W be vectors.

Let a be a scalar.

Miscellaneous Dot Product Properties

(U +V ) W = U W +V W

(aU) V = a(U V )

U V = V U

abs(U U) = U

2

math-15 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-15

math-16 math-16

Dot Product Properties

Orthogonality

The more casual term is perpendicular.

Vectors U and V are called orthogonal i U V = 0.

This is an important property for nding intercepts.

math-16 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-16

math-17 math-17

Dot Product Properties

Angle

Let U and V be two vectors.

Then U V = UV cos . . .

. . . where is the smallest angle between the two vectors.

math-17 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-17

math-18 math-18

Cross Product

Cross Product

The cross product of two vectors results in a vector orthogonal to both.

The cross product of vectors V

1

and V

2

, denoted V

1

V

2

, is

V

1

V

2

=

_

_

x

1

y

1

z

1

_

_

_

_

x

2

y

2

z

2

_

_

=

_

_

y

1

z

2

z

1

y

2

z

1

x

2

x

1

z

2

x

1

y

2

y

1

x

2

_

_

.

math-18 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-18

math-19 math-19

Cross Product Properties

Cross Product Properties

Let U and V be two vectors and let W = U V .

Then both U and V are orthogonal to W.

U V = UV sin .

U V = V U.

(aU +bV ) W = a(U W) +b(V W).

If U and V dene a parallelogram, its area is U V . . .

. . . if they dene a triangle its area is

1

2

U V .

math-19 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-19

math-20 math-20 Lines, Planes, Intercepts

Lines, planes, and intercepts covered on the blackboard.

math-20 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-20

math-21 math-21

Sample Problem

Problem: A light model species that in a scene with a light of brightness b (scalar) at

location L (coordinate), and a point P on a surface with normal n, the lighted color,

c, of P (a scalar) will be the dot product of the surface normal with the direction to

the light divided by the distance to the light.

Restate this as a formula.

Estimate the number of oating point operations in a streamlined computation.

Solution:

Formula: c = b

PL n

1

PL

.

math-21 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-21

math-22 math-22

Transforms

Transformation:

A mapping (conversion) from one coordinate set to another (e.g., from feet to meters) or to a

new location in an existing coordinate set.

Particular Transformations to be Covered

Translation: Moving things around.

Scale: Change size.

Rotation: Rotate around some axis.

Projection: Moving to a surface.

Transform by multiplying 4 4 matrix with coordinate.

P

new

= M

transform

P

old

.

math-22 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-22

math-23 math-23

Transforms

Scale Transform

S(s) =

_

_

_

s 0 0 0

0 s 0 0

0 0 s 0

0 0 0 1

_

_

_

.

S(s, t, u) =

_

_

_

s 0 0 0

0 t 0 0

0 0 u 0

0 0 0 1

_

_

_

.

S(s) stretches an object s times along each axis.

S(s, t, u) stretches an object s times along the x-axis, t times along the y-axis, and u times

along the z-axis.

Scaling centered on the origin.

math-23 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-23

math-24 math-24

Transforms

Rotation Transformations

R

x

() rotates around x axis by ; likewise for R

y

and R

z

.

R

x

() =

_

_

_

1 0 0 0

0 cos sin 0

0 sin cos 0

0 0 0 1

_

_

_

.

R

y

() =

_

_

_

cos 0 sin 0

0 1 0 0

sin 0 cos 0

0 0 0 1

_

_

_

.

R

z

() =

_

_

_

cos sin 0 0

sin cos 0 0

0 0 1 0

0 0 0 1

_

_

_

.

math-24 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-24

math-25 math-25

Transforms

Translation Transform

T(s, t, u) =

_

_

_

1 0 0 s

0 1 0 t

0 0 1 u

0 0 0 1

_

_

_

.

Moves point s units along x axis, etc.

math-25 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-25

math-26 math-26

Transforms and Matrix Arithmetic

Miscellaneous Matrix Multiplication Math

Let M and N denote arbitrary 4 4 matrices.

Identity Matrix

I =

_

_

_

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

_

_

_

.

IM = MI = M.

math-26 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-26

math-27 math-27

Transforms and Matrix Arithmetic

Matrix Inverse

Matrix A is an inverse of M i AM = MA = I.

Will use M

1

to denote inverse.

Not every matrix has an inverse.

Computing inverse of an arbitrary matrix expensive . . .

. . . but inverse of some matrices are easy to compute . . .

. . . for example, T(x, y, z)

1

= T(x, y, z).

Matrix Multiplication Rules

Is associative: (LM)N = L(MN).

Is not commutative: MN = NM for arbitrary M and N.

(MN)

1

= N

1

M

1

. (Note change in order.)

math-27 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-27

math-28 math-28

Projection Transformations

Projection Transform:

A transform that maps a coordinate to a space with fewer dimensions.

A projection transform will map a 3D coordinate from our physical or graphical model . . .

. . . to a 2D location on our monitor (or a window).

Projection Types

Vague denitions on this page.

Perspective Projection

Points appear to be in correct location,. . .

. . . as though monitor were just a window into the simulated world.

This projection used when realism is important.

Orthographic Projection

A projection without perspective foreshortening.

This projection used when a real ruler will be used to measure distances.

math-28 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-28

math-29 math-29

Perspective Projection Derivation

Lets put user and users monitor in world coordinate space:

Location of users eye: E.

A point on the users monitor: Q.

Normal to users monitor pointing away from user: n.

Goal:

Find S, point where line from E to P intercepts monitor (plane Q, n).

Line from E to P called the projector.

The users monitor is in the projection plane.

The point S is called the projection of point P on the projection plane.

math-29 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-29

math-30 math-30

Solution:

Projector equation: S = E +t

EP.

Projection plane equation:

QS n = 0.

Find point S thats on projector and projection plane:

Q(E +t

EP) n = 0

(E +t

EP Q) n = 0

QE n +t

EP n = 0

t =

EQ n

EP n

S = E +

EQ n

EP n

EP

Note:

EQ n is distance from user to plane in direction n . . .

. . . and

EP n is distance from user to point in direction n.

math-30 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-30

math-31 math-31

Perspective Projection Derivation

To simplify projection:

Fix E = (0, 0, 0): Put user at origin.

Fix n = (0, 0, 1): Make monitor parallel to xy plane.

Result:

S = E +

EQ n

EP n

EP

S =

q

z

p

z

P,

where q

z

is the z component of Q, and p

z

dened similarly.

The key operation in perspective projection is dividing out by z (given our geometry).

math-31 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-31

math-32 math-32

Simple Perspective Projection Transformation

Simple Projection Transform

Eye at origin, projection surface at (x, y, q

z

), normal is (0, 0, 1).

F

q

z

=

_

_

_

q

z

0 0 0

0 q

z

0 0

0 0 0 q

z

0 0 1 0

_

_

_

Note: F

q

z

_

_

x

y

z

1

_

_

=

_

_

q

z

x

q

z

y

q

z

z

_

_

=

_

_

q

z

z

x

q

z

z

y

q

z

z

1

_

_

This maps z coordinates to q

z

/z, which will be useful.

math-32 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-32

math-33 math-33

Frustum Perspective Transform

Frustum Perspective Transform

Given six values: l, r, t, b, n, f (left, right, top, bottom, near, far).

Eye at origin, projection surface at (x, y, n), normal is (0, 0, 1).

Viewer screen is rectangle from (l, b, n) to (r, t, n).

Points with z > t and z < f are not of interest.

F

l,r,t,b,n,f

=

_

_

_

_

2n

rl

0

r+l

rl

0

0

2n

tb

t+b

tb

0

0 0

f+n

fn

2

fn

fn

0 0 1 0

_

_

_

_

math-33 EE 4702-1 Lecture Transparency. Formatted 12:34, 29 August 2011 from set-1-math. math-33

- Check Points 1-4 ChaptersUploaded bySohaib Hassan Khan
- norms moslehianUploaded byJaber Colahi
- ch3Uploaded bythermo2014
- Ch_99-AppdxFUploaded bySainath Varikuti
- PS Vector AnalysisUploaded byAshner Novilla
- Unit 1 NotesUploaded byBrooke Robinson
- lec1Uploaded bysadiksnm
- Physics-VectorsUploaded byThea Marie Santarin
- Sciloperações com vetoresab - Operacoes Com VetoresUploaded byBruna Kharyn
- Occlusion-Based Cooperative Transport with a Swarm of Miniature Mobile Robots seminar pptUploaded byParvathy
- Chapt02 Lecture UpdatedUploaded byPrana Koirala
- Sclr VctrUploaded bySreejith S Nair
- Course 1 AddUploaded bySalsabila Luqyana
- Vector 2016Uploaded byJaica Mangurali Tumulak
- 03Forces.docUploaded byJay Patel
- Dynamics Notes 1Uploaded byNitin Belle
- MAT321-3 Lesson 1Uploaded byHarry Fabros
- AppendixB.pdfUploaded bynunun nurul
- 2.Intro and Vector 2Uploaded byilham
- Vector AnalysisUploaded byilham
- Vector AlgebraUploaded byKhaleef Khairul Anuar
- Applied Elasticity in EngineeringUploaded bysunil.raiyani
- Test 1 Ch 2complete 2015Uploaded byhassan
- VW01055 VOLKSWAGEN reference point system.pdfUploaded bydimaszanon
- Kristin IB Math - VectorsUploaded bySEBASTIAN BASILIO DE LA CRUZ HUANCARUNA
- MQC-08-WS-1Uploaded byCharlie Cordero
- 3.5- Engineering Mechnics CH3 L3,4.PDFUploaded byAhmed Slevanay
- PHYSICS-StudyMaterial.pdfUploaded byamit_ansal222301
- Design and Simulation of Microstrip Patch Arrayantenna for Wireless Communications at 24 Ghz (2)Uploaded byahsanqau
- Lecture Notes in Strength of Materials - 1.docUploaded byRhea Mamba

- Hahn-Banach theoremsUploaded byDragan Rukavina
- A First Course in Optimization TheoryUploaded byQuji Bichia
- ch02Uploaded bybrayan
- Crib Sheet for SMath Studio v0.95Uploaded byAnonymous Re62LKaAC
- Vector SpaceUploaded bysreekantha2013
- OS10 ManualUploaded byPramit Dutta
- Accuracy and Error Estimation in Finite Element AnalysisUploaded byIaNick
- Functional NotesUploaded byAnkita Aggarwal
- Infinity-Norm Acceleration Minimization of Robotic RedundantUploaded byNguyen Trong Tai
- Lecture1 Introduction RobustControlTheoryUploaded bySoumyadeep Bose
- SYMBOLS.docxUploaded byHemprasad Badgujar
- Homework 1 for Cálculo MultivariableUploaded byDenis Liquido
- List of Math SymbolsUploaded byAnca Scirlat
- Stabilization With Relaxed ControlsUploaded byfx_amv
- 32761435 Theory of Financial Decision MakingUploaded byMikkel Eliasen
- [IJETA-V5I4P2]:AbdulAhad, Dr.Suresh Babu Yalavarthi, Dr.Ali Hussain MdUploaded byIJETA - EighthSenseGroup
- 4.1 TYBSc Mathematics syllabus mumbai university 2013-14 credit systemUploaded byrajivpathak80
- xsadsUploaded byJojen
- Difference EquationsUploaded byEddyLizarazu
- MechanicsUploaded byMudit Goel
- kupdf.com_schuller39s-lectures-on-quantum-theory-1-8.pdfUploaded byRonald Castillo Vega
- Elements Matrix AlgebraUploaded byRicardo
- 013391545X_section2.7_2.8Uploaded byAtef Naz
- Vector CalculusUploaded byYasir Mahmood
- Coprime factorisationUploaded byasghar
- SAT SUBJECT MATH IICUploaded byKking Chung
- CV - Non Separability of the Hölder SpacesUploaded byCristian Valdez
- Field Balancing Large Rotating Machinery January Reprinted August Reprinted JuneUploaded byKeo Dính Chuột
- funcana.pdfUploaded byHermann Iats
- RobustOptimizationPaper.pdfUploaded byPrakash Kashyap

## Much more than documents.

Discover everything Scribd has to offer, including books and audiobooks from major publishers.

Cancel anytime.