网站建设验收期,线下推广小组所述的推广方案是针对哪两个团体,html语言,衡水做网站报价目录
Part1. VTK 介绍
Part2. PyQt5 VTK环境搭建 安装Anaconda 自带Python
Anaconda下载
安装PyQt5
安装 VTK
Part3 :PyQt VTK 结合样例: Part1. VTK 介绍
VTK#xff08;visualization toolkit#xff09;是一个开源的免费软件系统#xff0c;主要用于三维计算机图形…
目录
Part1. VTK 介绍
Part2. PyQt5 VTK环境搭建 安装Anaconda 自带Python
Anaconda下载
安装PyQt5
安装 VTK
Part3 :PyQt VTK 结合样例: Part1. VTK 介绍
VTKvisualization toolkit是一个开源的免费软件系统主要用于三维计算机图形学、图像处理和可视化。Vtk 是在面向对象原理的基础上设计和实现的它的内核是用 C 构建的包含有大约 250,000 行代码2000 多个类还包含有几个转换界面因此也可以自由的通过 JavaTcl/Tk 和 Python 各种语言使用 VTK。
VTK 是一个开放源码、自由获取的软件系统全世界的数以千计的研究人员和开发人员用它来进行 3D 计算机图形图像处理可视化。VTK 包含一个 c类库众多的翻译接口层包括 Tcl/TkJava,Python。 Visualization Toolkit 是一个用于可视化应用程序构造与运行的支撑环境它是在三维函数库 OpenGL 的基础上采用面向对象的设计方法发展起来的它将我们在可视化开发过程中会经常遇到的细节屏蔽起来并将一些常用的算法封装起来。比如 Visualization Toolkit 将我们在表面重建中比较常见的 MarchingCubes 算法封装起来以类的形式给我们以支持这样我们在对三维规则点阵数据进行表面重建时就不必再重复编写 MarchingCubes 算法的代码而直接使用 Visualization Toolkit 中已经提供的 vtkMarchingCubes 类。Visualization Toolkit 是给从事可视化应用程序开发工作的研究人员提供直接的技术支持的一个强大的可视化开发工具。
Part2. PyQt5 VTK环境搭建 安装Anaconda 自带Python
Anaconda是一个开源的Python发行版本用来管理Python相关的包安装Anaconda可以很方便的切换不同的环境使用不同的深度学习框架开发项目
这里我们详细介绍安装Anaconda有以下几个原因
1.方便地安装Python及其相关工具和库
Anaconda是一个数据科学平台它内置了Python解释器和大量的数据科学工具和库包括NumPy、Pandas和Matplotlib等。这使得初学者或专业人员可以更快速地开始Python编程和数据分析并且不需要逐个安装每个软件包和库。
2.管理Python环境
Anaconda允许用户创建多个独立的Python环境这样可以使开发人员在不同的项目中使用不同的Python版本和库。这对于开发人员很有用因为不同的项目可能需要不同的环境设置例如不同的Python版本或不同版本的库。
3.跨平台支持
Anaconda可在Windows、Linux和Mac等操作系统上运行使得开发人员可以在不同平台上开发和运行相同的代码。
4.社区支持
Anaconda由庞大的社区支持社区提供了大量的文档、示例代码和教程这对于初学者来说非常有用。
所以说安装Anaconda能够帮助您更快速地开始Python编程、数据分析和机器学习同时也使得管理Python环境变得更加方便。
Anaconda下载
首先需要到Anaconda的官网下载适合自己系统的版本。目前Anaconda支持Windows、Mac OS X和Linux三种操作系统。
Anaconda官网
Free Download | Anaconda 下载好的Anaconda安装包双击安装包;
建议Python 安装使用最新的版本就可以 安装PyQt5
pip install PyQt5安装PyQt5-tools
pip install PyQt5-tools安装 VTK
pip install vtk
Part3 :PyQt VTK 结合样例:
创建 渲染窗口及三维模型,包含 三维模型交互 import sys
from PyQt5 import (QtWidgets, QtCore)
import vtk
from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractorclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName(MyPyQtVTK)MainWindow.resize(600, 600)self.centralWidget QtWidgets.QWidget(MainWindow)self.gridlayout QtWidgets.QGridLayout(self.centralWidget)self.vtkWidget QVTKRenderWindowInteractor(self.centralWidget)self.gridlayout.addWidget(self.vtkWidget, 0, 0, 1, 1)MainWindow.setCentralWidget(self.centralWidget)class MyPyQtVTKWindow(QtWidgets.QMainWindow):def __init__(self, parentNone):QtWidgets.QMainWindow.__init__(self, parent)self.ui Ui_MainWindow()self.ui.setupUi(self)self.ren vtk.vtkRenderer()self.ui.vtkWidget.GetRenderWindow().AddRenderer(self.ren)self.iren self.ui.vtkWidget.GetRenderWindow().GetInteractor()# Create sourcesource vtk.vtkSphereSource()source.SetCenter(0, 0, 0)source.SetRadius(3.0)# Create a mappermapper vtk.vtkPolyDataMapper()mapper.SetInputConnection(source.GetOutputPort())# Create an actoractor vtk.vtkActor()actor.SetMapper(mapper)self.ren.AddActor(actor)if __name__ __main__:app QtWidgets.QApplication(sys.argv)window MyPyQtVTKWindow()window.show()window.iren.Initialize() # Need this line to actually show the render inside Qtsys.exit(app.exec_())