1. 曲面数学基础重温:参数曲线与曲面的向量分析、切平面与法向量、曲率与挠率

各位同学,欢迎来到《自由曲面设计数学方法实战进阶》的第一章。

说实话,每次开课我都在想,要不要直接从NURBS讲起?但经验告诉我——不行。我见过太多工程师,曲面调了三年,连法向量方向都搞反,结果加工出来全是废品。所以这一章,咱们把底子打牢。

你可能会问:“这些数学我都学过,为什么还要重温?”嗯,因为学校里学的和工程里用的,完全是两码事。今天我就用实战的视角,带你把参数曲线曲面的核心概念再过一遍。

1.1 参数曲线:从位置到速度再到加速度

一条三维曲线,我们通常写成 r(t) = (x(t), y(t), z(t))。t是参数,可以是时间,也可以是弧长。

我个人习惯把t想象成“时间”。那么:

  • r(t) —— 位置向量,告诉你点在哪儿
  • r'(t) —— 速度向量,告诉你往哪儿走、多快
  • r''(t) —— 加速度向量,告诉你方向怎么变

举个例子,一个简单的螺旋线:

r(t) = (cos t, sin t, t)
r'(t) = (-sin t, cos t, 1)
r''(t) = (-cos t, -sin t, 0)

我在做叶片曲面逆向时,经常用这个公式检查曲线光顺性。如果速度向量突变,那曲面肯定有褶皱。

实战技巧: 检查曲线质量时,别只看位置。把速度向量画出来,看它是否连续变化。我习惯用“梳状图”来可视化曲率,后面会细讲。

1.2 切平面与法向量:曲面的“地基”

曲面比曲线复杂一个维度。参数曲面写成 S(u,v) = (x(u,v), y(u,v), z(u,v))。

在曲面上任意一点,有两个偏导数:

  • Su —— u方向的切向量
  • Sv —— v方向的切向量

这两个向量张成的平面,就是切平面。它们的叉积,就是法向量:

n = Su × Sv

为什么要算这个?我告诉你一个真实案例。有一次我做汽车A级曲面,供应商给的模型法向量方向反了,结果CAM加工时刀具直接撞上去。嗯,从那以后,我每次拿到曲面第一件事就是检查法向量方向。

避坑指南: 法向量方向取决于u、v的排列顺序。交换u、v,法向量会反向。我曾经因为这个问题,让整个团队多花了三天时间排查。记住:统一约定比什么都重要。

1.3 曲率与挠率:曲线弯曲的“度量”

曲率κ描述曲线弯曲的程度,挠率τ描述曲线扭曲的程度。对于弧长参数化的曲线,公式很简洁:

κ = |r''(s)|
τ = (r'(s) × r''(s)) · r'''(s) / κ²

但在工程中,我们很少用弧长参数。更常用的是:

κ = |r'(t) × r''(t)| / |r'(t)|³

为什么曲率这么重要?你想想看,在自由曲面设计中,曲率连续(G2连续)是高级曲面的基本要求。如果曲率突变,反射光就会扭曲,这在汽车外板、手机外壳上完全不能接受。

连续等级 数学含义 工程表现
G0 位置连续 有接缝,肉眼可见
G1 切向连续 光顺,但反射有折线
G2 曲率连续 反射光连续,高级曲面
G3 曲率变化率连续 超跑、航空级曲面

我建议你在做曲面拼接时,至少保证G2连续。G1虽然简单,但做出来的产品总感觉“差点意思”。

1.4 知识体系总览

下面这张图,把本章的核心概念串起来了。你可以把它当作一个“思维导图”,随时回来对照。

曲面数学基础:知识体系 参数曲线与曲面 参数曲线 r(t) 位置 r(t) 速度 r'(t) 加速度 r''(t) 参数曲面 S(u,v) 切向量 Su, Sv 切平面 法向量 n 曲率 κ 与 挠率 τ 曲率 κ:弯曲程度 挠率 τ:扭曲程度 G0/G1/G2/G3 连续 核心:曲率连续(G2)是高级自由曲面的基本门槛 法向量方向统一约定,避免CAM加工事故

1.5 实战中的“坑”与“道”

最后,我分享几个实战经验:

  1. 参数化要均匀:参数分布不均匀,会导致曲率计算失真。我习惯用弦长参数化,简单可靠。
  2. 法向量要归一化:计算光照、碰撞检测时,单位法向量是标配。别偷懒。
  3. 曲率梳状图是你的好朋友:别只看数值,把曲率画出来,一眼就能看出问题。

本章小结:

  • 参数曲线:位置→速度→加速度,对应几何直观
  • 参数曲面:切向量→切平面→法向量,构成局部坐标系
  • 曲率与挠率:衡量曲线弯曲和扭曲的定量指标
  • 连续等级:G0→G1→G2→G3,逐级提升曲面品质