曲率贝塞尔:让贝塞尔曲线更智能
Curvature Beziers

贝塞尔曲线是CAD和计算机图形学的基石,由Paul de Casteljau和Pierre Bézier在几十年前提出,至今仍是主流工具。尽管存在局限性,但作者提出了一种改进方案:通过直接操作曲率而非控制点,实现更直观、稳定的曲线编辑。文章揭示了传统贝塞尔曲线在平滑度上的误解,并引入曲率手柄概念,使编辑过程更符合用户直觉。这一方法不仅保留了现有技术的兼容性,还显著提升了曲线设计的灵活性与精确性。
试图用传统方式绘制平滑且直观的贝塞尔曲线,无异于徒劳。
- lioeters
正如另一条评论提到的,Raph Levien 就改进贝塞尔曲线这个话题发表过一些见解。
Simplifying Bézier paths (2023) https://raphlinus.github.io/curves/2023/04/18/bezpath-simpli...
Parallel curves of cubic Béziers (2022) https://raphlinus.github.io/curves/2022/09/09/parallel-bezie...
Fitting cubic Bézier curves (2021) https://raphlinus.github.io/curves/2021/03/11/bezier-fitting...
- adamschwartz
真是个了不起的资源。
我一直在开发一个矢量编辑器,默认使用平滑曲率绘制形状,并显示梳状图(comb)。[1] 除了文章中提到的四种点类型外,它还增加了一种新的“曲线”点类型。我还用同样的绘图功能制作了一个字体编辑器。[2]
这两个都是免费的静态 Web 应用,使用本地存储,并支持导入/导出 SVG 文件(字体编辑器还支持 OTF 文件)。
- peter_d_sherman
>“线性插值(即 lerp)可以总结为一个紧凑的公式,例如对于 4 个控制点 (A,B,C,D):
γ(t)=A⋅(1−t)^3+B⋅3(1−t)^2⋅t+C⋅3(1−t)t^2+D⋅t^3
规则很简单:(1−t) 的幂次递减,t 的幂次递增,系数取自帕斯卡三角形的第 n 行。
我以前从未见过贝塞尔曲线方程(更具体地说,是拥有 N 个控制点的曲线线性方程,也就是所谓的“绑定点”/“稳定点”/“固定点”/“不可移动点”等)与帕斯卡三角形之间的联系!
太棒了!
这篇文章也很棒!”