3-D Mathematical Preliminaries & Transformations ©Larry F. Hodges (modified by Amos Johnson) 1 Coordinate Systems Y Y Z X X Left-handed Right-handed coordinate coordinate system Z ©Larry F. Hodges (modified by Amos Johnson) system 2 Parametric Definition of a Line Given two points P1 = (x1, y1, z1), P2 = ( x2, y2, z2) t>1 t=1 x = x1 + t (x2 - x1) t=0 y = y1 + t (y2 - y1) P2 t<0 z = z1 + t (z2 - z1) P1 Given a point P1 and a vector V = [xv, yv, zv] x = x1 + t xv, y = y 1 + t yv , COMPACT FORM: ©Larry F. Hodges (modified by Amos Johnson) z = z1 + t zv L = P1 + t[P2 - P1] or L = P1 + Vt 3 3-D Vectors Have length and direction V = [xv, yv, zv] Length is given by the Euclidean Norm Dot Product ||V|| = sqrt( xv2 + yv2 + zv2 ) V•U = [xv, yv, zv] • [xu, yu, zu] = xvxu + yvyu + zvzu = ||V|| ||U|| cos ß Cross Product V x U = [vyuz - vzuy, -vxuz + vzux, vxuy - vyux] V x U = - ( U x V) Direction of resulting vector depends on coordinate system and order of vectors. ©Larry F. Hodges (modified by Amos Johnson) 4 Derivation of Plane Equation To derive equation of the plane given three points: P1, P2, P3 [ P3 - P1] x [ P2 - P1] = N, orthogonal vector Given a general point P = (x,y,z) N • [P - P1] = 0 if P is in the plane. P2 P1 P3 Or given a point (x,y,z) in the plane and normal vector N then N • [x,y,z] = -D ©Larry F. Hodges (modified by Amos Johnson) 5 Equation of a plane Ax + By + Cz + D = 0 Alternate Form: A'x + B'y + C'z +D' = 0 where A' = A/d, B' = B/d, C' = C/d, D' = D/d d = sqrt(A2 + B2 + C2) Distance between a point and the plane is given by A'x + B'y + C'z +D' (sign indicates which side) Given Ax + By + Cz + D = 0 Then [A, B, C] is a normal vector Pf: Given two point P1 and P2 in the plane, the vector [ P2 - P1] is in the plane and [A,B, C] • [ P2 - P1] = (Ax2 + By2 +Cz2) - (Ax1 + B y1 + Cz1) = (-D) (-D) = 0 ©Larry F. Hodges (modified by Amos Johnson) 6 Basic Transformations •Translation •Scale •Rotation •Shear ©Larry F. Hodges (modified by Amos Johnson) 7 Translation in Homogeneous Coordinates [T][P] = (x + tx, y + ty, z + tz) (1 0 0 tx) (x) (0 1 0 ty) (y) (0 0 1 tz ) (z) (0 0 0 1 ) (1) T ©Larry F. Hodges (modified by Amos Johnson) P 8 Scale [S][P] = (sxx, syy, szz) (sx 0 0 0) (x) (0 sy 0 0) (y) (0 0 sz 0) (z) (0 0 0 1) (1) Note: A scale may also translate an object! ©Larry F. Hodges (modified by Amos Johnson) 9 Rotations Positive Rotations are defined as follows Axis of rotation is Direction of positive rotation is x y to z y z to x z x to y Z Y ©Larry F. Hodges (modified by Amos Johnson) X 10 Rotations About the z axis (cosß -sinß 0 0) (x) (sinß cosß 0 0) (y) (0 0 1 0) (z) (0 0 0 1) (1) About the x axis Rx(ß) P = (1 0 0 0) (x) (0 cosß -sinß 0) (y) (0 sinß cosß 0) (z) (0 0 0 1) (1) About the y axis ©Larry F. Hodges (modified by Amos Johnson) Rz(ß) P = Ry(ß) P = ( cosß 0 sinß 0) (x) (0 1 0 0) (y) (-sinß 0 cosß 0) (z) (0 0 0 1) (1) 11 Shears xy Shear SHxyP = ©Larry F. Hodges (modified by Amos Johnson) (1 0 shx 0) (x) (0 1 shy 0) (y) (0 0 1 0) (z) (0 0 0 1) (1) 12 A Rotation Φ About An Arbitrary Axis P2 Z P1 Y ©Larry F. Hodges (modified by Amos Johnson) X 13 A Rotation Φ About An Arbitrary Axis 1. Translate one end of the axis to the origin [P2-P1] = [ u1, u2, u3] Z P2 Y P1 ©Larry F. Hodges (modified by Amos Johnson) X 14 A Rotation Φ About An Arbitrary Axis 1. Translate one end of the axis to the origin [P2-P1] = [ u1, u2, u3] Z a = sqrt(u12 + u32) b = sqrt(u12 + u22) c = sqrt(u22 + u32) U c u3 Y a ß u2 b cosß = u3/a sinß = u1/a ©Larry F. Hodges (modified by Amos Johnson) u1 X 15 2. Rotate the coordinate axes about the y-axis an angle -ß Z U Z a U c u3 a Y ß µ Y u2 u2 b u1 X After Ry(-ß), U lies in the y-z plane ©Larry F. Hodges (modified by Amos Johnson) X 16 3. Rotate the coordinate axes about the x-axis through an angle µ to align the z-axis with U U Z U Z Rx (µ) cos µ = a/ ||u|| µ Y Y X After Rx(µ), U lies on the z-axis ©Larry F. Hodges (modified by Amos Johnson) X 17 4 . When U is aligned with the zaxis, apply the original rotation, Φ, about the z-axis. 5. Apply the inverses of the transformations in reverse order. ©Larry F. Hodges (modified by Amos Johnson) 18 A Rotation Φ About an Arbitrary Axis [T-1][Ry(ß)][Rx(-µ)][Rz(Φ)][Rx(µ)][Ry(-ß)][T][P] Note: P = 3D Point T-1 = opposite translate from T [ ] = matrix ©Larry F. Hodges (modified by Amos Johnson) 19