计算几何模型 — 从多项式插值到散乱数据拟合

计算几何模型 — 从多项式插值到散乱数据拟合

椿咲璃音 Lv2

主讲人:复旦大学数学科学学院 曹沅


插值问题的提出

问题 1(型值点插值). 已知平面上的有序点列

假设

求平面上的连续曲线 ,要求 通过 ,即 。

这是函数插值问题:已知的信息只是有限个点,要求补全为一条整体的连续曲线。

问题 2(函数逼近意义下的插值收敛性). 已知平面上的曲线函数 ,,在 上取有序点列 ,求平面上的连续曲线函数 ,使 按序通过点 ,且满足

也就是说,我们不仅要求插值曲线通过给定点,还希望当采样点越来越密时,插值曲线能够一致收敛到原始曲线 。这是衡量一个插值方法"好坏"的核心标准。


多项式插值

直接待定系数法

最自然的想法是用一个 次多项式函数去拟合 个点:

由插值条件

得到关于系数 的线性方程组:

写成矩阵形式:

系数矩阵是 Vandermonde 矩阵,其行列式为

当 (即节点两两不同)时,行列式非零,因而线性方程组有唯一解。解出 ,便得到所要求的 次插值多项式 。

这种方法概念简单,但需要求解一个 的线性方程组,当 较大时计算量大、数值不稳定(Vandermonde 矩阵条件数很差)。因此人们更常用下面的 Lagrange 显式表达式。

Lagrange 插值公式

定理(Lagrange 插值). 通过点 (节点两两不同)的 次插值多项式可以直接写为

其中 称为 Lagrange 基函数:

验证插值性质: 将 代入 ,可得

这是因为当 时, 的分子中含有因子 ,代入 后该因子为零;而当 时,分子分母完全相同,故比值为 1。由此立即验证

对任意 ,插值曲线 均可用此公式直接计算,无需求解线性方程组。

Lagrange 插值的缺陷:Runge 现象

Lagrange 插值虽然表达式简洁,但存在明显缺点:

计算不稳定: 节点数增多时多项式次数随之升高,插值曲线容易发生剧烈振荡;这就是所谓的 Runge 现象。

Runge 在研究多项式插值时发现,节点取得越多,插值多项式未必越精确。著名的反例是

当采用等距节点做高次多项式插值时,插值函数在区间两端会发生剧烈的振荡,误差随次数增高反而增大。其根本原因在于高次多项式的系数对数据的微小扰动(包括舍入误差)极其敏感,且等距节点的 Lebesgue 常数随 指数增长。

插值收敛性的数学提法

为了得到稳定、可控的插值方法,我们把"好的插值方法"用如下数学语言精确表述:

设 是任一被插值函数。取节点 。求 ,使得

且当 (节点越取越多、越取越密)时,

进一步地,如果 (,即 具有到 阶的连续导数),我们希望 (,),并且各阶导数也同时一致收敛:

样条函数的产生动机: 高次多项式插值虽然连续性好(),但数值不稳定;要消除 Runge 现象、获得数值稳定性,一个自然的想法是适当降低整体的光滑性(连续阶数),换取数值上的稳定性——即不用单一的高次多项式,而是用分段低次多项式并在分段点处满足有限阶的连续性条件。这就是样条函数的基本思想。


三次样条插值

物理背景

样条(spline)一词来自制图工艺中使用的富有弹性的木条或钢条("压铁样条")。将其固定在若干型值点上任其自然弯曲,得到的曲线在工程制图中被认为是最"光顺"的曲线。根据对木样条的力学分析(细梁的小挠度弯曲方程),在忽略高阶小量的假设下,木样条在两个约束点之间近似满足三次多项式关系。这就是三次样条函数的物理来源。

记号与问题的提出

设分割

  • 节点: ;
  • 内节点: ;
  • 个小区间: ,记 。

目标: 寻找 上的函数 ,使得

  1. 在每个小区间 上都是次数不超过 3 的多项式;
  2. 在所有内节点处达到 连续(即 均连续);
  3. (插值条件)。

这样的 就称为三次样条插值函数。

用二阶导数 表示

设 在节点 处的二阶导数为

在小区间 上,已知端点数据:

