为什么大多数处理贝塞尔曲线的软件都集中在三次曲线上,而忽略了其他曲线阶数呢?

3

当你进入像Microsoft Office、LibreOffice和Blender这样的软件的Bézier曲线功能时,它们允许你创建和并置三次(又称为四阶或4个控制点)Bézier曲线。你可以点击并拖动创建两个点P0和P3并插值它们,凸包的最后两个控制点P1和P2通常被隐藏或显示为手柄。

  1. 为什么要关注三次(4个点)而不是二次(3个点)、五次(5个点)或更高阶曲线?

  2. 为什么将曲线阶数降低或提高被认为是无趣的?

  3. 当你复杂化你的曲线设计时,通常会将三次Bézier曲线连接在一起:这就是当你重复点击以添加点或细分时发生的情况。为什么很少有软件允许你一次定义所有N个控制点,然后用N阶Bézier曲线插值这些点?这将是一种基于约束的方法,与传统的“编辑”方法相对立(不确定如何表述)。

2个回答

1

加入三次样条(或低阶样条)的主要原因可能是为了保持控制点的“局部性”,即移动单个控制点仅影响曲线的一个段或最多两个段(如果是连接点)。这种局部性质在建模应用中非常理想。另一方面,高阶曲线给每个控制点带来更“全局”的效果。

我认为特别是三次样条可以在连接段时提供C^2连续性,从而在局部性和曲线灵活性之间取得最佳折衷。二次样条也是适用于某些问题的有用且宝贵的工具,但它只能在连接段时提供C^1连续性,这可能会限制复杂建模应用。


1

二次贝塞尔曲线允许曲线共享切线。但它们不会共享曲率。如果曲率不相等,高光和镜像效果将显示出丑陋的不连续性。当曲线用于控制相机路径或机器人轨迹时,曲率更加重要。立方贝塞尔曲线可以解决这个问题。

请注意,二次贝塞尔曲线在计算速度更有限的早期计算机图形学中得到广泛应用。例如TrueType字体Adobe Flash(驱动许多网站的动画包,直到大约十年前)依赖于二次贝塞尔曲线。

四次曲线由5个点定义;曲线将通过端点,并且其导数将由另外3个点控制。对于立方曲线,人们很快就能直观地感受到两个控制点的功能;对于四次曲线,移动一个内部控制点的确切后果更难猜测。当涉及更多点时,变形甚至更难控制。此外,涉及更多点的曲线的计算成本也会增加。

这些变形也是为什么人们不使用完全插值曲线的主要原因。在控制点之间,难以避免不必要的弯曲。

PS:你看过"贝塞尔曲线之美"了吗?例如,在6:18开始,解释了导数。9:07讨论了曲率。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接