将N点贝塞尔曲线转换为多三次贝塞尔曲线

  • 本文关键字:曲线 三次 转换 bezier cubic
  • 更新时间 :
  • 英文 :


我有一条贝塞尔曲线,大约有48个控制点,我想把它转换成许多三次贝塞尔曲线…任何算法,数学理论或只是一个链接可能会有所帮助:)??

数学理论:你不能这么做。一条n阶Bezier曲线不能被表示为任意数量的(n-1)条n阶Bezier曲线,因为曲率不能被忠实地表示。你可以近似它,但你不会得到相同的结果。

实践:你可以将你的第48阶曲线切割成简单曲线的部分,其中所有的控制点都在开始/结束基线的同一侧,曲线的中点w.r.t你的控制变量大致在曲线的凸包的中心。对于这种曲线,低水平曲线是合理的近似值。您可以通过使用48阶曲线的一阶、二阶等导数根找到曲线上的拐点(参见http://pomax.github.io/bezierinfo/#derivatives和http://pomax.github.io/bezierinfo/#splitting),然后运行de Casteljau的算法,在每个拐点的控制变量值之间分割曲线来实现这一点。然后,您可以用三次曲线近似每个结果子曲线,结果将看起来非常接近(或在像素级别上看起来相同)原始曲线。

也就是说:为什么你有48阶曲线,这太疯狂了= p

相关内容

  • 没有找到相关文章

最新更新