共 4 个条件(两个函数值、两个二阶导数值),恰好可以唯一确定一个 3 次多项式。

第一步:由 得到 。

因为 在 上是三次多项式,所以 在该区间上是关于 的线性函数。利用两点式,满足 , 的线性函数为

第二步:积分两次得到 。

对上式积分一次:

再积分一次,并把积分常数写成有对称结构的形式(即用两个待定常数代替一个):

这里之所以能够用 代替一次多项式 ,是因为 与 张成同一个一次多项式空间,这样写是为了后面代入端点条件时形式对称、简洁。

第三步:由插值条件确定 。

代入插值条件 ,:

当 时,,,故

同理,当 时,

第四步: 的显式表达式。

对其求导,得到一阶导数:

矩阵形式: 上述表达式可以整理为幂基下的矩阵乘积形式,便于编程实现:

到这里, 的表达式已经完全由 (已知)和 (未知)确定。现在问题归结为如何求得 。

连续性方程

以上构造保证了 在每个小区间上是三次多项式,且 在内节点处自动连续(因为两侧的表达式都以 为公共端点值)。尚未使用的条件是 在内节点处的连续性,这将给出确定 的方程。

要求:

在 上代入 (即 ,):

在 上代入 (即 ,):

令两者相等:

移项整理:

归一化: 两边同乘 ,并记

上式化为标准的三对角形式:

这给出 个方程,但未知数是 ,共 个,方程数比未知数少 2 个。缺少的两个条件需要由边界条件补充。

边界条件

在两端点 处,需要额外给定一阶或二阶导数信息,常见有三种类型:

I 型边界条件(给定一阶导数,即"固支"边界):

将 代入区间 上 的表达式:

同理在 上代入 :

整理后即可得到关于 与 的两个附加线性方程。

II 型边界条件(直接给定二阶导数):

特别地,当 时,称为自然边界条件,所得样条称为自然三次样条函数——此时样条曲线在两端的曲率为零,趋于"平直",这也是物理样条自由端的真实状态(木条两端不受外力弯矩)。

III 型边界条件(一般/周期型边界条件): 直接给定形如内部方程结构的两个关系式:

这种写法也称为一般边界条件,因为适当选取 可以把 I 型、II 型边界条件都统一表示成这个形式,从而在理论分析与程序实现中可以只处理一种统一的线性方程组结构。

方程组的求解

以 III 型边界条件为例,把边界方程与内部的连续性方程放在一起,得到关于 的完整线性方程组:

写成矩阵形式:

可解性: 由 ()以及对角元恒为 2,可知系数矩阵每一行都满足

即系数矩阵是严格对角占优的三对角矩阵。严格对角占优矩阵必非奇异(这是 Gershgorin 圆盘定理的直接推论),因此方程组的解存在且唯一。

数值解法: 由于系数矩阵是三对角矩阵,可以用高斯消元法的特殊形式——**追赶法(Thomas 算法)**求解,计算量仅为 ,远优于一般线性方程组的 。

三次样条函数的基表示

正如 Lagrange 插值把插值多项式写成基函数的线性组合一样,三次样条函数也可以写成基样条函数的线性组合,从而避免每次都要重新解三对角方程组。

对于 I 型边界条件,样条函数可写为:

对于 II 型边界条件,样条函数可写为:

其中 (及 )是仅依赖于节点分割 而与具体数据 无关的基样条函数,它们满足类似 Lagrange 基函数的插值性质。这种表示称为三次样条函数的基样条表示。它的优点是:一旦节点分割给定,基函数只需计算一次;对不同的数据 ,样条函数就是这些基函数的线性组合,不必重新求解线性方程组。


B 样条曲线

在上面的基样条表示的启发下,可以进一步发展出更一般、局部性更好的样条表示方式——B 样条(B-spline)。

已知 个控制点:

依次用直线段连接相邻控制点,所得折线称为控制多边形。

给定次数 ,以及非降的节点序列(节点向量):

则 次 B 样条曲线定义为:

注意: 这里是控制点 (可以是空间中的向量),而不是型值点上的函数值 ——B 样条曲线一般并不通过控制点,而是被控制多边形"逼近/引导",这一点与前面三次样条插值有本质区别。

其中 是 次 B 样条基函数,由如下 Cox–de Boor 递推公式定义:

B 样条基函数具有以下重要性质,使其在曲线设计中远比全局的 Bézier/多项式方法灵活:

  • 局部支集: 只在 上非零,因此移动一个控制点只会影响曲线的局部形状;
  • 非负性: ;
  • 单位分解性: (在有效参数区间内),从而曲线 落在控制多边形的凸包内;
  • 光滑性: 若节点无重复, 具有 连续性;节点处的重数越高,光滑阶数越低。

三次样条插值可以看作是节点处于插值型值点、且带有插值约束的特殊 B 样条情形,二者思想一脉相承。


三次样条函数的性质

以下三个定理说明了三次样条插值(尤其是自然样条)在理论上的最优性,回答了"为什么样条比高次多项式更好"的问题。

定理 1(极小模性质). 设 是 的一个分割, 是任一被插值函数(即 )。 是分割 上的自然插值三次样条函数(即 ,且 ),则

等号成立当且仅当 。

几何意义: 曲线 的曲率为

当 (曲线接近水平、斜率很小)时,有近似

类似地 的曲率 。因此定理 1 的不等式,在积分(能量)的意义下,表明 的曲率不超过 的曲率,即 的曲率半径不小于 的曲率半径——也就是说,在所有通过给定型值点的插值曲线中,自然三次样条是"弯曲能量"(即弯曲势能 ,正比于细梁弯曲能量)最小的曲线,最符合物理样条"最省力、最平顺"的自然状态,这正是"样条"一词的由来。

定理 2(最佳逼近性质). 设 是 的一个分割,。设 是 上带有斜率边界条件(I 型边界条件,且斜率取自 本身)的插值三次样条函数,即

设 是分割 上任意满足 的三次样条函数,则

即在所有满足同样插值条件的三次样条函数中,(用真实斜率作为边界条件)在二阶导数(曲率)的 意义下是对 的最佳逼近。

定理 3(误差估计). 设 是 的一个分割,。 是关于 的、带 I 型或 II 型边界条件的插值三次样条函数,则对 ,有

其中

(此即经典的 Hall–Meyer 误差估计。注意函数值误差是 阶的,这正是三次样条相比分段线性插值()精度大幅提升的原因;同时误差与 的大小成正比,与高次多项式插值不同,这里的界不依赖节点个数 的高次幂,因而不会出现 Runge 现象那样的振荡发散。)


参数曲线样条

前面第一至五节讨论的都是"函数型"插值,即假设 ,每个 对应唯一的 。但很多平面曲线(例如"打圈"的曲线、自相交曲线)无法写成 的形式。为处理这种一般情形,需要引入参数曲线样条。

问题: 已知平面上的有序点列 ,不再假设 (点列可以任意顺序分布,曲线可以自交、打圈)。求平面上的连续曲线 ,要求 依次通过 。

解决思路:引入参数 ,把 都看成 的函数分别插值。

常用的做法是累加弦长参数化:用相邻两点间的直线段长度(弦长)近似曲线弧长,累加得到每个型值点对应的参数值。

记相邻两点间的弦长:

弦长总和:

定义各型值点处的参数值:

参数范围为 ,且 (严格递增,这正是前面函数型插值所需要的条件!)。

(也可以将参数单位化到 :,则 。)

于是每个型值点变为三元组 ,其中 严格递增。

分别对 与 做前述的三次样条插值,得到两条以 为自变量的样条函数

满足

于是参数样条曲线

就是依次通过所有 的连续曲线,且不再要求 坐标单调,从而可以描述打圈、自交等复杂曲线。

空间曲线()的插值问题可以完全类似地处理:对 、、 分别做三次样条插值。但由于弦长参数化在三维空间中对曲率、挠率变化剧烈的曲线近似误差更大,所以处理效果一般不如平面曲线理想。


Hermite 插值

三次样条插值中, 是通过整体线性方程组间接求出的(依赖所有型值点),这带来了"全局性"——修改一个型值点会影响整条曲线。Hermite 插值则换一个角度:直接在每个型值点处指定一阶导数值,从而可以做到分段独立构造(每一段只依赖该段两端的信息,具有更好的局部性)。

问题: 已知平面上的有序点列 ,假设

