贝塞尔曲线

由控制点定义的平滑数学曲线,是字体、矢量图形和动画缓动函数的基础技术。

贝塞尔曲线(Bézier Curve)是由控制点定义的参数化平滑曲线,由法国工程师 Pierre Bézier 在 1960 年代为汽车车身设计而开发。如今它是字体渲染、矢量图形和 CSS 动画的核心数学基础。

按控制点数量分类:

De Casteljau 算法通过递归线性插值计算曲线上的点,是数值稳定的标准求值方法。

在图形编辑器中,钢笔工具通过放置锚点和调整控制手柄来绘制贝塞尔曲线。CSS 的 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) 定义了 Material Design 的标准缓动曲线。SVG 路径数据中的 CSQT 命令均为贝塞尔曲线指令。

贝塞尔曲线由法国汽车工程师 Pierre Bézier 于 1962 年为雷诺的车身设计而提出,如今已是字体 (TrueType、OpenType)、矢量图形 (SVG、Illustrator)、CSS 动画与游戏引擎的共同基础。按控制点数量可分为:二次 (Quadratic) 由起点、1 个控制点与终点共 3 点定义,对应 SVG 的 Q 命令;三次 (Cubic) 由起点、2 个控制点与终点共 4 点定义,PostScript、OpenType 与 SVG 的 C 命令均使用它。CSS 中 cubic-bezier(0.25, 0.1, 0.25, 1.0) 相当于 ease,表现为开始时缓慢加速、结束时减速的运动,可在 Chrome DevTools 的缓动编辑器中直观调节。

相关术语

相关文章