A Quick and Dirty Introduction to Differential Geometry
Review Derivatives of Vector-Valued Functions from [Bel]
as well as differentiation of inverse functions.
Skim lectures 1 and 2 from [Sol].
Read chapter 2 and the appendices in [Cra].
Read the following:
Lecture 3 from [Sol].
Lecture 2 student notes, materials, and supplements from
[BS].
Lecture 3 student notes from [BS].
http://graphics.stanford.edu/courses/cs468-13-spring/schedule.html
http://groups.csail.mit.edu/gdpgroup/6838_spring_2017.html
http://math.bard.edu/belk/math352f11/
http://faculty.bard.edu/belk/math352f11/Outline%20-%20Parallel%20Transport.pdf
Curvature of a Circle
Suppose the parameterization of a circle of radius \(r\) with respect to arc
length is given by
\(\gamma(s) = \left( r \cos sr^{-1}, r \sin sr^{-1} \right)\). The length
of the path up to \(s\) is defined as
\[l(s) = \int_0^s \left\Vert \dot{\gamma}(\tau) \right\Vert_2 d\tau.\]
By the fundamental theorem of calculus [djoyce2014mcutvc],
\[\frac{dl}{ds} = \left\Vert \dot{\gamma}(s) \right\Vert_2
\implies
dl = \sqrt{d\gamma_1^2 + \cdots + d\gamma_n^2}.\]
Denote the unit tangent vector (for arbitrary parameterization) as
\[T(s) =
\frac{\dot{\gamma}(s)}{\left\Vert \dot{\gamma}(s) \right\Vert_2} =
\frac{d\gamma}{ds} \frac{ds}{dl} =
\frac{d\gamma}{dl}.\]
Observe that
\[\begin{split}\frac{d}{ds} \left\Vert \dot{\gamma}(s) \right\Vert_2
&= \frac{d}{ds} \sqrt{
\left( \frac{d\gamma_1(s)}{ds} \right)^2 + \cdots +
\left( \frac{d\gamma_n(s)}{ds} \right)^2
}\\
&= \frac{1}{2}
\left\Vert \dot{\gamma} \right\Vert_2^{-1}
\frac{d}{ds} \left[
\left( \frac{d\gamma_1}{ds} \right)^2 + \cdots +
\left( \frac{d\gamma_n}{ds} \right)^2
\right]
& \quad & \text{chain rule}\\
&= \frac{1}{2}
\left\Vert \dot{\gamma} \right\Vert_2^{-1}
\left[
2 \dot{\gamma}_1 \ddot{\gamma}_1 + \cdots +
2 \dot{\gamma}_n \ddot{\gamma}_n
\right]\\
&= \left\Vert \dot{\gamma} \right\Vert_2^{-1}
\left\langle \dot{\gamma}, \ddot{\gamma} \right\rangle.\end{split}\]
The curvature \(\kappa_\gamma\) at \(s\) is the angular rate of change
of \(T\) per unit change in the distance along the path. That is,
\[\kappa_\gamma = \left\Vert \frac{dT}{dl} \right\Vert_2\]
where the geodesic curvature vector
\[\begin{split}\kappa_\gamma(s) = \frac{dT}{dl}
&= \frac{ds}{dl} \frac{dT}{ds}\\
&= \frac{1}{\left\Vert \dot{\gamma}(s) \right\Vert_2}
\frac{d}{ds}
\frac{\dot{\gamma}(s)}{\left\Vert \dot{\gamma}(s) \right\Vert_2}\\
&= \frac{1}{\left\Vert \dot{\gamma} \right\Vert_2}
\left(
\frac{\ddot{\gamma}}{\left\Vert \dot{\gamma} \right\Vert_2} -
\dot{\gamma} \frac{
\frac{d}{ds} \left\Vert \dot{\gamma} \right\Vert_2
}{
\left\Vert \dot{\gamma} \right\Vert_2^2
}
\right)
& \quad & \text{quotient rule}\\
&= \frac{1}{\left\Vert \dot{\gamma} \right\Vert_2^2}
\left(
\ddot{\gamma} -
\dot{\gamma} \frac{
\left\langle \dot{\gamma}, \ddot{\gamma} \right\rangle
}{
\left\Vert \dot{\gamma} \right\Vert_2^2
}
\right).\end{split}\]
The curvature of a circle parameterized in terms of arc length is given by
\[\begin{split}\kappa_\gamma
&= \left\Vert \frac{dT}{dl} \right\Vert_2\\
&= \left\Vert \ddot{\gamma} \right\Vert_2
& \quad & \left\Vert \dot{\gamma} \right\Vert_2 = 1
\quad \text{and} \quad
\left\langle \dot{\gamma}, \ddot{\gamma} \right\rangle = 0\\
&= \left\Vert
\begin{bmatrix}
-r^{-1} \cos sr^{-1}\\
-r^{-1} \sin sr^{-1}
\end{bmatrix}
\right\Vert_2
& \quad & \dot{\gamma}(s) =
\begin{bmatrix} -\sin sr^{-1}\\ \cos sr^{-1} \end{bmatrix}\\
&= \frac{1}{r}.\end{split}\]
Any Parameterization of Curvature
Let \(C\) be a smooth curve defined by \(\gamma(t)\) where \(t\) is
any parameter. The geodesic curvature vector is given by
\[\kappa_\gamma(t) =
\frac{dT(t)}{dt} =
\frac{dT}{dl(t)} \frac{dl(t)}{dt} =
\frac{dT}{dl} \left\Vert \dot{\gamma} \right\Vert_2
\implies
\frac{dT}{dl} = \frac{dT}{dt} \left\Vert \dot{\gamma} \right\Vert_2^{-1}.\]
Thus, the curvature parameterized in terms of arc length is equivalent to
\[\kappa_\gamma =
\left\Vert \frac{dT}{dl} \right\Vert_2 =
\frac{
\left\Vert \frac{dT}{dt} \right\Vert_2
}{
\left\Vert \dot{\gamma} \right\Vert_2
} =
\frac{
\left\Vert \dot{T} \right\Vert_2
}{
\left\Vert \dot{\gamma} \right\Vert_2
} =
\frac{
\left\Vert \dot{\gamma} \times \ddot{\gamma} \right\Vert_2
}{
\left\Vert \dot{\gamma} \right\Vert_2^3
}.\]
The last equivalence relation can be derived as follows [lavalm2203vfc].
Notice that
\[T(t) = \frac{\dot{\gamma}(t)}{\left\Vert \dot{\gamma}(t) \right\Vert_2}
\implies
\dot{\gamma} = \frac{dl}{dt} T
\qquad \text{and} \qquad
\ddot{\gamma} =
\frac{d}{dt} \left( \frac{dl}{dt} T \right) =
\frac{d^2 l}{dt^2} T + \frac{dl}{dt} \dot{T}.\]
The magnitude of their cross product
\[\begin{split}\dot{\gamma} \times \ddot{\gamma}
&= \frac{dl}{dt} \frac{d^2 l}{dt^2} (T \times T) +
\left( \frac{d l}{dt} \right)^2 \left( T \times \dot{T} \right)\\
&= \left( \frac{d l}{dt} \right)^2 \left( T \times \dot{T} \right)\end{split}\]
is given by
\[\begin{split}\left\Vert \dot{\gamma} \times \ddot{\gamma} \right\Vert_2
&= \left( \frac{d l}{dt} \right)^2
\left\Vert T \times \dot{T} \right\Vert_2\\
&= \left( \frac{d l}{dt} \right)^2
\left\Vert T \right\Vert_2 \left\Vert \dot{T} \right\Vert_2 \sin \theta\\
&= \left( \frac{d l}{dt} \right)^2
\left\Vert \dot{T} \right\Vert_2 \sin \theta
& \quad & \left\Vert T \right\Vert_2 = 1\\
&= \left\Vert \dot{\gamma} \right\Vert_2^2
\left\Vert \dot{T} \right\Vert_2
& \quad & T \perp \dot{T}.\end{split}\]
Therefore,
\[\kappa_\gamma =
\frac{
\left\Vert \dot{T} \right\Vert_2
}{
\left\Vert \dot{\gamma} \right\Vert_2
} =
\frac{
\left\Vert \dot{\gamma} \times \ddot{\gamma} \right\Vert_2
}{
\left\Vert \dot{\gamma} \right\Vert_2^3
}.\]
Parallel Transport Approach to Curve Framing
http://www.math.union.edu/~jaureguj/principal_curvatures.pdf
http://brickisland.net/DDGSpring2016/wp-content/uploads/2016/02/DDGNotes.pdf
http://graphics.stanford.edu/courses/cs468-13-spring/schedule.html
https://math.stackexchange.com/questions/856381/curve-of-constant-curvature-on-unit-sphere-is-planar-curve
http://graphics.stanford.edu/courses/cs468-13-spring/assets/hw1.pdf
http://faculty.bard.edu/belk/math352f11/Outline%20-%20Parallel%20Transport.pdf
- @article{grinspun2006discrete,
title={Discrete differential geometry: an applied introduction},
author={Grinspun, Eitan and Wardetzky, Max and Desbrun, Mathieu and and Schr{“o}der, Peter},
journal={ACM SIGGRAPH ASIA Course},
volume={7},
year={2008}
}
Principal Curvatures and Directions
- @misc{jauregui2011pc,
title={Principal Curvatures},
author={Jauregui, Jeff},
howpublished={url{https://www.math.upenn.edu/~shiydong/Math501X-7-GaussBonnet.pdf}},
note={Accessed on 2017-09-22}
}
- @misc{djoyceddsatp,
title={Directional Derivatives, Steepest Ascent, Tangent Planes},
author={David E. Joyce},
howpublished={url{https://mathcs.clarku.edu/~djoyce/ma131/directional.pdf}},
note={Accessed on 2017-10-10}
}
\[\begin{split}h(x, y) =
ax^2 + by^2 + cxy + dx + ey + f =
\begin{bmatrix} x & y & 1 \end{bmatrix}
\begin{bmatrix}
a & c / 2 & d / 2\\
c / 2 & b & e / 2\\
d / 2 & e / 2 & f
\end{bmatrix}
\begin{bmatrix} x\\ y\\ 1 \end{bmatrix} =
\frac{1}{2} \mathbf{x}^\top Q \mathbf{x}\end{split}\]
\[\begin{split}\nabla h(x, y) =
\frac{1}{2} (Q + Q^\top) \mathbf{x} =
Q \mathbf{x} =
\begin{bmatrix}
2ax + cy + d\\
cx + 2by + e\\
dx + ey + 2f
\end{bmatrix} =
\begin{bmatrix} h_x\\ h_y \end{bmatrix} =
\begin{bmatrix} 2ax + cy + d\\ 2by + cx + e \end{bmatrix}.\end{split}\]
\[\begin{split}J =
\begin{bmatrix}
1 & 0\\
0 & 1\\
h_x & h_y
\end{bmatrix}\end{split}\]
Suppose a quadratic polynomial \(h(x, y) = ax^2 + by^2 + cxy + dx + ey + f\)
describes the height of the surface relative to the plane of the center
triangle. The gradient of this scalar field is
\[\begin{split}\nabla h =
\begin{bmatrix} h_x\\ h_y \end{bmatrix} =
\begin{bmatrix} 2ax + cy + d\\ 2by + cx + e \end{bmatrix}.\end{split}\]
The directional derivative in the direction \(\mathbf{v}\) is defined as
[djoyceddsatp]
\[D_{\mathbf{v}} h(x, y) = \nabla h(x, y) \cdot \mathbf{v}.\]
Define a plane curve as
\[\begin{split}c(t) = \begin{pmatrix} h_x t\\ h_y t\\ h(h_x t, h_y t) \end{pmatrix}\end{split}\]
The surface points are parameterized as
\[p(x, y) = (x, y, h(x, y))
\quad \text{where} \quad
x, y \in \mathbb{R}.\]
The first derivatives
\[\begin{split}\begin{aligned}
p_x &= \frac{\partial p}{\partial x}
&= (1, 0, h_x)\\
&= (1, 0, 2ax + cy + d)
\end{aligned}
\quad \text{and} \quad
\begin{aligned}
p_y &= \frac{\partial p}{\partial y}
&= (0, 1, h_y)\\
&= (0, 1, 2by + cx + e)
\end{aligned}\end{split}\]
are vectors that span the tangent plane to the surface at the barycenter of the
center triangle. The surface normal \(n\) at point \(p\) is defined as
the unit vector perpendicular to the tangent plane at point \(p\):
\[\begin{split}N(p) =
\frac{p_x \times p_y}{\left\Vert p_x \times p_y \right\Vert} =
\frac{1}{\sqrt{h_x^2 + h_y^2 + 1}}
\begin{bmatrix} -h_x\\ -h_y\\ 1 \end{bmatrix}.\end{split}\]
where
\[ \begin{align}\begin{aligned}\begin{split}\nabla h =
\begin{bmatrix} h_x\\ h_y \end{bmatrix}.\end{split}\\\begin{split}
c'(t) =
\begin{pmatrix}
h_x\\
h_y\\
2 a h_x^2 t + 2 b h_y^2 t + 2 c h_x h_y t + d h_x + e h_y + f
\end{pmatrix}\end{split}\\\begin{split}c''(t) =
\begin{pmatrix}
0\\
0\\
2 a h_x^2 + 2 b h_y^2 + 2 c h_x h_y
\end{pmatrix}\end{split}\end{aligned}\end{align} \]
The signed curvature \(\kappa(p)\) at \(p\) with respect to the unit
normal is
\[\kappa(p)\]
and
\[\begin{split}\nabla^2 h =
\begin{bmatrix} h_{xx} & h_{xy}\\ h_{xy} & h_{yy} \end{bmatrix} =
\begin{bmatrix} 2a & c\\ c & 2b \end{bmatrix}.\end{split}\]
The curvature of a function is defined as
\[\det \nabla^2 h = h_{xx} h_{yy} - h_{xy}^2\]
http://www.math.union.edu/~jaureguj/principal_curvatures.pdf
http://www.ahinson.com/algorithms_general/Sections/Mathematics/Eigensolution2x2.pdf
http://www.cse.usf.edu/~r1k/MachineVisionBook/MachineVision.files/MachineVision_Chapter13.pdf