【发布时间】:2010-02-27 02:53:20
【问题描述】:
在我看来,DC 对任何类型曲线的唯一支持是样条曲线。有没有添加贝塞尔函数的库,或者有没有办法将贝塞尔曲线转换为样条曲线?
【问题讨论】:
-
嗯...你想做什么? Asymptote 在图形方面非常出色。签出:asymptote.sourceforge.net/gallery/BezierSurface.asy
标签: python wxpython bezier spline
在我看来,DC 对任何类型曲线的唯一支持是样条曲线。有没有添加贝塞尔函数的库,或者有没有办法将贝塞尔曲线转换为样条曲线?
【问题讨论】:
标签: python wxpython bezier spline
给定 4 个控制点,相关三次贝塞尔曲线的公式为 not hard to compute。一旦计算出曲线上的一组点,就可以使用DC.DrawLines 来绘制它。
有一个 python 实现用于计算广义贝塞尔曲线上的点(无耻插件)here。从某种意义上说,它是广义的,它可以接受任意数量的控制点 (>2) 作为make_bezier 的输入。如果你只想要 4-control point 版本,你可以完全剪掉pascal_row 并替换
combinations=pascal_row(n-1)
与
combinations=(1,3,3,1)
【讨论】:
经过一番谷歌搜索,我想我会选择支持wx.GraphicsPath 的wx.GraphicsContext。除了抗锯齿功能(根据this page)
【讨论】: