The following is a continuation and revision of the previous post, here.
Based on the differential geometry part of the book Shape Interrogation for Computer Aided Design and Manufacturing by Nicholas M. Patrikalakis and Takashi Maekawa of MIT. A pdf version in parallel is here.
Let a three-dimensional curve be expressed in parametric form as x = x(t); y = y(t); z = z(t); where the coordinates of the point (x, y, z) of the curve are expressed as functions of a parameter t (time) within a closed interval t1 ≤ t ≤ t2. The functions x(t), y(t), and z(t) are assumed to be continuous with a sufficient number of continuous derivatives.
In vector notation the parametric curve can be specified by a vector-valued function r = r(t), where r represents the position vector (i.e., r(t) = (x(t), y(t), z(t)).
Consider a segment (displacement) of a parametric curve r = r(t) between two points P(r(t)) and Q(r(t+Δt)) as shown in the figure above. As point B approaches A or in other words Δt → 0, the length s becomes the differential arc length of the curve:
ds = |dr/dt| dt = | rt | dt = √(rt • rt) dt,
where the superscript t denotes differentiation with respect to the arc time parameter t. The vector rt = dr/dt is called the tangent vector at point A.
Then the arc length, s, of a segment of the curve between points r(t0) and r(t) can be obtained as follows:
s(t) = ∫ ds = ∫ √(rt • rt) dt = ∫ √((dx/dt)2 + (dy/dt)2 + (dz/dt)2) dt.
The magnitude of the tangent vector is
| rt | = ds/dt = v.
Hence the unit tangent vector is
Ts = rt / | rt | = (dr/dt) / (ds/dt) = dr/ds ≡ rs,
where the superscript s denotes differentiation with respect to the arc length parameter, s.
If r(s) is an arc length parametrized curve, then rs(s) is a unit vector, and hence rs • rs = 1. Differentiating this relation, we obtain rs • rss = 0, which states that rss is orthogonal to the tangent vector, provided it is not a null vector. The unit vector
Ns = rss(s) / |rss(s)| = Tss(s)/|Tss(s)|,
which has the direction and sense of rss(s) is called the unit principal normal vector at s. The plane determined by the unit tangent and normal vectors Ts(s) and Ns(s) is called the osculating plane at s. The curvature is
κs ≡ 1/ρ = |rss(s)|,
and its reciprocal ρ is called the radius of curvature at s. It follows that
rss = Tss = κs Ns.
The vector ks = rss = Tss is called the curvature vector, and measures the rate of change of the tangent along the curve. By definition κs is nonnegative, thus the sense of the normal vector is the same as that of rss(s). For a three-dimensional curve, the curvature is
κs = |rt × rtt| / | rt |³.
Let a three-dimensional curve be expressed in parametric form as X = X(s); Y = Y(s); Z = Z(s); where the coordinates of the point (X, Y, Z) of the curve are expressed as functions of a parameter s (length) within a closed interval s1 ≤ s ≤ s2. The functions X(s), Y(s), and Z(s) are assumed to be continuous with a sufficient number of continuous derivatives.
In vector notation the parametric curve can be specified by a vector-valued function w = w(s), where w represents the position vector (i.e., w(s) = (X(s), Y(s), Z(s)).
Consider a segment (dischronment) of a parametric curve w = w(s) between two points C(w(s)) and D(w(s+Δs)) as shown in the figure above. As point D approaches C or in other words Δs → 0, the length t becomes the differential arc time of the curve:
dt = |dw/ds| ds = | ws | ds = √(ws • ws) ds,
where ws = dw/ds, which is called the tangent vector at point C. Then the arc time, t, of a segment of the curve between points w(s0) and w(s) can be obtained as follows:
t(s) = ∫ dt = ∫ √(ws • ws) ds = ∫ √((dX/ds)2 + (dY/ds)2 + (dZ/ds)2) ds.
The vector ws = dw/ds is called the tangent vector at point C. The magnitude of the tangent vector is
| ws | = dt/ds = u.
Hence the unit tangent vector is
Tt = ws / | ws | = (dw/ds) / (dt/ds) = dw/dt ≡ wt.
If w(t) is an arc length parametrized curve, then wt(t) is a unit vector, and hence wt • wt = 1. Differentiating this relation, we obtain wt • wtt = Tt • Ttt = 0, which states that wtt is orthogonal to the tangent vector, provided it is not a null vector. The unit vector
Nt = wtt(t) / |wtt(t)| = Ttt(t)/|Ttt(t)|,
which has the direction and sense of wtt(t) is called the unit principal normal vector at t. The plane determined by the unit tangent and normal vectors Tt(t) and Nt(t) is called the osculating plane at t. The curvature is
κt ≡ 1/ρ = |wtt(t)| = |Ttt(t)|,
and its reciprocal ρ is called the radius of curvature at t. It follows that
wtt = Ttt = κt Nt.
The vector kt = wtt = Ttt is called the curvature vector, and measures the rate of change of the tangent along the curve. By definition κ is nonnegative, thus the sense of the normal vector is the same as that of wtt(t). For a three-dimensional curve, the curvature is
κt = |ws × wss| / | ws |³.
Here are some useful formulae of the derivatives of arc length, s, and the arc time, t:
v = st = ds/dt = | rt | = (rt • rt)1/2 = 1/| ws | = 1/(ws • ws)1/2,
a = stt = dst/dt = (rt • rtt) / (rt • rt)1/2 = – (ws • wss) / (ws • ws)4/2,
sttt = dstt/dt = [(rt • rt)(rt • rttt + rtt • rtt) – (rt • rtt)²] / (rt • rt)3/2
= – [(ws • ws)(ws • wsss + wss • wss) – 4(ws • wss)²] / (ws • ws)7/2,
u = ts = dt/ds = 1/| rt | = 1/(rt • rt)1/2 = | ws | = (ws • ws)1/2,
b = tss = dts/ds = – (rt • rtt) / (rt • rt)4/2 = (ws • wss) / (ws • ws)1/2,
tsss = dtss/ds = – [(rt • rt)(rt • rttt + rtt • rtt) – 4(rt • rtt)²] / (rt • rt)7/2
= [(ws • ws)(ws • wsss + wss • wss) – (ws • wss)²] / (ws • ws)3/2.