Top Banner
Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003
33

1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

Mar 28, 2015

Download

Documents

Steven Kearney
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

1

Points, Vectors, Lines, Spheres and Matrices

©Anthony Steed 2001-2003

Page 2: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

2

• Points• Vectors• Lines• Spheres• Matrices

• 3D transformations as matrices

• Homogenous co-ordinates

Overview

Page 3: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

3

Basic Maths

In computer graphics we need mathematics both for describing our scenes and also for performing operations on them, such as projection and various transformations.

Coordinate systems (right- and left-handed), serve as a reference point.

3 axes labelled x, y, z at right angles.

Page 4: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

4

Co-ordinate Systems

X

Y

Z

Right-Handed System(Z comes out of the screen)

X

Y

Z

Left-Handed System(Z goes in to the screen)

Page 5: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

5

Points, P (x, y, z)

Gives us a position in relation to the origin of our coordinate system

Page 6: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

6

Vectors, V (x, y, z)

Represent a direction (and magnitude) in 3D space

Points != VectorsVector +Vector = VectorPoint – Point = VectorPoint + Vector = PointPoint + Point = ?

Page 7: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

7

Vectors, V (x, y, z)

v

w

v + w

Vector additionsum v + w

v2v

(-1)v (1/2)V

Scalar multiplication of vectors (they remain parallel)

v

w

Vector differencev - w = v + (-w)

v

-w

v - w

x

y

Vector OP

P

O

Page 8: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

8

Vectors V

Length (modulus) of a vector V (x, y, z)|V| =

A unit vector: a vector can be normalised such that it retains its direction, but is scaled to have unit length: ||V of modulus

Vvector ^

V

VV

Page 9: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

9

Dot Product

u · v = xu ·xv + yu ·yv + zu ·zv

u · v = |u| |v| coscos = u · v/ |u| |v|

This is purely a scalar number not a vector. What happens when the vectors are unit What does it mean if dot product == 0 or == 1?

Page 10: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

10

Cross Product

The result is not a scalar but a vector which is normal to the plane of the other 2

Can be computed using the determinant of:

u x v = i(yvzu -zvyu), -j(xvzu - zvxu), k(xvyu - yvxu)

Size is u x v = |u||v|sin Cross product of vector with it self is null

uuu

vvv

zyx

zyx

kji

uuu

vvv

zyx

zyx

kji

uuu

vvv

zyx

zyx

kji

uuu

vvv

zyx

zyx

kji

Page 11: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

11

Parametric equation of a line (ray)

Given two points P0 = (x0, y0, z0) and P1 = (x1, y1, z1) the line passing through them can be expressed as:

P(t) = P0 + t(P1 - P0)x(t) = x0 + t(x1 - x0)

y(t) = y0 + t(y1 - y0)

z(t) = z0 + t(z1 - z0)

=

With - < t <

Page 12: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

12

Equation of a sphere

a

bchypotenuse

a2 + b2 = c2

P

xp

yp

(0, 0)

r

x2 + y2 = r2

Pythagoras Theorem:

Given a circle through the origin with radius r, then for any point P on it we have:

Page 13: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

13

Equation of a sphere

If the circle is not centred on the origin:

(0, 0)

P

xp

yp

r

xc

yc ab

a

ba2 + b2 = r2

We still have

buta = xp- xc

b = yp- yc

So for the general case (x- xc)2 + (y- yc)

2 = r2

(xp,yp)

(xc,yc)

Page 14: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

14

Equation of a sphere

Pythagoras theorem generalises to 3D giving

a2 + b2 + c2 = d2 Based on that we can easily

prove that the general equation of a sphere is:

(x- xc)2 + (y- yc)

2 + (z- zc)2 = r2

and at origin: x2 + y2 + z2 = r2

Page 15: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

15

Matrix Math

©Anthony Steed 2001

Page 16: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

16

Vectors and Matrices

Matrix is an array of numbers with dimensions M (rows) by N (columns)• 3 by 6 matrix• element 2,3

