我必须编写一个函数,将立方贝塞尔(开始,结束,cp1,cp2)转换为简单的二次(开始,结束,cp1)实例(一个立方体可以转换为2个或更多个二次方)。
接受任何编码语言,我只需要算法。
答案 0 :(得分:4)
某些形状,如圆形,可以通过立方而非通过二次贝塞尔曲线得到足够的近似。所以从纯粹的数学角度来看,任务无法解决。
然而,当然可以使用一组分段二次贝塞尔近似单个立方贝塞尔曲线。每个二次方的点都位于立方的精确点上。通过某种优化方法(最小二乘法或类似的东西)找到的控制点,你试图最小化立方和二次贝塞尔之间的差异。答案 1 :(得分:0)
最后我决定用我自己实现它,使用lineto循环,类似于: http://www.paultondeur.com/2008/03/09/drawing-a-cubic-bezier-curve-using-actionscript-3/