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 *t*_{1} ≤ *t* ≤ *t*_{2}. 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*)).

Displacement Δ**r** connecting points A and B on parametric curve **r**(*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:

d*s* = |d**r**/d*t*| d*t* = | **r**^{t} | d*t* = √(**r**^{t} • **r**^{t}) d*t*,

where the superscript *t* denotes differentiation with respect to the *arc time parameter* *t*. The vector **r**^{t} = d**r**/d*t* is called the *tangent vector* at point *A*.

Then the arc length, *s*, of a segment of the curve between points **r**(*t*_{0}) and **r**(*t*) can be obtained as follows:

*s*(*t*) = ∫ d*s* = ∫ √(**r**^{t} • **r**^{t}) d*t* = ∫ √((d*x*/d*t)*^{2} + (d*y*/d*t)*^{2} + (d*z*/d*t)*^{2}) d*t*.

The magnitude of the tangent vector is

| **r**^{t} | = d*s*/d*t* = *v*.

Hence the unit tangent vector is

**T**_{s} = **r**^{t} / | **r**^{t} | = (d**r**/d*t*) / (d*s*/d*t*) = d**r**/d*s* ≡ **r**^{s},

where the superscript *s* denotes differentiation with respect to the *arc length parameter*, *s*.

If **r**(*s*) is an arc length parametrized curve, then **r**^{s}(*s*) is a unit vector, and hence **r**^{s} • **r**^{s} = 1. Differentiating this relation, we obtain **r**^{s} • **r**^{ss} = 0, which states that **r**^{ss} is orthogonal to the tangent vector, provided it is not a null vector. The unit vector

**N**_{s} = **r**^{s}^{s}(*s*) / |**r**^{s}^{s}(*s*)| = **T**_{s}^{s}(*s*)/|**T**_{s}^{s}(*s*)|,

which has the direction and sense of **r**^{s}^{s}(*s*) is called the *unit principal normal vector* at *s*. The plane determined by the unit tangent and normal vectors **T**_{s}(*s*) and **N**_{s}(*s*) is called the *osculating plane* at *s*. The curvature is

*κ*_{s} ≡ 1/*ρ* = |**r**^{s}^{s}(*s*)|,

and its reciprocal *ρ* is called the *radius of curvature* at *s*. It follows that

**r**^{s}^{s} = **T**_{s}^{s} = *κ*_{s} **N**_{s}.

The vector **k**_{s} = **r**^{s}^{s} = **T**_{s}^{s} 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 **r**^{s}^{s}(*s*). For a three-dimensional curve, the curvature is

*κ*_{s} = |**r**^{t} × **r**^{t}^{t}| / | **r**^{t }|³.

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 *s*_{1} ≤ *s* ≤ *s*_{2}. 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*)).

Distimement Δ**w** connecting points C and D on parametric curve **w**(*s*).

Consider a segment (distimement) 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:

d*t* = |d**w**/d*s*| d*s* = | **w**^{s} | d*s* = √(**w**^{s} • **w**^{s}) d*s*,

where **w**^{s} = d**w**/d*s*, which is called the *tangent vector* at point *C*. Then the arc time, *t*, of a segment of the curve between points **w**(*s*_{0}) and **w**(*s*) can be obtained as follows:

*t*(*s*) = ∫ d*t* = ∫ √(**w**^{s} • **w**^{s}) d*s* = ∫ √((d*X*/d*s)*^{2} + (d*Y*/d*s)*^{2} + (d*Z*/d*s)*^{2}) d*s*.

The vector **w**^{s} = d**w**/d*s* is called the *tangent vector* at point *C*. The magnitude of the tangent vector is

| **w**^{s} | = d*t*/d*s* = *u*.

Hence the unit tangent vector is

**T**_{t} = **w**^{s} / | **w**^{s} | = (d**w**/d*s*) / (d*t*/d*s*) = d**w**/d*t* ≡ **w**^{t}.

If **w**(*t*) is an arc length parametrized curve, then **w**^{t}(*t*) is a unit vector, and hence **w**^{t} • **w**^{t} = 1. Differentiating this relation, we obtain **w**^{t} • **w**^{tt} = **T**_{t} • **T**_{t}^{t} = 0, which states that **w**^{tt} is orthogonal to the tangent vector, provided it is not a null vector. The unit vector

**N**_{t} = **w**^{tt}(*t*) / |**w**^{tt}(*t*)| = **T**_{t}^{t}(*t*)/|**T**_{t}^{t}(*t*)|,

which has the direction and sense of **w**^{tt}(*t*) is called the *unit principal normal vector* at *t*. The plane determined by the unit tangent and normal vectors **T**_{t}(*t*) and **N**_{t}(*t*) is called the *osculating plane* at *t*. The curvature is

*κ*_{t} ≡ 1/*ρ* = |**w**^{tt}(*t*)| = |**T**_{t}^{t}(*t*)|,

and its reciprocal *ρ* is called the *radius of curvature* at *t*. It follows that

**w**^{tt} = **T**_{t}^{t} = *κ*_{t} **N**_{t}.

The vector **k**_{t} = **w**^{tt} = **T**_{t}^{t} 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 **w**^{tt}(*t*). For a three-dimensional curve, the curvature is

*κ*_{t} = |**w**^{s} × **w**^{ss}| / | **w**^{s }|³.

Here are some useful formulae of the derivatives of arc length, *s,* and the arc time, *t*:

*v = s*^{t} = d*s*/d*t* = | **r**^{t} | = (**r**^{t} • **r**^{t})^{1/2} = 1/| **w**^{s} | = 1/(**w**^{s} • **w**^{s})^{1/2},

*a = s*^{t}^{t} = d*s*^{t}/d*t* = (**r**^{t} • **r**^{t}^{t}) / (**r**^{t} • **r**^{t})^{1/2} = – (**w**^{s} • **w**^{ss}) / (**w**^{s} • **w**^{s})^{4/2},

*s*^{t}^{t}^{t} = d*s*^{t}^{t}/d*t* = [(**r**^{t} • **r**^{t})(**r**^{t} • **r**^{t}^{t}^{t} + **r**^{t}^{t} • **r**^{t}^{t}) – (**r**^{t} • **r**^{t}^{t})²] / (**r**^{t} • **r**^{t})^{3/2}

= – [(**w**^{s} • **w**^{s})(**w**^{s} • **w**^{sss} + **w**^{ss} • **w**^{ss}) – 4(**w**^{s} • **w**^{ss})²] / (**w**^{s} • **w**^{s})^{7/2},

*u = t*^{s} = d*t*/d*s* = 1/| **r**^{t} | = 1/(**r**^{t} • **r**^{t})^{1/2} = | **w**^{s} | = (**w**^{s} • **w**^{s})^{1/2},

*b = t*^{s}^{s} = d*t*^{s}/d*s* = – (**r**^{t} • **r**^{t}^{t}) / (**r**^{t} • **r**^{t})^{4/2} = (**w**^{s} • **w**^{ss}) / (**w**^{s} • **w**^{s})^{1/2},

*t*^{s}^{s}^{s} = d*t*^{s}^{s}/d*s* = – [(**r**^{t} • **r**^{t})(**r**^{t} • **r**^{t}^{t}^{t} + **r**^{t}^{t} • **r**^{t}^{t}) – 4(**r**^{t} • **r**^{t}^{t})²] / (**r**^{t} • **r**^{t})^{7/2}

= [(**w**^{s} • **w**^{s})(**w**^{s} • **w**^{sss} + **w**^{ss} • **w**^{ss}) – (**w**^{s} • **w**^{ss})²] / (**w**^{s} • **w**^{s})^{3/2}.