is (3)

Vector can be considered a 1 x M matrix•

zyxv

100025114311212003

Page 17: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

17

Types of Matrix

Identity matrices - I

Diagonal

1001

1000010000100001

Symmetric

• Diagonal matrices are (of course) symmetric

• Identity matrices are (of course) diagonal

4000010000200001

fecedbcba

Page 18: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

18

Operation on Matrices

Addition• Done elementwise

Transpose• “Flip” (M by N becomes N by M)

s d r c

q b p a

s r

q p

d c

b a

389

724

651

376

825

941T

Page 19: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

19

Operations on Matrices

Multiplication• Only possible to multiply of dimensions

– x1 by y1 and x2 by y2 iff y1 = x2

• resulting matrix is x1 by y2

– e.g. Matrix A is 2 by 3 and Matrix by 3 by 4• resulting matrix is 2 by 4

– Just because A x B is possible doesn’t mean B x A is possible!

Page 20: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

20

Matrix Multiplication Order

A is n by k , B is k by m C = A x B defined by

BxA not necessarily equal to AxB

k

l

ljilij bac1

*

*****

*****

*.

*.*.*.*.*.

*****

*...

*.*.*.*.*.

*****.....

Page 21: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

21

Example Multiplications

____

____

1011

12

101132

__________________

010001100

111013322

Page 22: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

22

Inverse

If A x B = I and B x A = I then

A = B-1 and B = A-1

Page 23: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

23

3D Transforms

In 3-space vectors are transformed by 3 by 3 matrices

ziyfxczhyexbzgydxa

ihg

fed

cba

zyx

Page 24: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

24

Scale

Scale uses a diagonal matrix

Scale by 2 along x and -2 along z

zcybxac

ba

zyx

000000

1046200

010002

543

Page 25: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

25

Rotation

Rotation about z axis

Note z values remain the same whilst x and y change

1000)θcos()θsin(-0)θsin()θcos(

Y

X

θ yx

yθ cosxθ sin yθ sin-xθ cos

Page 26: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

26

Rotation X, Y and Scale

About X

About Y

Scale (should look familiar)

)θcos()θsin(-0

)θsin()θcos(0

001

)θcos(0)θsin(010

)θsin(-0)θcos(

cb

a

000000

Page 27: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

27

Homogenous Points

Add 1D, but constrain that to be equal to 1 (x,y,z,1)

Homogeneity means that any point in 3-space can be represented by an infinite variety of homogenous 4D points• (2 3 4 1) = (4 6 8 2) = (3 4.5 6 1.5)

Why?• 4D allows as to include 3D translation in matrix

form

Page 28: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

28

Homogenous Vectors

Vectors != Points Remember points can not be added If A and B are points A-B is a vector Vectors have form (x y z 0) Addition makes sense

Page 29: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

29

Translation in Homogenous Form

Note that the homogenous component is preserved (* * * 1), and aside from the translation the matrix is I

1

1010000100001

1 czbyax

cba

zyx

Page 30: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

30

Putting it Together

R is rotation and scale components T is translation component

TR

TTT

RRR

RRR

RRR

.

1

0

0

0

321

987

654

321

Page 31: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

31

1432

1432010000100001

1

1432010000100001

1000001001000001

1

YZXYZXZYX

1442

1000011001000001

1442

1000001001000001

1432010000100001

1

YZXZYXZYX

Order Matters

Composition order of transforms matters• Remember that basic vectors change so

“direction” of translations changed

Page 32: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

32

Exercises

Calculate the following matrix: /2 about X then /2 about Y then /2 about Z (remember “then” means multiply on the right). What is a simpler form of this matrix?

Compose the following matrix: translate 2 along X, rotate /2 about Y, translate -2 along X. Draw a figure with a few points (you will only need 2D) and then its translation under this transformation.

Page 33: 1 Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001-2003.

33

Matrix Summary

Rotation, Scale, Translation Composition of transforms The homogenous form