如何使用vtkCylinderSource使圆柱垂直对齐

问题描述

我使用python创建vtk格式的圆柱体

cylinder = vtk.vtkCylinderSource()
cylinder.SetRadius(4)
cylinder.SetHeight(8)
cylinder.SetCenter(0,0)
cylinder.SetResolution(12)
cylinder.Update()
writer = vtk.vtkPolyDataWriter()
writer.SetInputData(cylinder.GetOutput())
writer.SetFileName('cylinder.vtk')
writer.Update()
sphereMesh = pv.read('cylinder.vtk')
plotter.add_mesh(sphereMesh,color='#9C7FF1',show_edges=show_ed)
plotter.add_axes()

这是可视化的结果:

enter image description here

如何将其更改为z而不是y对称?

解决方法

import vtk

cylinder = vtk.vtkCylinderSource()
cylinder.SetRadius(4)
cylinder.SetHeight(8)
cylinder.SetCenter(0,0)
cylinder.SetResolution(12)
cylinder.Update()
writer = vtk.vtkPolyDataWriter()
writer.SetInputData(cylinder.GetOutput())
writer.SetFileName('cylinder.vtk')
writer.Update()

# with pyvista:
import pyvista as pv
plotter = pv.Plotter()
sphereMesh = pv.read('cylinder.vtk')
sphereMesh.rotate_x(90)
plotter.add_mesh(sphereMesh,color='#9C7FF1',show_edges=1)
plotter.add_axes()
plotter.show()

# with vedo:
import vedo
# vedo.Cylinder().write('cylinder.vtk')
vedo.load('cylinder.vtk').rotateX(90).c('#9C7FF1').lw(1).show(axes=1)

enter image description here

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...