3-D Mathematical Preliminaries

advertisement
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
Download