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加工时刀具直接撞上去。嗯,从那以后,我每次拿到曲面第一件事就是检查法向量方向。
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 知识体系总览
下面这张图,把本章的核心概念串起来了。你可以把它当作一个“思维导图”,随时回来对照。
1.5 实战中的“坑”与“道”
最后,我分享几个实战经验:
- 参数化要均匀:参数分布不均匀,会导致曲率计算失真。我习惯用弦长参数化,简单可靠。
- 法向量要归一化:计算光照、碰撞检测时,单位法向量是标配。别偷懒。
- 曲率梳状图是你的好朋友:别只看数值,把曲率画出来,一眼就能看出问题。
本章小结:
- 参数曲线:位置→速度→加速度,对应几何直观
- 参数曲面:切向量→切平面→法向量,构成局部坐标系
- 曲率与挠率:衡量曲线弯曲和扭曲的定量指标
- 连续等级:G0→G1→G2→G3,逐级提升曲面品质