13.472J/1.128J/2.158J/16.940J
COMPUTATIONAL GEOMETRY
Lecture 2
Kwanghee Ko
T. Maekawa
N. M. Patrikalakis
Massachusetts Institute of Technology
Cambridge, MA 02139-4307, USA
Copyrightc 2003MassachusettsInstituteofTechnology
Contents
2 Di erential geometry of curves 2
2.1 De nition of curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.1 Plane curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.2 Space curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Arc length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Tangent vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Normal vector and curvature . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5 Binormal vector and torsion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.6 Serret-Frenet Formulae . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Bibliography 16
Reading in the Textbook
Chapter 1, pp.1 - pp.3
Chapter 2, pp.36 - pp.48
1
Lecture 2
Di erential geometry of curves
2.1 De nition of curves
2.1.1 Plane curves
Implicit curves f(x;y) = 0
Example: x2 + y2 = a2
{ It is di cult to trace implicit curves.
{ It is easy to check if a point lies on the curve.
{ Multi-valued and closed curves can be represented.
{ It is easy to evaluate tangent line to the curve when the curve has a vertical or near
vertical tangent.
{ Axis dependent. (Di cult to transform to another coordinate system).
Example: x3 + y3 = 3xy : Folium of Descartes (see Figure 2.1a)
Let f(x;y) = x3 + y3 3xy = 0;
f(0;0) = 0 ) (x;y) = (0;0) lies on the curve
Example: If we translate by (1,2) and rotate the axes by = atan( 34), the hyperbola
x2
4
y2
2 = 1, shown in Figure 2.1(b), will become 2x
2 72xy+23y2 +140x 20y+50 = 0.
Explicit curves y = f(x)
One of the variables is expressed in terms of the other.
Example: y = x2
{ It is easy to trace explicit curves.
{ It is easy to check if a point lies on the curve.
{ Multi-valued and closed curves can not be easily represented.
{ It is di cult to evaluate tangent line to the curve when the curve has a vertical or
near vertical tangent.
2
-3 -2 -1 0 1 2
-3
-2
-1
0
1
2
X
Y
asymptote line
x+y+1=0
multi-valued
-3 -2 -1 0 1 2 3
-2
-1
0
1
2
3
4
X
Y
Figure 2.1: (a) Descartes; (b) Hyperbola.
{ Axis dependent. (Di cult to transform to another coordinate system).
Example: If the circle is represented by an explicit equation, it must be divided into
two segments, with y = +pr2 x2 for the upper half and y = pr2 x2 for the lower
half, see Figure 2.2. This kind of segmentation creates cases which are inconvenient in
computer programming and graphics.
y = + r ? x2 2
y = ? r ? x2 2
x
y
o
Figure 2.2: Description of a circle with an explicit equation.
Note: The derivative of y = px at the origin x = 0 is in nite, see Figure 2.3.
Parametric curves x = x(t); y = y(t); t1 t t2
2D coordinates (x;y) can be expressed as functions of a parameter t.
Example: x = acos(t); y = asin(t); 0 t < 2
3
y
x
y = px; y0 = 1=2px; as x ! 0, y0 !1
Figure 2.3: Vertical slopes for explicit curves involve non-polynomial functions.
{ It is easy to trace parametric curves.
{ It is relatively di cult to check if a point lies on the curve.
{ Closed and multi-valued curves are easy to represent.
{ It is easy to evaluate tangent line to the curve when the curve has a vertical or near
vertical tangent.
{ Axis independent. (Easy to transform to another coordinate system)
Example: Folium of Descartes, see Figure 2.1, can be expressed as:
r(t) =
3t
1+t3 ;
3t2
1+t3
1 < t < 1 ) easy to trace
x(t) = x0 ) solve for t ) plug t into y(t) = y0 ) need to solve a nonlinear equation
to check if a point lies on the curve.
Explicit curve y = px can be expressed as x = t2, y = t (t 0).
r = (t2;t); _r = (2t;1)
unit tangent vector t = (2t;1)p4t2 + 1
at t = 0;t = (0;1)
Therefore there is no problem representing a vertical tangent computationally.
2.1.2 Space curves
Implicit curves
In 3D, a single equation generally represents a surface. For example x2 + y2 + z2 = a2 is
a sphere.
4
Thus, the curve appears as the intersection of two surfaces.
F(x;y;z) = 0 \ G(x;y;z) = 0
Example: Intersection of the two quadric surfaces z = xy and y2 = zx gives cubic
parabola. (These two surfaces intersect not only along the cubic parabola but also along
the x-axis.)
Explicit curves
If the implicit equations can be solved for two of the variables in terms of the third, say
for y and z in terms of x, we get
y = y(x); z = z(x)
Each of the equations separately represents a cylinder projecting the curve onto one of
the coordinate planes. Therefore intersection of the two cylinders represents the curve.
Example: Intersection of the two cylinders y = x2; z = x3 gives a cubic parabola.
Parametric curves x = x(t); y = y(t); z = z(t), t1 t t2
The 3D coordinates (x;y;z) of the point can be expressed on functions of parameter t.
Here functions x(t), y(t), z(t) have continuous derivatives of the rth order, and the
parameter t is restricted to some interval called the parameter space (i.e., t1 t t2).
In this case the curve is said to be of class r, denoted as Cr.
In vector notation:
r = r(t)
where r = (x;y;z); r(t) = (x(t);y(t);z(t))
Example: Cubic parabola
x = t; y = t2; z = t3
Example: Circular helix, see Fig. 2.4.
x = acos(t); y = asin(t); z = bt; 0 t
Using v = tan t2
v = tan t2 =
s
1 cos t
1 + cos t ) v
2 = 1 cos t
1 + cos t
) cos t = 1 v
2
1 + v2 ) sint =
2v
1 + v2
Therefore the following parametrization will give the same circular helix.
r =
a1 v
2
1 + v2 ;
2av
1 + v2 ; 2btan
1v
!
; 0 v < 1
5
>> ylabel(’Y’);
>> zlabel(’Z’);
>> print(’circHelix.ps’)
>> plot3(a * cos(u), a * sin(u), b * u)
>> xlabel(’X’);
>>
>> a= 2;
>> b = 3;
>> u = [0 : 6 * pi / 100 : 6 * pi];
?2
?1
0
1
2
?2
?1
0
1
2
0
10
20
30
40
50
60
XY
Z
Figure 2.4: Circular helix plotted using MATLAB.
6
y
z
r(t)
p
q
r(t + t)
r
x
Figure 2.5: A segment r connecting two point p and q on a parametric curve r(t).
2.2 Arc length
From Figure 2.5, we will derive an expression for the di erential arc length ds of a parametric
curve. First, let us express the vector r connecting two points p and q on an arc at parametric
locations t and t + t, respectively, as
r = p q = r(t + t) r(t):
As p and q become in nitesimally close, the length of the segment connecting the two points
approaches the arc length between the two points along the curve, r(t) and r(t+ t). Or using
Taylor’s expansion on the norm (length) of the segment r and letting t ! 0, we can express
the di erential arc length as
s ’j rj = jr(t + t) r(t)j = jdrdt t + O( t2)j’jdrdtj t:
Thus as t ! 0
ds = jdrdtjdt = j_rjdt:
De nitions
d
dt _
d
ds
0
Hence the rate of change dsdt of the arc length s with respect to the parameter t is
ds
dt =
q
_x2(t) + _y2(t) + _z2(t) (2.1)
7
ds
dt is called the parametric speed. It is, by de nition, non-negative (s being measured always
in the sense of increasing t).
If the parametric speed does not vary signi cantly, parameter values t0;t1; ;tN corre-
sponding to a uniform increment t = tk tk 1, will be evenly distributed along the curve, as
illustrated in Figure 2.6.
Parameter Space
t0 t3 t4 t5t1 t2
t0
t1
t2 t3 t4
t5
x
y
t
ds
dt
Figure 2.6: When parametric speed does not vary, parameter values are uniformly spaced along
a parametric curve.
The arc length of a segment of the curve between points r(to) and r(t) can be obtained as
follows:
s(t) =
Z t
to
q
_x2(t) + _y2(t) + _z2(t)dt =
Z t
to
p_
r _rdt (2.2)
Derivatives of arc length s w.r.t. parameter t and vice versa :
_s = dsdt = j_rj = p_r _r (2.3)
s = d_sdt = _r rp_r _r (2.4)
s = d s
dt =
(_r _r)(_r r + r r) (_r r)2
(_r _r)32
(2.5)
t0 = dtds = 1j_rj = 1p_r _r (2.6)
t00 = dt
0
ds =
_r r
(_r _r)2 (2.7)
t000 = dt
00
ds =
( r r + _r r)(_r _r) 4(_r r)2
(_r _r)72
(2.8)
2.3 Tangent vector
The vector r(t+ t) r(t) indicates the direction from r(t) to r(t+ t). If we divide the vector
by t and take the limit as t ! 0, then the vector will converge to the nite magnitude
vector _r(t).
_r(t) is called the tangent vector.
Magnitude of the tangent vector
j_rj = dsdt (2.9)
8
Unit tangent vector
t = _rj_rj =
dr
dt
ds
dt
= drds r0 (2.10)
De nition : A parametric curve is said to be regular if j_r(t)j6= 0 for all t 2 I. The points
where j_r(t)j = 0 are called irregular (singular) points.
Note that at irregular points the parametric speed is zero.
Example: semi-cubical parabola r(t) = (t2;t3), see Figure 2.7
_r(t) = (2t;3t2)
j_r(t)j =
p
4t2 + 9t4 =
q
t2(4 + 9t2)
when t = 0;j_r(t)j = 0
t>0
t<0
x
y
0
Figure 2.7: A singular point occurs on a semi-cubical parabola in the form of a cusp.
Here are some useful formulae for computing the unit tangent vector:
3D Parametric curve r(t)
t = r0 = drds = drdt dtds = _rj_rj = ( _x; _y; _z)p_x2 + _y2 + _z2
2D Implicit curve f(x;y) = 0
t = (fy; fx)q
f2x + f2y
9
2D Explicit curve y = f(x)
t = (1;
_f)
q
1 + _f2
Example: For a circular helix r(t) = (acos t;asint;bt)
Parametric speed
ds
dt = j_r(t)j =
q
_x2(t) + _y2(t) + _z2(t)
_r(t) = ( asint;acos t;b)
j_r(t)j =
p
a2 + b2 = c = const )
(
The curve is regular and has
good parametrization
Unit tangent vector
t = _rj_rj = ( ac sint; ac cos t; bc) (2.11)
Arc length
s(t) =
Z t
0
j_rjdt =
Z t
0
p
a2 + b2dt = ct (2.12)
Arc length parametrization
t = sc (2.13)
r(s) = (acos sc;asin sc; bsc ) (2.14)
check (2.15)
dr
ds = (
a
c sin
s
c;
a
c cos
s
c;
b
c) = t (2.16)
2.4 Normal vector and curvature
Let us consider the second derivative r00(s), see Figure 2.8.
r00(s) = lim s!0 r
0(s + s) r0(s)
s (2.17)
As s ! 0 r0(s + s) r0(s) becomes perpendicular to the tangent vector i.e. normal
direction.
Also jr0(s + s) r0(s)j = 1 = as s ! 0.
Thus
jr00(s)j = lim s!0 s = lim s!0
=
1
(2.18)
10
1
1
r’(s) r’(s+?s)
?s
ρ
?θ
?θ
r’(s)
r’(s+?s)
n
r’(s+?s)?r’(s)=?θ
center of
curvature
Figure 2.8: Derivation of the normal vector of a curve.
is called the curvature. It follows that
2 = r00 r00: (2.19)
Consequently
r00(s) = t0 = n (2.20)
Thus using equations (2.6) and (2.7), we obtain
n = d
2r
ds2 =
dt
ds =
d
ds(_rt
0) = r(t0)2 + _rt00 = (_r _r) r (_r r)_r
(_r _r)2 (2.21)
2 = ( n) ( n) =
(_r _r) r (_r r)_r
(_r _r)2
(_r _r) r (_r r)_r
(_r _r)2
= (_r r) (_r r)(_r _r)3 (2.22)
where the identity (a b) (a b) = (a a)(b b) (a b)2 is used.
Here are some useful formulae for computing the normal vector and curvature:
2D parametric curve r(t), see Figure 2.9
n = ez t = ( _y; _x)p_x2 + _y2 ; ez = (0;0;1) (2.23)
= _x y _y x
( _x2 + _y2)32
(2.24)
2D implicit curve f(x;y) = 0
n = ez t = (fx;fy)q
f2x + f2y
= rfjrfj (2.25)
= fxxf
2y 2fxyfxfy + f2xfyy
(f2x + f2y )32
(2.26)
11
x
y
z
ez
t
n
n
t
n
t
κ<0
κ>0
κ=0
inflection
point
Figure 2.9: Normal and tangent vectors along a 2D curve.
2D Explicit curve y = f(x)
n = ez t = ( _y;1)p1 + _y2 (2.27)
= y
(1 + _y2)32
(2.28)
2.5 Binormal vector and torsion
x
y
z
b
n t
r(t)
n t : osculating plane
b n : normal plane
b t : rectifying plane
Figure 2.10: The tangent, normal, and binormal vectors de ne an orthogonal coordinate system
along a space curve.
Let us de ne a unit binormal vector, see Figure 2.10
b = t n (2.29)
We have
t n = 0 n b = 0 b t = 0
b = t n t = n b n = b t
12
The osculating plane can be de ned as the plane passing through three consecutive points
on the curve. The rate of change of the osculating plane is expressed by the vector
b0 = dds(t n) = dtds n + t dnds = t n0 (2.30)
where we used the fact that dtds = r00 = n.
From n n = 1 ! di erentiate w.r.t. s ! 2n0 n = 0 ! n0 ? n
Thus n0 is parallel to the rectifying plane (b;t), and n0 can be expressed as a linear com-
bination of b and t.
n0 = t + b (2.31)
Substitute (2.31) into (2.30)
b0 = t ( t + b) = t b = b t = n (2.32)
is called the torsion.
Consequently
= n b0 = n (t n)0 = (r
0r00r000)
r00 r00 =
(_r r r)
(_r r) (_r r) (2.33)
Triple scalar product
(abc) = a (b c) = (a b) c (2.34)
also
(abc) = (bca) = (cab) cyclic permutation (2.35)
Geometrically, (abc) equals to the volume of a parallelepiped having the edge vectors
a; b; c, as in Figure 2.11.
ax ay az
a (bxc)= bx by bz
cx cy cz
ab
c
Figure 2.11: The computation of the volume of a parallelepiped
2.6 Serret-Frenet Formulae
From equations (2.20) and (2.32), we found that
t0 = n (2.36)
b0 = n (2.37)
13
How about n0?
n0 = (b t)0 = b0 t + b t0 = n t + b ( n) = t + b (2.38)
In matrix form we can express the di erential equations as
2
64 t
0
n0
b0
3
75 =
2
64 0 (s) 0 (s) 0 (s)
0 (s) 0
3
75
2
64 tn
b
3
75 (2.39)
Thus, the curve is completely determined by its curvature and torsion as a function of
parameter s. The equations = (s), = (s) are called intrinsic equations. The for-
mulae 2.39 are known as the Serret-Frenet Formulae and describe the motion of moving a
trihedron (t; n; b) along the curve.
Example: Determining the shape of a curve from curvature information and boundary
conditions only.
Given:
= 1R = const
We nd
dt
ds =
n
R (2.40)
dn
ds =
t
R (2.41)
If we di rentiate Equation 2.40 with respect to s,
d2t
ds2 =
1
R
dn
ds : (2.42)
Now, substitute Equation 2.42 into Equation 2.41
d2t
ds2 +
t
R2 = 0: (2.43)
Recognizing that t = drds, we can change variables from t to r, transforming Equation 2.43
into
d3r
ds3 +
1
R2
dr
ds = 0
or
d3
ds3
x(s)
y(s)
!
+ 1R2 dds
x(s)
y(s)
!
=
0
0
!
(2.44)
The solution to Equation 2.44 is
x(s) = C1 + C2 cos
s
R
!
+ C3 sin
s
R
!
(2.45)
y(s) = C01 + C02 cos
s
R
!
+ C03 sin
s
R
!
(2.46)
14
Assume we are given suitable initial conditions or boundary conditions. For this example,
we will use:
x(0) = R x0(0) = 0 x00(0) = 1R (2.47)
y(0) = 0 y0(0) = 1 y00(0) = 0 (2.48)
Solving for the constants in the general solution gives
C1 = C3 = 0 C2 = R (2.49)
C01 = C02 = 0 C03 = R (2.50)
Thus, we nd our solution is given by
x(s) = R cos
s
R
(2.51)
y(s) = R sin
s
R
(2.52)
which is precisely a circle of radius R satisfying the conditions (2.47) and (2.48).
Example: A circular helix r = (acos sc;asin sc; bsc )
r0(s) = ( ac sin sc; ac cos sc; bc)
r00(s) = ( ac2 cos sc; ac2 sin sc;0)
r000(s) = ( ac3 sin sc; ac3 cos sc;0)
2 = r00 r00 = a
2
c4 (cos
2 s
c + sin
2 s
c) =
a2
c4 = constant
= (r
0r00r000)
r00 r00 =
(r0r00r000)
2
= c
4
a2
ac sin sc ac cos sc bc
ac2 cos sc ac2 sin sc 0
a
c3 sin
s
c
a
c3 cos
s
c 0
= c
4
a2
b
c(
a2
c5 (cos
2 s
c + sin
2 s
c))
= bc2 = constant
Note: when b > 0, it is a right-handed helix;
when b < 0, it is a left-handed helix.
15
Bibliography
[1] P. M. do Carmo. Di erential Geometry of Curves and Surfaces. Prentice-Hall, Inc., Engle-
wood Cli s, NJ, 1976.
[2] E. Kreyszig. Di erential Geometry. University of Toronto Press, Toronto, 1959.
[3] M. M. Lipschutz. Theory and Problems of Di erential Geometry. Schaum’s Outline Series:
McGraw-Hill, 1969.
[4] D. J. Struik. Lectures on Classical Di erential Geometry. Addison-Wesley, Cambridge,
MA, 1950.
[5] T. J. Willmore. An Introduction to Di erential Geometry. Clarendon Press, Oxford, 1959.
16