如何在同一个图形上绘制多条 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()
我正在使用 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()