几何中的曲线在分析角度本质上是一个向量函数。
R\mathbb{R} 中取区间 II,用 tt 表示区间中的变量
那么曲线就可以表示为

c:IRn,tc(t)\boldsymbol c: I \to \mathbb{R}^n,\ t \mapsto \boldsymbol c(t)

# 正则曲线

定义
若对于任意 tIt \in I

c(t)0\boldsymbol c'(t) \neq \boldsymbol 0

则称 c\boldsymbol c正则曲线 (regular curve)

在值域中,n=2n=2 时称为平面曲线,n=3n=3 时称为空间曲线。以此我们实际上研究的是任意维度下的曲线

我们可以将曲线理解为一个路径,或者说是运动轨迹
参数 tt 可以理解为时间
随着时间的增加,向量 c(t)\boldsymbol c(t) 的终点会在空间中描绘出这条曲线,或者也可以说有一个小质点在沿着这个曲线运动
既然谈到运动,自然会有速度

定义
曲线 c\boldsymbol c 的微分

c(t)=dcdt=(dx1dt,dx2dt,,dxndt)\boldsymbol c'(t) = \frac{d\boldsymbol c}{dt} = \left(\frac{dx_1}{dt}, \frac{dx_2}{dt}, \cdots, \frac{dx_n}{dt}\right)

称为曲线 c\boldsymbol c* 切向量 (tangent vector),或者叫 速度向量 (velocity vector)
并且

Tc(t)c={λc(t)λR}T_{\boldsymbol c(t)}\boldsymbol c = \{\lambda \boldsymbol c'(t) \mid \lambda \in \mathbb{R}\}

称为曲线 c\boldsymbol c 在点 c(t)\boldsymbol c(t) 处的 切空间 (tangent space)

虽然切向量本身是 Rn\mathbb{R}^n 中的向量(以原点为起点的),但是往往在研究过程中,我们会将它平移到曲线的那个点上作为起点,视为几何向量
切空间也是一样的
切向量与切空间

那在作为路径的理解上,我们可以将正则曲线简单翻译为:一条连续并且是真的能靠一辆车开出来的路径
(在非正则点上,也就是 c(t)=0\boldsymbol c'(t) = \boldsymbol 0,也叫做奇点,路径会有很尖锐的瞬间变化,车是开不出来的)

注意:正则曲线并不要求单射,所以允许交叉

# 曲线的长度

那么考虑一下我们要如何计算曲线的长度

数学分析中我们已经非常熟悉了积分的概念:将一个量分割成无数个小份,然后将这些小份加起来
曲线的长度也可以用同样的思路来计算

我们想象一下在曲线上的一个点,它具有一个速度,那么在极短时间 Δt\Delta t 内,这个点大致会移动的距离就是

Δsc(t)Δt\Delta s \approx |\boldsymbol c'(t)| \Delta t

如果我们的时间间隔 Δt\Delta t 足够小,那么移动的方向误差就会无关紧要
此时 Δsds\Delta s \to ds,我们对其积分就可以得到

定义
对于可微曲线 c:[a,b]Rn\boldsymbol c: [a,b] \to \mathbb{R}^n,称

L(c)=abc(t)dtL(\boldsymbol c) = \int_a^b |\boldsymbol c'(t)| dt

为曲线 c\boldsymbol c长度 (length)

现在我们拥有了曲线的长度,我们可以进入整个曲线分析最核心的概念了:弧长参数化

首先简要讲解一下这是个什么东西

我们还是将曲线理解为一个路径,我们说要研究曲线可以举例是我们想研究我们设计的路径是否良好
想象你在这条路径上开车作为测试,你的轨迹 c(t)\boldsymbol c(t) 绘制出了曲线,我们需要通过你这个测试员给出的数据来研究这条路
那这个时候显然会有一个问题:你不太可能能做到任意时刻的开车速度都一致对吧,
你开车一会快一会慢的话会让我们非常难以分析这个路
所以我们就有了这个工具

首先我们需要通过计算你的轨迹来得到路径长度
接着我们需要按路径长来已某一个比例重新给曲线分配参数,用一个新的弧长参数 ss 来替换原本的时间 tt
这样一来,我们就可以保证你在这个新参数下开车的速度是恒定的

定义
正则曲线 c:[a,b]Rn\boldsymbol c:[a,b] \to \mathbb{R}^n
长度 l=L(c)l = L(\boldsymbol c)
定义映射

s:[a,b][0,l],tatc(u)dus: [a,b] \to [0,l],\ t \mapsto \int_a^t |\boldsymbol c'(u)| du

ss 为曲线 c\boldsymbol c弧长参数 (arc length parameter)
正则性给出 ss 单调递增,所以存在反函数 t:[0,l][a,b],st(s)t: [0,l] \to [a,b],\ s \mapsto t(s)
那么称新的曲线

c~:[0,l]Rn,sc(t(s))\tilde{\boldsymbol c}: [0,l] \to \mathbb{R}^n,\ s \mapsto \boldsymbol c(t(s))

为曲线 c\boldsymbol c弧长参数化 (arc length parameterization)

来看一下它是如何做到这一点的

命题
对于弧长参数化的曲线 \tilde

c~(s)=1|\tilde{\boldsymbol c}'(s)| = 1

且对于任意 s0[0,l]s_0 \in [0,l],曲线 c~[0,s0]\tilde{\boldsymbol c} |_{[0,s_0]} 的长度都为 s0s_0

证明

由链式法则,注意求导为对 ss 求导

c~(s)=c(t(s))t(s)\tilde{\boldsymbol c}'(s) = \boldsymbol c'(t(s)) \cdot t'(s)

由反函数求导公式

t(s)=1s(t(s))=1c(t(s))t'(s) = \frac{1}{s'(t(s))} = \frac{1}{|\boldsymbol c'(t(s))|}

所以

c~(s)=c(t(s))t(s)=c(t(s))1c(t(s))=1|\tilde{\boldsymbol c}'(s)| = |\boldsymbol c'(t(s))| \cdot |t'(s)| = |\boldsymbol c'(t(s))| \cdot \frac{1}{|\boldsymbol c'(t(s))|} = 1

另外,对于任意 s0[0,l]s_0 \in [0,l],由长度定义

L(c~[0,s0])=0s0c~(s)ds=0s01ds=s0L(\tilde{\boldsymbol c}|_{[0,s_0]}) = \int_0^{s_0} |\tilde{\boldsymbol c}'(s)| ds = \int_0^{s_0} 1 ds = s_0

所以我们可以看到,弧长参数化的曲线的切向量长度恒为 11,也就是说它的速度恒为 11
这就达到了我们想要的效果

今后我们对于曲线的所有的性质的研究,基本上来说都是基于弧长参数化的曲线进行的