并已知在 处的一阶导数值 。求平面上的连续曲线 ,满足

构造思路: 在每个小区间 上,共有 4 个条件————恰好唯一确定一个三次多项式(与三次样条插值中用 确定三次多项式的思路完全类似,只是这里用一阶导数代替二阶导数作为附加条件)。

利用三次 Hermite 基函数直接构造,可以验证:在 上,

其中 ,。

验证要点:

  • 代入 :第一、二项含因子 或 中的 均为零,只剩第三项 ,第四项含 ;故 ,同理 。
  • 对 求导并代入端点,可验证 ,(读者可自行展开验证)。

由于每一段的三次多项式只依赖该段端点处的 值,Hermite 插值天然是 连续的分段构造,比三次样条更"局部",但代价是需要额外提供导数信息 (工程中常用相邻弦的斜率或有限差分近似给出)。


曲线的最小二乘逼近

前面讨论的都是插值问题:要求曲线严格通过所有数据点。但当数据点很多、且带有测量噪声时,严格插值反而会拟合噪声、产生振荡,这时更合理的做法是逼近(拟合):只要求曲线在某种整体误差度量下"最接近"数据点,不必精确通过每一个点。

多项式最小二乘逼近

设逼近曲线为 次多项式(,见下):

取平面上 个数据点 ,其中数据点个数 远大于多项式的自由度 (即 ),因此一般无法要求曲线精确通过所有点。

定义残差平方和:

我们要求

最小二乘法: 令 关于每个 的偏导数为零(这是 取极小值的必要条件,且 是关于 的凸二次函数,故驻点即为全局最小点):

将 代入并展开,得到

写成矩阵形式:

这一线性方程组称为法方程(正规方程,normal equations)。解得 ,即得所求的最小二乘逼近多项式。

一般基函数系下的最小二乘逼近

多项式基 只是众多可能的基函数系之一,一般情形下可以用任意一组线性无关函数系来逼近。

设 为 上一组线性无关的函数,要求用它们的线性组合

来逼近平面上给定的数据点 (,)。

同样定义残差平方和:

对 求偏导数并令其为零:

即

记

则法方程可写为

矩阵形式:

由 (求和顺序可交换)可知系数矩阵是对称矩阵。

特别地,如果 关于离散点集 构成正交系(即 ),则 ,系数矩阵退化为对角阵,此时

各系数可以独立、直接算出,无需求解线性方程组——这正是选用正交多项式(如 Chebyshev 多项式、Legendre 多项式)作基函数进行最小二乘拟合的根本原因。

加权最小二乘逼近

若不同数据点的可信度不同(例如测量精度不同),可以引入权因子 ,定义加权残差平方和:

权重越大的点,在拟合中被赋予越高的重要性(迫使曲线更贴近该点)。

同样对 求偏导数并令其为零:

令

则法方程与矩阵形式和无权重情形完全相同:

取 即退化为一般基函数系的普通最小二乘情形,两者是统一的框架。


曲面插值问题

将曲线插值推广到二元函数(曲面)上,最直接的方式是利用直积(张量积)结构。

双三次样条函数 由一元三次样条函数的直积构成:本质上仍是(两次)一元曲线问题的叠加,只是需要特别注意型值点必须分布在矩形网格点上(而不能是散乱点)。

设平面上的网格分割:

已知网格节点处的型值点(函数值):

要求在矩形区域 上构造曲面 ,满足插值条件

构造思路(直积法): 先沿 方向对每一行 固定时的数据 做一元三次样条插值,得到一族依赖参数 的样条曲线;再沿 方向对样条系数(如 或基函数系数)做插值,即可将一元三次样条的基表示

自然地推广为二元的张量积形式:

其中 、 分别是对应 、 方向节点分割的一元三次样条基函数。这样构造出的曲面在每个网格小矩形 上是关于 的双三次多项式(即形如 ),并在网格线上保持相应阶数的连续性。

这种方法结构简单、计算量小(可以逐行逐列地用一维追赶法求解),但要求数据必须分布在矩形网格上,这是它的局限所在。


散乱数据插值方法

实际应用中(如地形测绘、气象观测、有限元后处理等),数据点往往不在规则网格上,而是任意散布在平面区域内(散乱数据,scattered data)。这时直积法不再适用,需要专门的散乱数据插值方法。

