如何用wxPython给出四点的bezier曲线?

时间:2010-02-27 02:53:20

标签: python wxpython bezier spline

在我看来,DC仅支持任何类型的曲线都是使用样条曲线。是否有任何库可以添加贝塞尔曲线功能,或者有没有办法将贝塞尔曲线转换为样条曲线?

2 个答案:

答案 0 :(得分:2)

给定4个控制点,相关的三次贝塞尔曲线的公式为not hard to compute。计算曲线上的一组点后,可以使用DC.DrawLines绘制它。

有一个python实现用于计算广义Bezier曲线上的点(无耻插件)here。在某种意义上,它可以接受任意数量的控制点(> 2)作为make_bezier的输入。如果您只想要4控制点版本,则可以完全删除pascal_row并替换

combinations=pascal_row(n-1)

combinations=(1,3,3,1)

答案 1 :(得分:1)

经过一番谷歌搜索后,我想我会选择支持wx.GraphicsContextwx.GraphicsPath。除了抗锯齿(根据this page

之外,它似乎完全符合我的需要