大家好,我有 2 个与 Decasteljau 算法相关的问题,它们更多的是一般性问题,但如果我是对的,它可以帮助解决很多问题。这里是:
除非我们手动绘制曲线?如果我们知道曲线的顺序,我们可以轻松地为该曲线顺序形成伯恩斯坦多项式,并为给定的参数值计算点。因为当你展开 Decasteljau 时,你得到的是伯恩斯坦多项式?所以就像我说的,请帮助我弄错了吗?
是的,您可以修复一个参数(比如 U)并更改另一个参数 (V) 以生成 iso-U 曲线。
你可以看到这些东西,就好像你有一个 NxM 控制点数组。如果您在 U 上执行第一次插值(实际上是 M 个涉及 N 个控制点的插值),您将获得 M 个定义贝塞尔曲线的新控制点。通过改变 U,曲线在空间中移动。
使用 De Casteljau 算法是为了方便:它通过使用控制点之间的级联线性插值来计算插值。对伯恩斯坦多项式的直接评估需要预先计算系数,并且即使通过霍纳方案实现也不会更快,并且在数值上可能不太稳定。
De Casteljau 的算法也因其几何解释以及与细分过程的联系而受到赞赏:如果您只想为 Bezier 曲线的一部分构建控制点,De Calsteljau 提供了它们。