Points Vectors Lines Spheres and Matrices Anthony Steed

































- Slides: 33
Points, Vectors, Lines, Spheres and Matrices ©Anthony Steed 2001 -2003 1
Overview • • • Points Vectors Lines Spheres Matrices • 3 D transformations as matrices • Homogenous co-ordinates 2
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. n Coordinate systems (right- and lefthanded), serve as a reference point. n 3 axes labelled x, y, z at right angles. n 3
Co-ordinate Systems Y Y X X Z Right-Handed System (Z comes out of the screen) Z Left-Handed System (Z goes in to the screen) 4
Points, P (x, y, z) n Gives us a position in relation to the origin of our coordinate system 5
Vectors, V (x, y, z) n Represent a direction (and magnitude) in 3 D space n Points != Vectors Vector +Vector = Vector Point – Point = Vector Point + Vector = Point + Point = ? 6
Vectors, V (x, y, z) v w 2 v v (1/2)V (-1)v Vector addition sum v + w Scalar multiplication of vectors (they remain parallel) y w v v+w v P v-w -w Vector difference v - w = v + (-w) O Vector OP x 7
Vectors V n Length (modulus) of a vector V (x, y, z) |V| = n A unit vector: a vector can be normalised such that it retains its direction, but is scaled to have unit length: 8
Dot Product u · v = xu ·xv + yu ·yv + zu ·zv u · v = |u| |v| cos = u · v/ |u| |v| n n n 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? 9
Cross Product n n 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) n n Size is u x v = |u||v|sin Cross product of vector with it self is null 10
Parametric equation of a line (ray) Given two points P 0 = (x 0, y 0, z 0) and P 1 = (x 1, y 1, z 1) the line passing through them can be expressed as: P(t) = P 0 + t(P 1 - P 0) = x(t) = x 0 + t(x 1 - x 0) y(t) = y 0 + t(y 1 - y 0) z(t) = z 0 + t(z 1 - z 0) With - < t < 11
Equation of a sphere n Pythagoras Theorem: a 2 + b 2 = c 2 Given a circle through the origin with radius r, then for any point P on it 2 we 2 have: 2 hypotenuse c b a P n r (0, 0) xp yp x +y =r 12
Equation of a sphere * If the circle is not centred on the origin: yp r b yc We still have P (xp, yp) a 2 + b 2 = r 2 (xc, yc) a b but a = xp- xc b = yp- yc (0, 0) xc xp a So for the general case (x- xc)2 + (y- yc)2 = r 2 13
Equation of a sphere * Pythagoras theorem generalises to 3 D giving a 2 + b 2 + c 2 = d 2 Based on that we can easily prove that the general equation of a sphere is: (x- xc)2 + (y- yc)2 + (z- zc)2 = r 2 and at origin: x 2 + y 2 + z 2 = r 2 14
Matrix Math ©Anthony Steed 2001 15
Vectors and Matrices n Matrix is an array of numbers with dimensions M (rows) by N (columns) • 3 by 6 matrix • element 2, 3 is (3) n Vector can be considered a 1 x M matrix • 16
Types of Matrix n n Identity matrices - I Diagonal n Symmetric • Diagonal matrices are (of course) symmetric • Identity matrices are (of course) diagonal 17
Operation on Matrices n Addition • Done elementwise n Transpose • “Flip” (M by N becomes N by M) 18
Operations on Matrices n Multiplication • Only possible to multiply of dimensions – x 1 by y 1 and x 2 by y 2 iff y 1 = x 2 • resulting matrix is x 1 by y 2 – 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! 19
Matrix Multiplication Order n n n A is n by k , B is k by m C = A x B defined by Bx. A not necessarily equal to Ax. B 20
Example Multiplications 21
Inverse n If A x B = I and B x A = I then A = B-1 and B = A-1 22
3 D Transforms n In 3 -space vectors are transformed by 3 matrices 23
Scale n Scale uses a diagonal matrix n Scale by 2 along x and -2 along z 24
Rotation n Rotation about z axis Y X n Note z values remain the same whilst x and y change 25
Rotation X, Y and Scale n About X n About Y n Scale (should look familiar) 26
Homogenous Points n n Add 1 D, 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 4 D points • (2 3 4 1) = (4 6 8 2) = (3 4. 5 6 1. 5) n Why? • 4 D allows as to include 3 D translation in matrix form 27
Homogenous Vectors != Points n Remember points can not be added n If A and B are points A-B is a vector n Vectors have form (x y z 0) n Addition makes sense n 28
Translation in Homogenous Form n Note that the homogenous component is preserved (* * * 1), and aside from the translation the matrix is I 29
Putting it Together R is rotation and scale components n T is translation component n 30
Order Matters n Composition order of transforms matters • Remember that basic vectors change so “direction” of translations changed 31
Exercises n n 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 2 D) and then its translation under this transformation. 32
Matrix Summary Rotation, Scale, Translation n Composition of transforms n The homogenous form n 33