【问题标题】:How can you draw a bezier curve given four points with wxPython?给定四个点,如何使用 wxPython 绘制贝塞尔曲线?
【发布时间】:2010-02-27 02:53:20
【问题描述】:

在我看来,DC 对任何类型曲线的唯一支持是样条曲线。有没有添加贝塞尔函数的库,或者有没有办法将贝塞尔曲线转换为样条曲线?

【问题讨论】:

标签: python wxpython bezier spline


【解决方案1】:

给定 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)

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 好主意。这是在 wxpython 中绘制的新方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多