如何用vtk读取stl模型获取点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用vtk读取stl模型获取点相关的知识,希望对你有一定的参考价值。
参考技术A 一般来大多数的CAD软体都可以转STL的格式,转出来表示你的图档有问题,STL常出现的问题是因为,STL的格式是以弦高切成三角形的,做为计算的,和IGES、STP不同,IGES、STP的格式有转码表的❤️如何用Python绘制一个飞机模型??
VTK在Java, Tcl, Python中都有接口 ,本文介绍VTK在Python中的接口。
VTK (The Visualization Toolkit ) 是一款用于计算机3D成像、构建模型、图像处理、容积渲染、科学数据可视化等方面的免费软件系统,支持Linux, Windows, Mac, Web, mobile devices等平台;
一些使用场景👇👇
3D成像
图像处理
构建模型
容积渲染
安装
pip install vtk
快速入门VTK
以一个小为例,
import vtkmodules.vtkInteractionStyle
import vtkmodules.vtkRenderingOpenGL2
from vtkmodules.vtkCommonColor import vtkNamedColors
from vtkmodules.vtkFiltersSources import vtkCylinderSource
from vtkmodules.vtkRenderingCore import (vtkActor, vtkPolyDataMapper,
vtkRenderWindow,
vtkRenderWindowInteractor,
vtkRenderer)
# 数据准备
colors = vtkNamedColors()
bkg = map(lambda x: x / 255.0, [26, 51, 102, 255])
colors.SetColor("BkgColor", *bkg)
cylinder = vtkCylinderSource()
cylinder.SetResolution(8)
# 映射
cylinderMapper = vtkPolyDataMapper()
cylinderMapper.SetInputConnection(cylinder.GetOutputPort())
# 添加绘制对象
cylinderActor = vtkActor()
#绘制对象添加映射器
cylinderActor.SetMapper(cylinderMapper)
cylinderActor.GetProperty().SetColor(colors.GetColor3d("Tomato"))
cylinderActor.RotateX(30.0)
cylinderActor.RotateY(-45.0)
# 添加绘制器
ren = vtkRenderer()
# 添加绘制窗口
renWin = vtkRenderWindow()
renWin.AddRenderer(ren)
iren = vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
# 绘制器添加对象
ren.AddActor(cylinderActor)
ren.SetBackground(colors.GetColor3d("BkgColor"))
renWin.SetSize(300, 300)
renWin.SetWindowName('CylinderExample')
# 交互器初始化
iren.Initialize()
ren.ResetCamera()
ren.GetActiveCamera().Zoom(1.5)
renWin.Render()
# 交互器启动
iren.Start()
进一步学习👇👇
以上是关于如何用vtk读取stl模型获取点的主要内容,如果未能解决你的问题,请参考以下文章
如何用matlab将3D打印的stl文件的顶点数据转换成三维二值图像