Professional Documents
Culture Documents
The Differential Geometry of Parametric Primitives PDF
The Differential Geometry of Parametric Primitives PDF
Ken Turkowski
Media Technologies: Graphics Software
Advanced Technology Group
Apple Computer, Inc.
(Draft Friday, May 18, 1990)
26 January 1990
Turkowski
26 January 1990
Ken Turkowski
26 January 1990
y z]
v v
z x
u u
=
z
x
v v
2( x, y,z)
u u u
u v u v u v
H=
= 2
2
2
2 x 2 y 2z
( u, v) (u,v) x
y
z
2
2
2
vu vu vu
v v v
2x
2
u
= 2
x
vu
2x
uv
2x
v2
x x
u v
x x
v v
Media Technology: Computer Graphics
Page 1
Turkowski
26 January 1990
so that the arc length of a curve segment, u = u( t) , t0 < t < t1 is given by:
1
t1
t1
t1
ds
ut) 2dt
s = dt = x dt = x dt = (uG
t 0 dt
t0
t0
t0
t1
The differential surface area enclosed by the differential parallelogram ( u,v) is approximately:
1
S ( G ) 2 uv
so that the area of a region of the surface corresponding to a region R in the u-v plane is:
1
S = ( G ) dudv
2
The second fundamental matrix measures normal curvature, and is given by:
2x
2x
n
n
u2
u v
D = n H =
2
2x
n x
n 2
v
vu
The normal curvature is defined to be positive a curve u on the surface turns toward the positive
direction of the surface normal by:
Du
t
u
n =
u
t
uG
The deviation (in the normal direction) from the tangent plane of the surface, given a differential
is:
displacement of u
n = uD
u t
x
Page 2
Turkowski
26 January 1990
Reparametrization
If the parametrization of the surface is transformed by the equations:
u = u(u,v)
and
v = v( u,v)
( u,v) ( x,y,z)
( u, v) (u,v)
or
J = PJ
where
J =
( x, y,z)
(u , v)
is the new Jacobian matrix of the surface with respect to the new parameters u and v , and
u
( u,v) u
P=
=
(u , v) u
v
v
u
where
(u, v)
u 2
Q=
( )
u, v
v u
(u,v)
u v
(u,v)
v 2 .
Page 3
Turkowski
26 January 1990
Change of Coordinates
For simplicity, we have defined several primitives with unit size, located at the origin. Related
to the reparametrization is the change of coordinates x = x ( x) , with associated Jacobian:
x
x x
C=
=
x y
x
y
x
y
y
y
z
z
y
z
yx zx
yy zy
yz zz
yo zo
C = xy yy zy
xz yz zz
Regardless, the Jacobian and Hessian transform as follows:
J = JC, H = HC
The normal is transformed as:
n =
nC1 t
1
(nC 1t C 1nt) 2
D = H n =
( HC) ( nC 1 t)
1
HCC 1n t
1
H n
1
D
1
Not very pretty. But certain types of transformations can be applied easily. For a uniform scale
with arbitrary translations,
r 0 0
C= 0 r 0 =rI
0 0 r
Page 4
Turkowski
26 January 1990
so that
J = rJ, H = rH, n = n, G = r G, D = r D
2
For rotations (and arbitrary translations), the Jacobian matrix C=R is orthogonal, so the inverse
is equal to the transpose, yielding:
J = JR, H = HR, n = nR, G = G, D =D
Combining the two, we have the results for a transformation that includes translations, rotations
and uniform scale:
J = rJR, H = rHR, n = nR, G = r G, D = rD
2
nC
G = ( C ) 3G, D = ( C ) 3 D
1,
( C)3
Page 5
Turkowski
26 January 1990
Sphere
Given the spherical coordinates:
[ x y z] = [ r sin cos
r sin sin
r cos ]
x
yz
( x,y,z)
x 2 + y2
x +y
0
2
[ x y 0]
2
( x, y,z)
=
( , ) ( , )
yz
xz
2
2
2
2
x +y
x +y
yz
2
x + y2
xz
x2 + y2
[ x y z]
r 2
0
the normal:
x
n=
r
y
r
z
r
D=
r
0
0
r
Page 6
Turkowski
26 January 1990
Unit Sphere
Angle Parametrization
Given the unit spherical coordinates with 0 < 2, 0 < , we parametrize the sphere:
[ x y z] = [sin cos
sin sin
cos ]
x
yz
x +y
0
2
x2 + y2
[ x y 0]
H =
yz
xz
2
2
2
2
x +y
x +y
yz
2
x + y2
xz
x2 + y2
[ x y z]
1
0
the normal:
n = [x
y z]
0
1
Angle Parametrization
With the reparametrization = 2 u, = v , we have the Jacobian:
2
P=
0
2 x
yz
x2 + y2
x2 + y2
Page 7
Turkowski
4 2[ x y 0]
Huv =
xz
2 yz
2
2
2
2
x +y
x +y
yz
2
x2 + y2
26 January 1990
xz
x2 + y2
[ x y z]
2
4 2( x2 + y2) 0
Guv =
2
0
4 2( x 2 + y2) 0
Duv =
2
0
Changing coordinates to yield a sphere of arbitrary radius, we find that the expressions for the
Jacobian, the Hessian, and the metric matrix remain the same, because x, y, and z scale linearly
with r. The curvature matrix changes to:
4 2( x2 + y2)
Duv =
r
2r
Page 8
Turkowski
26 January 1990
Cone
Angle Parametrization
Given the unit conical parametrization:
[ x y z] = [ zcos
zsin
z]
y x
[ x y 0] z z 0
H z =
y x
0
0
0
0
[
]
z z
2
0
z 0
x2 + y2 + z2 =
0 2
2
the normal:
x
n z =
z 2
y
z 2
1
2
D z = 2
0
0
0
Unit Parametrization
For the parametrization:
Juv = hx
h
rz
rz
2
4 [ x y 0]
Huv =
2 h
[ y x 0]
rz
Apple Computer, Inc.
2 h
[ y x 0]
rz
[ 0 0 0]
Media Technology: Computer Graphics
Page 9
Turkowski
4 2( x2 + y2)
Guv =
nuv =
h2x
1+ h2 rz
1
4 2 rz
Duv = 1 + h2
26 January 1990
2
2
2
2
h(x + y + z)
z2
0
h2y
rz
Page 10
Turkowski
26 January 1990
Cylinder
Angle Parametrization
Given the cylindrical parametrization:
[ x y z] = [ cos
z]
sin
0 0 1
the Hessian tensor:
[ x y 0] [ 0 0 0]
H =
[ 0 0 0]
[0 0 0]
the first fundamental form:
1 0
G =
0 1
the normal:
n = [x
y 0]
0 0
Unit Parametrization
With the parametrization:
[0 0 0]
[0 0 0]
h2
0
the normal:
Apple Computer, Inc.
Page 11
Turkowski
x
n=
r
y
r
26 January 1990
Page 12
Turkowski
26 January 1990
Torus
Angle Parametrization
Given the torus parametrization:
J = xz
2
2
x +y
x2 + y2 R
x
yz
x2 + y2
[ x y 0]
H =
xz
yz
2 2
2
2
x +y
x + y
yz
xz
2
2
x2 + y2
x +y
R
R
0 x 1 2
z
2
2
2
x +y
x +y
r 2
0
the normal:
R
1 2
2
x +y
n= x
r
1
y
R
x +y
2
x2 + y2
1 2
0
2
=
r
x +y
0
r
R2 x 2 y2 + z2 r 2
=
2r
0
0
r
x + y R +z = r
2
Page 13