问题: 给定平面上的区域 ,给定 中的 个点

已知各点处的函数值 。要求构造定义在 上的函数 ,,满足插值条件

Shepard 方法(反距离加权法)

基本思想:某一点 处的插值应主要由离它最近的数据点决定,距离越远的数据点权重应越小。

对任意 ,记该点到各数据点的欧氏距离:

定义 上的插值函数:

其中权函数为

基本性质:

  • 单位分解性: 由权函数定义直接可得

    因而 是所有 的凸组合,取值落在 与 之间。
  • 插值性: 当 时,,权重 、其余 (因为 而其余项有界),配合 处的特殊定义 ,可验证 在每个数据点处连续且 。

Shepard 方法实现简单、计算量小(对每个新点只需 次运算),但其插值曲面在数据点附近容易出现"平顶"或"凹坑"现象(因为在数据点处 的梯度通常为零),光滑性不如样条方法。

推广到向量场情形

Shepard 方法可以直接推广到向量值函数(例如有限元中的位移场插值)。

给定区域 ,给定点集 ,已知各点处的向量值 。要求构造定义在 上的向量函数 ,,满足

对任意 ,记

定义 上的向量值插值函数:

其中权函数 的定义与标量情形完全相同。由于各分量权重相同,这相当于对向量的每个分量分别做一次标量 Shepard 插值。

Hardy 插值方法(多二次曲面法,MQI)

Shepard 方法的权函数是分片有理函数,整体光滑性较差;Hardy 提出的多二次曲面法(Multiquadric Interpolation, MQI)通过引入光滑的径向基函数来改善这一点,是径向基函数(RBF)插值方法的早期代表。

设插值函数取如下径向基函数的线性组合形式:

其中基函数为

是可调节的正常数(形状参数), 越大基函数越"平缓"。由于 是 的光滑函数(不同于 Shepard 权重在数据点处不可导),Hardy 插值得到的曲面整体光滑性更好。

求解待定系数 : 由插值条件 ,代入得到关于 的线性方程组:

系数矩阵的对称性: 容易验证

(因为欧氏距离本身对称:),所以插值方程组的系数矩阵是对称矩阵。

事实上可以进一步证明该系数矩阵(Hardy 矩阵)是正定的(当 两两不同时),因此方程组存在唯一解 ,代回即得到插值位移向量函数 。

与 Shepard 方法相比,Hardy 方法(及一般的径向基函数方法)需要求解一个 的稠密线性方程组(计算量更大,当 很大时通常需要局部化或快速多极子等加速技术),但换来的是更好的整体光滑性和逼近精度,因此在散乱数据曲面重建、变形场插值等工程问题中被广泛使用。


内容小结

方法 适用场景 光滑性 是否插值 主要求解手段
Lagrange 多项式插值 少量点、理论分析 (全局) 是 直接公式,但数值不稳定(Runge 现象)
三次样条插值 有序型值点 (分段三次) 是 三对角方程组(追赶法)
B 样条曲线 曲线/曲面设计,控制点驱动 可调() 一般不插值,逼近控制多边形 递推基函数
Hermite 插值 已知导数信息、需要局部性 (分段三次) 是 逐段直接构造,无需解方程组
参数样条 打圈/自交曲线、空间曲线 同三次样条 是 弦长参数化 + 三次样条
多项式/一般基最小二乘 大量带噪声数据 由基函数决定 否(整体拟合) 法方程
双三次样条 网格型曲面数据 是 一元样条的直积
Shepard 法 散乱数据,快速插值 数据点处不光滑 是 反距离加权,无需解方程组
Hardy(MQI)法 散乱数据,要求光滑曲面 全局光滑 是 稠密对称正定线性方程组

说明: 原始笔记中定理 3 常数 处笔误为 ,按照三次样条误差估计的经典结果(Hall–Meyer 定理)已订正为 。

完整讲义

  • Title: 计算几何模型 — 从多项式插值到散乱数据拟合
  • Author: 椿咲璃音
  • Created at : 2026-08-09 17:00:00
  • Updated at : 2026-09-24 12:44:04
  • Link: https://jackerytu.github.io/2026/08/09/计算几何模型/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments