pyqtgraph中的可控贝塞尔曲线控制

Controlable bezier curve controler in pyqtgraph

我想构建一个贝塞尔曲线可控的绘图项(使用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

我想要这样的东西:

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

感谢您对此的任何见解!

好的,经过一番研究,我找到了一个使用 pyqtgraph 实现贝塞尔 ROI 的示例。这是 a link 到 github 存储库

基本上它是关于子classing ROI class,使用自由句柄类型(不是相对的)。并绘制贝塞尔曲线("hand")。

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

使用 ROI 可以获得 ROI 的所有功能,如果我选择使用 PlotDataItem,我将不得不从头开始实现这些功能。 它仍然不是那么明显,并且对 pyqt 的良好理解似乎是必要的,以便让 ROI 按预期工作。

我希望这对其他人有帮助