中文数学 Wiki
Advertisement

曲线论基本定理是微分几何中曲线论的最重要定理,它表明了一个曲线能够被其各阶曲率在相差一个刚体运动的意义下唯一决定,且给定曲率函数之后可以确定相差一个刚体运动下唯一确定的曲线。

内蕴参数[]

假设中的正则弧长参数曲线,那么它的弧长参数和个曲率在刚体运动(即第一类正交变换和平移的复合)下保持不变,且弧长参数和前个曲率在任意正交变换和平移的复合下保持不变,最后一个曲率在第二类正交变换下反号。

也正是因为这个原因,我们称弧长参数是内蕴参数,弧长参数和这几个曲率都是内蕴量或几何量。

唯一性定理[]

假设是定义在上的维弧长参数曲线,并假设它们的所有曲率对应相同,那么存在上的一个刚体运动使得
关于这个定理/命题的证明,单击这里以显示/折叠
我们仅需证明处的 Frenet 标架重合可以推得它们在任意点的 Frenet 标架重合这件事就可以,因为如果在处不重合,我们总可以做一个旋转让它们重合。

曲线的 Frenet 标架运动方程为 这是关于向量值函数的常微分方程组, 由常微分方程组解的存在唯一性定理可知,上述方程的初值条件相同可得到只能是唯一的,证毕。

存在性定理[]

假设,且前个函数恒正,那么存在定义在上的维弧长参数曲线, 它以各阶曲率。
关于这个定理/命题的证明,单击这里以显示/折叠

我们考虑关于个向量值函数的一阶常微分方程组 由常微分方程组理论,给定初值以及后方程组有唯一解满足 这里预先选择了一种的定向作为自然定向,上述初值的形成的定向与选定的定向一致。

我们下面要证明的是:是曲线的 Frenet 标架,引入记号 并令 对上式求导得到 上式表明满足一个齐次线性常微分方程组,在给定初值条件下这个方程组的解是存在唯一的,可以验证 是原方程组的一个解,由唯一性定理可知它是唯一解。因此我们证明了是正交标架,且由连续性 这说明与给定的定向同向。

由原微分方程可得 因此是弧长参数且继续考察剩余的方程可得分别是的第曲率。

程序实现[]

我们知道由上述定理的常微分方程组可以解出任意弧长参数的初值问题的曲线,但是这种方式只是理论上的,现实过程中我们要解一个阶的变系数常微分方程组,这并不是一件容易的事,因此可以借用程序来求解,这里以软件 Matlab 为例,以下的两个程序分别是方程组的函数句柄odefun2.m以及主程序showas.m

function dydt = odefun2(s, r, kappa)
n = length(kappa)+1;
mat = zeros(n*(n+1));
mat(1:n,n+1:2*n) = eye(n);
for idx = 2:n
    mat((idx-1)*n+1:idx*n,idx*n+1:(idx+1)*n) =  (kappa{idx-1}(s))*eye(n);
    mat(idx*n+1:(idx+1)*n,(idx-1)*n+1:idx*n) = -(kappa{idx-1}(s))*eye(n);
end
dydt = mat*r;
end
function [s r] = showas2(kappa, sspan)
if ~exist('sspan', 'var')
    sspan = [0, 10];
end
n = length(kappa)+1;
O = zeros(n);
E = eye(n);
r0(1:n) = O(:,1);
for idx = 1:n
    r0(idx*n+1:(idx+1)*n) = E(:,idx);
end
[s, r] = ode45(@(s, r) odefun2(s, r, kappa), sspan, r0');
if n==2
    plot(r(:,1), r(:,2), 'LineWidth', 2);
    axis equal
elseif n==3
    plot3(r(:,1), r(:,2), r(:,3), 'LineWidth', 2);
    axis equal
    xlim([-5,5]), ylim([-5,5]), zlim([-5,5]);
else
    plot(s, r(:,1:n), 'LineWidth', 2);
end
end

主程序的输入参数是函数句柄的 cell 类型数组,它的个分量是维空间中曲线的个曲率。

Advertisement