计算机辅助几何设计中的曲线与曲面发展史
计算机辅助几何设计中的曲线与曲面发展史
CAGD从工业需求中诞生,经Bézier、B样条到NURBS演进,历史逻辑对评估新几何方法仍有价值。
本文梳理了计算机辅助几何设计(CAGD)的学科演进:它由航空航天与汽车工业的数字化需求驱动,而非纯数学研究。Bézier曲线以控制多边形提供直观交互,B样条通过局部支撑解决局部编辑问题,NURBS则统一了圆锥曲线与自由曲线,成为工业数据交换标准。曲面方面,张量积方法主导CAD内核,细分曲面以拓扑灵活性补充数字内容创作。文章指出,理解这段历史中为何选择多项式、强调数值稳定性和局部控制,有助于判断隐式表示与机器学习等新方法的适用边界。
计算机辅助几何设计(CAGD)是现代工业设计与制造的数字基石。从汽车车身到飞机机翼,从字体轮廓到动画角色,曲线与曲面的数学表达支撑着这一切。一篇综述性PDF《A History of Curves and Surfaces in Computer Aided Geometric Design》在Hacker News上引发关注,尽管讨论寥寥,但其梳理的学科脉络值得深入解读。
从工程需求中诞生的学科
CAGD并非纯数学的产物,而是被工业界“逼”出来的。20世纪中叶,航空航天与汽车工业对复杂外形零件的精确描述需求激增。传统绘图板无法满足自由曲面的数字化定义,工程师们开始寻找可计算的数学表示。
这一背景下,曲线曲面的研究从几何学家的书斋走向了生产线。早期贡献者往往兼具数学与工程背景,他们的目标很明确:用尽可能简洁的数学形式,描述尽可能丰富的形状。
Bézier、B样条与NURBS的演进
Bézier方法的工程直觉
Pierre Bézier在雷诺汽车公司的工作奠定了de Casteljau算法与Bézier曲线的实用基础。这种用控制多边形定义曲线的方式直观、稳定,迅速成为交互式设计的首选。其核心优势在于:设计师只需移动控制点,曲线便以可预测的方式响应。
de Casteljau算法是Bézier曲线求值的数值稳定方法,由Paul de Casteljau在雪铁龙公司工作时提出。它通过递归线性插值构造曲线上的点,每一步都是相邻控制点的凸组合,避免了高次多项式直接求值带来的数值不稳定。该算法不仅用于快速绘制曲线,还是曲线分割、求导和升阶的基础,至今仍是CAD内核中Bézier曲线处理的核心例程。
B样条的局部控制
Bézier曲线的一个局限是缺乏局部修改能力——移动一个控制点会影响整条曲线。B样条(B-spline)通过基函数的局部支撑解决了这一问题,使复杂曲线的分段编辑成为可能。de Boor算法则为B样条的数值稳定求值提供了保障。
B样条基函数的局部支撑意味着每个控制点只影响曲线的一段区间,其影响范围由节点向量(knot vector)决定。节点向量是一组非递减参数值,决定了基函数的形状与连续性;通过调整节点重复度,可以控制曲线在连接处的光滑阶数。这一机制使B样条既能保持整体光滑,又允许局部编辑,是NURBS和现代CAD系统参数化设计的数学基础。
NURBS的统一框架
非均匀有理B样条(NURBS)将圆锥曲线与自由曲线纳入同一数学框架,成为工业标准。从IGES到STEP,从CAD软件到渲染引擎,NURBS至今仍是几何数据交换的通用语言。
IGES(初始图形交换规范)和STEP(产品模型数据交换标准)是工业界广泛采用的几何数据交换格式,二者都支持NURBS曲线曲面的精确表示。IGES诞生较早,主要用于CAD系统间的图形数据传递;STEP则更为全面,覆盖产品全生命周期数据。NURBS之所以成为这些标准的核心几何表示,是因为它既能精确描述自由曲面,又能表示圆锥曲线等解析形状,避免了格式转换中的精度损失。
从曲线到曲面:张量积与细分方法
曲面是曲线概念的自然延伸。张量积Bézier曲面与B样条曲面通过两个方向的曲线网络定义曲面片,构成了大多数CAD系统的内核。
细分曲面(subdivision surfaces)则提供了另一条路径。从Catmull-Clark到Loop细分,这类方法以递归规则生成光滑曲面,在动画与数字内容创作中尤为流行。它们牺牲了精确的解析表达,换来了拓扑灵活性。
Catmull-Clark细分和Loop细分是两种经典的细分曲面方案。Catmull-Clark基于四边形网格,通过面点、边点和顶点的加权平均生成新顶点,适用于任意拓扑的网格;Loop细分则针对三角形网格设计,同样以递归规则生成光滑极限曲面。二者都牺牲了NURBS的精确解析表达,换取了处理任意拓扑(如非规则连接、孔洞)的能力,因此在动画建模和数字内容创作中成为主流选择。
历史回顾的当代意义
这篇历史综述的价值不仅在于怀旧。当下,隐式表示、机器学习驱动的几何生成正在挑战传统参数化方法。理解CAGD的演进逻辑——为何选择多项式、为何强调数值稳定性、为何局部控制如此重要——有助于判断新方法的适用边界。
Hacker News上仅6个points、0条评论的冷清反应,或许说明这一话题在开发者社区中仍属小众。但对于从事CAD、图形学或几何处理的工程师而言,这段历史是理解现有工具设计哲学的钥匙。
要点总结
- CAGD由航空航天与汽车工业的数字化需求驱动,是工程与数学交叉的产物。
- Bézier曲线提供直观控制,B样条引入局部支撑,NURBS统一了圆锥曲线与自由曲线。
- 张量积曲面主导CAD内核,细分曲面在数字内容领域补充了拓扑灵活性。
- 回顾历史有助于评估机器学习等新方法在几何表示上的潜力与局限。
相关推荐

零成本搭建AI超级员工系统:智能体自动工作流全解析
深度拆解B站演示的AI超级员工系统:Agent智能体编排、数字人口播、地图与企业获客、24小时智能客服及法务模块全覆盖。分析零成本开户背后的商业逻辑与合规风险,帮助创业者判断这套AI数字员工系统的真实投产比。

Chatbot与AI Agent的本质区别:从对话到执行的跨越
Chatbot和AI Agent有什么区别?本文基于Learn Tech频道的MCP系列讲解,用订机票、笔记摘要等实例说明:Chatbot只给答案,Agent通过思考-行动-观察循环真正完成任务,并拆解模型、工具、记忆、目标四大部件及MCP的桥梁作用,同时讨论Agent的适用边界与权限风险。

免费GitHub仓库:342小时AI课程,从数学到MCP服务器
一个免费GitHub仓库提供342小时AI课程,包含523节课、20个阶段,覆盖数学基础到Agent构建和MCP服务器。支持目标驱动学习,每节课产出可留存的prompt、skill或agent,已有近10万人开始学习。