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*)).

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

*κ*is nonnegative, thus the sense of the normal vector is the same as that of

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

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*

*/d*

^{t}*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*/d

^{t}^{t}*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*/d

^{s}*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*/d

^{s}^{s}*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}.