mathematics for graphics. 1 objectives introduce the elements of geometry scalars vectors points...

38
Mathematics for Graphics

Upload: bertram-dickerson

Post on 30-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Mathematics for Graphics

2

Objectives Introduce the elements of geometry

Scalars Vectors Points

Develop mathematical operations among them in a coordinate-free manner

Define basic primitives Line segments Polygons

3

3D Cartesian co-ordinates

4

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

5

Scalars 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

6

Vectors And Point We commonly use vectors to represent:

Points in space (i.e., location) Displacements from point to point Direction (i.e., orientation)

But we want points and directions to behave differently Ex: To translate something means to move it

without changing its orientation Translation of a point = different point Translation of a direction = same direction

7

Vectors 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

v

8

Vector A quantity characterized by a magnitude and direction Can be represented by an arrow, where magnitude is the

length of the arrow and the direction is given by slope of the line

1

2v

2

1

v

Y

X

A vector in 2D

2

2

2

Y

X

Z

v

2

2

2

v

A vector in 3D

P (2, 1)

O (0, 0)

v = OP = จุ�ดปลาย จุ�ดต้น – = P-O

9

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

v -v vv

u

w

10

Vectors Lack Position These vectors are identical

Same direction and magnitude

Vectors spaces insufficient for geometry Need points

11

Vector Addition Addition of vectors follows the parallelogram law

in 2D and the parallelepiped law in higher dimensions:

vuvu

9

7

5

6

5

4

3

2

1

12

Vector Multiplication by a Scalar Multiplication by a scalar scales the vectors

length appropriately (but does not affect direction):

1.5v

v

5.1

3

15.1

25.1

1

25.1

4

6

4

2

3

2

2

13

Subtraction

u

-v

u

-v

-v

Can be seen as an addition of

u + (-1v)

vuvu

2

4

2

5

4

1

v

Inverse vector?

14

Vector Magnitude The magnitude or “norm” of a

vector of dimension 3 is given by the standard Euclidean distance metric:

How about dimension n?

222212

212

212 321

vvvzzyyxx v

11131

1

3

1222 v

525434

3 22 v2

1

3

1

v

5

3

4

4

3v

2D example 3D example

3

2

1

12

12

12

1

1

1

2

2

2

1221

v

v

v

zz

yy

xx

z

y

x

z

y

x

PPPPv

P2

P1

v

15

Unit Vectors Vectors of length 1 are often termed unit vectors (a.k.a.

normalised vectors). When we only wish to describe direction we use normalised

vectors – often to avoid redundancy For this and other reasons, we often need to normalise a

vector:

e.g.v

v

vv

222

21

nvvv

3015.

9045.

3015.

11

111

311

1

11

1

1

3

1

11

1

11

1ˆ v

v

vv

1

3

1

vv̂v

16

Examples Suppose point P1(-1,-3) and P2(2,-7). Find

Vector v obtained from these two points Norm of vector v Unit vector

17

Dot Product Dot product (inner product) is defined as:

Note: Therefore we can redefine magnitude in terms of

the dot-product operator:

The dot product operator is commutative and associative.

332211

3

2

1

3

2

1

vuvuvu

v

v

v

u

u

u

vu

223

22

21 uuu uuu uuu

i

iivuvu

22112

1

2

1 vuvuv

v

u

u

vu

18

The Dot Product can also be obtained from the following equation:

where is the angle between the two vectors

So, if we know the vectors u and v, then the dot product is useful for finding the angle between two vectors.

Note that if we had already normalised the vectors u and v then it would simply be:

Dot Product

cosvuvu

vu

vuvuvu 1coscos

vu ˆˆcos 1

vu

19

Dot Product Examples

Find the angle between vectors { 1, 1, 0} and

{0, 1, 0}?

20

Additional Properties For any three vectors u, v, w and scalars a, b

uv = vu u(v+w) = uv + uw (u+v)w = uw + vw If uv = 0 then u and v are orthogonal or

perpendicular, where u and v are not zero vector

21

Cross Product Used for defining orientation and constructing co-ordinate

axes. Cross product defined as:

The result is a vector, perpendicular to the plane defined by u and v:

Magnitude :

1221

3113

2332

3

2

1

3

2

1

vuvu

vuvu

vuvu

v

v

v

u

u

u

vu

n̂sinvuvu

sin|||||||||||| vuvu

22

Right Handed Coordinate System

Cross Product

23

Cross product is anti-commutative: It is not associative:

Direction of resulting vector defined by operand order:

uvvu wvuwvu

R.H.S.

Cross Product

24

Consider, two vectors u = , v = , the cross product u x v

3

2

1

6

5

4

Cross Product

25

Vector Spaces A linear combination of vectors results in a new

vector:v = 1v1 + 2v2 + … + nvn

where is any scalar If the only set of scalars such that

1v1 + 2v2 + … + nvn = 0 is 1 = 2 = … = 3 = 0 then we say the vectors are linearly independent The dimension of a space is the greatest number of

linearly independent vectors possible in a vector set For a vector space of dimension n, any set of n linearly

independent vectors form a basis

26

Coordinate Systems

3D vector space

scalar component : 1, 2, 3

basis vector : v1, v2, v3

define a coordinate system the origin : fixed reference point

column matrix

3

2

1

v

332211 vvvv

v2

v1

v3

Coordinate System

origin

27

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

28

Affine Spaces 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)

29

Lines (in Affine Space) Consider all points of the form

P(a)=P0 + a d

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

Affine addition

d

P

QRP 21 Q

vR

1

0

QR

QRQP

QRv

vQP

1

30

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() = x0 + (1-)x1

y() = y0 + (1-)y1

31

Rays and Line Segments If >= 0, then P() is the ray leaving P0 in the direction d

If we use two points to define v, then

P( ) = Q+v = Q + (R-Q) = R + (1-)Q For 0<=<=1 we get all the

points on the line segment

joining R and Q

32

Convexity 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

P

Q Q

P

convex not convex

= concave

33

Affine Sums 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 P1P2,…..Pn

If, in addition, i>=0, we have the convex hull of P1P2,…..Pn

34

Convex Hull Smallest convex object containing P1P2,…..Pn

Formed by “shrink wrapping” points

35

Curves and Surfaces 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

P() P(, )

36

Planes A plane be determined by a point and two vectors or by three points

P(,)=R+u+v P(,)=R+(Q-R)+(P-Q)

R

P

37

Triangles

convex sum of P and Q

convex sum of S() and R

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

38

Planes Extension of line

P Q

R

,T

S

10,1 QPS

10,1 RST

RQPT 11,

PRPQPT 11,

vuPT 0, 1,0,

vuPP 0

00 PPn

vun normal to the planeP0

v

u

n

P