如何在同一个图形上绘制多条 NURBS 曲线?

How could I draw multiple NURBS curves on the same figure?

我正在使用 NURBS-python,有一个名为 VisMPL 的模块,它将 NURBS 模块与 matplotlib 封装在一起。 NURBS-python的手册中只介绍了每条曲线的绘制方法。但是我想在同一张图片上画几条曲线,这样我就可以比较近似的工作原理。代码如下。请帮忙。非常感谢!

在matplotlib中,有一种方法可以将一个图像添加到另一个图像中,所以我想对于VisMPL来说,也有这种方法,因为我都不是家人,我不知道如何开始。

from geomdl import BSpline
from geomdl import fitting
from geomdl.visualization import VisMPL

P=[[0, 0], [0, 1], [1, 1], [1, 0], [1, -1], [0, -1]]
Degree=3
CPN=5

c1=fitting.interpolate_curve(P, Degree)
c1.vis=VisMPL.VisCurve2D()
c1.render()
c2=fitting.approximate_curve(P, Degree, ctrlpts_size=CPN)
c2.vis=VisMPL.VisCurve2D()
c2.render()

请帮助如何在同一张图片上获得两条曲线。谢谢

好的,我自己解决了这个问题。我只需要使用给定的容器 NURBS-Python 来包含所有曲线并绘制它们。代码变为:

from geomdl import BSpline
from geomdl import fitting
from geomdl import multi
from geomdl.visualization import VisMPL

P=[[0, 0], [0, 1], [1, 1], [1, 0], [1, -1], [0, -1]]
Degree=3
CPN=5

c1=fitting.interpolate_curve(P, Degree)
c2=fitting.approximate_curve(P, Degree, ctrlpts_size=CPN)
c=multi.CurveContainer([c1, c2])

c.vis=VisMPL.VisCurve2D()
c.render()