立方贝塞尔到二次方

时间:2012-12-17 10:03:59

标签: c++ actionscript-3 opengl bezier spline

我必须编写一个函数,将立方贝塞尔(开始,结束,cp1,cp2)转换为简单的二次(开始,结束,cp1)实例(一个立方体可以转换为2个或更多个二次方)。

接受任何编码语言,我只需要算法。

2 个答案:

答案 0 :(得分:4)

某些形状,如圆形,可以通过立方而非通过二次贝塞尔曲线得到足够的近似。所以从纯粹的数学角度来看,任务无法解决。

然而,当然可以使用一组分段二次贝塞尔近似单个立方贝塞尔曲线。每个二次方的点都位于立方的精确点上。通过某种优化方法(最小二乘法或类似的东西)找到​​的控制点,你试图最小化立方和二次贝塞尔之间的差异。

答案 1 :(得分:0)

最后我决定用我自己实现它,使用lineto循环,类似于: http://www.paultondeur.com/2008/03/09/drawing-a-cubic-bezier-curve-using-actionscript-3/