代码语言:javascript复制
import vtk
points = vtk.vtkPoints() # 定义一个点工具
points.InsertPoint(0, 329, 338, 45) # 使用InsertPoint可以插入点
#注意:points.InsertPoint(a, b, c, d)
#其中a表示点的序号,(b,c,d)表示点的三维坐标
points.InsertPoint(1, 328, 319, 46)
points.InsertPoint(2, 300, 329, 96)
#定义曲线工具
#将前面的几个点插值拟合成一条曲线
spline = vtk.vtkParametricSpline()
spline.SetPoints(points)
splineSource = vtk.vtkParametricFunctionSource()
splineSource.SetParametricFunction(spline)
splineSource.Update()
splineMapper = vtk.vtkPolyDataMapper()
splineMapper.SetInputConnection(splineSource.GetOutputPort())
splineActor = vtk.vtkActor()
splineActor.SetMapper(splineMapper)
# 设置线条颜色
splineActor.GetProperty().SetColor(0.3800, 0.7000, 0.1600)
# 设置线条宽度
splineActor.GetProperty().SetLineWidth(5)
ren1 = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren1)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
ren1.AddActor(splineActor)
ren1.SetBackground(1, 1, 1)
renWin.SetSize(250, 250)
renWin.Render()
iren.Start()
效果: