代码之家  ›  专栏  ›  技术社区  ›  beesleep

pyqtgraph中的可控制bezier曲线控制器

  •  0
  • beesleep  · 技术社区  · 7 年前

    我想用可控制的贝塞尔曲线(使用4个点)构造一个绘图项

    c3 = -P1 + 3 * (P2 - P3) + P4
    c2 = 3 * (P1 - (2 * P2) + P3)
    c1 = 3 * (P2 - P1)
    c0 = P1
    
    curve = ((c3 * time_points + c2) * time_points + c1) * time_points + c0
    

    我想要这样的东西:

    Bezier control points

    我的问题是,在pyqtgraph中实现这一点最直接的方法是什么。我看到两种方法:

    • 从头开始,使用PlotDataItem。我开始这样做,但我不知道如何使拖动功能工作没有子类化的一切

    谢谢你对这件事的了解!

    1 回复  |  直到 7 年前
        1
  •  0
  •   beesleep    7 年前

    好的,经过一些研究,我发现了一个使用pyqtgraph实现bezier ROI的示例。这里是 a link

    基本上,它是关于ROI类的子类化,使用freehold类型的句柄(这不是相对的)。以及绘制贝塞尔曲线(用“手”)。

    还有绘制贝塞尔曲线的qt-toCubic函数。

    它仍然不是那么明显,并且很好地理解pyqt似乎是必要的,以使ROI按预期工作。