我正在使用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()
请帮助您获取同一张图片上的两条曲线。谢谢。
答案 0 :(得分:0)
好的,我自己解决了这个问题。我只需要使用给出的容器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()