科学计算三维可视化---TVTK入门(数据加载)

一:数据加载

大多数可视化应用的数据并非是在TVTK库中构建的,很多都是通过接口读取外部数据文件

(一)使用vtkSTLReader来读取外部文件

.stl 文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式。格式简单,应用广泛

def ivtk_scene(actors):
    from tvtk.tools import ivtk

    # 创建一个带有Crust(Python Shell)的窗口
    win = ivtk.IVTKWithCrustAndBrowser()
    win.open()
    win.scene.add_actor(actors)

    # 修正错误
    dialog = win.control.centralWidget().widget(0).widget(0)
    from pyface.qt import QtCore
    dialog.setWindowFlags(QtCore.Qt.WindowFlags(0x00000000))
    dialog.show()

    return win

def event_loop():
    from pyface.api import GUI

    gui = GUI()
    # 开启界面消息循环
    gui.start_event_loop()

Tvtkfunc.py

from tvtk.api import tvtk
from Tvtkfunc import ivtk_scene,event_loop

s = tvtk.STLReader(file_name="python.stl")  #从外部读取数据
m = tvtk.PolyDataMapper(input_connection = s.output_port)
a = tvtk.Actor(mapper = m)

win = ivtk_scene(a)
win.scene.isometric_view()
event_loop()

(二)MultiBlock数据读取

from tvtk.api import tvtk

def read_data():    #导入数据
    plot3d = tvtk.MultiBlockPLOT3DReader(
        xyz_file_name="comxyz.bin", #网格文件
        q_file_name="combq.bin", #开启动力学结果文件
        scalar_function_number = 100, #设置标量数据数量
        vector_function_number=200, #设置矢量数据数量
    )
    plot3d.update() #从文件读取数据
    return plot3d

plot3d = read_data()
grid = plot3d.output.get_block(0)   #查看数据细节,获取网格数据集

print(type(plot3d.output))
print(type(plot3d.output.get_block(0)))

原文地址:https://www.cnblogs.com/ssyfj/p/9300338.html

时间: 2024-09-28 13:46:18

科学计算三维可视化---TVTK入门(数据加载)的相关文章

科学计算三维可视化---TVTK库可视化实例

一:TVTK库可视化实例 Plot3D文件知识:PLOT3D 数据格式 PLOT3D文件分为网格文件(XYZ 文件), 空气动力学结果文件 (Q 文件)和通用结果文件(函数文件 + 函数名称文件).网格文件中可加入所谓的IBlank参数. (一)标量数据可视化(等值面) generate_values()创建等值面 from tvtk.api import tvtk from Tvtkfunc import ivtk_scene,event_loop def read_data(): #导入数据

科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)

一:Mayavi库的基本元素 1.处理图形可视化和图形操作的mlab模块 2.操作管线对象,窗口对象的api (一)mlab模块 (二)mayavi的api 二:快速绘图实例 (一)mlab.mesh的使用,快速创建绘图 >>> x = [[-1,1,1,-1,-1],[-1,1,1,-1,-1]] >>> y = [[-1,-1,-1,-1,-1],[1,1,1,1,1]] >>> z = [[1,1,-1,-1,1],[1,1,-1,-1,1]]

科学计算三维可视化---Mayavi可视化实例

一:Dragon绘制实例(三维扫描的绘制) 三维扫描主要用于对物体空间外形结构以及色彩进行扫描,用以获得物体表面的空间坐标, 他的主要意义在于能够将实物的立体信息转换为计算机能够直接处理的数据信号,为实物的数字化提供了相对方便快捷的手段, 因此,三维扫描为工业建模,文物保存,虚拟空间构建都起到了非常重要的作用. 下载地址:http://graphics.stanford.edu/data/3Dscanrep/,页面搜索Dragon即可 提取文件 import tarfile,os #读取tar压

科学计算三维可视化---TraitsUI与Mayavi实例

TraitsUI与Mayavi实例 一:创建一个简单的TraitsUI与Mayavi实例 from numpy import sqrt,sin,mgrid from traits.api import HasTraits,Instance from traitsui.api import View,Item from tvtk.pyface.scene_editor import SceneEditor from mayavi.tools.mlab_scene_model import Mlab

科学计算三维可视化---Traits(Property属性)

Property属性 使用Property函数为类创建Property属性,Property属性用法和一般属性相同,但是他在获取值和赋值时会调用相应的方法 traits库也提供了Property属性 from traits.api import Property from traits.api import Property,HasTraits,Float,cached_property class rectangle(HasTraits): w = Float(1.0) h = Float(2

科学计算三维可视化---TraitsUI(View定义界面)

View定义界面 使用View来自定义界面 class ModelManager(HasTraits): model_name = Str category = Str model_file = Str model_number = Int view = View( Item("model_name", label=u"模型名称"), #将Traits属性和Item关联起来,分别定义标签,中文需要使用u Item("model_file", la

科学计算三维可视化---TraitsUI(控件)

一:文本编辑器 from traits.api import HasTraits,Int,Str,Password from traitsui.api import View,Item,Group,ModalButtons #View描述了界面的视图类,Item模块描述了界面中的控件类 class TextEdit(HasTraits): #定义文本编辑器的变量 string_trait = Str("sample string") password = Password #定义布局

科学计算和可视化

今天的主题是有关科学计算和可视化的,其中将会包括有python的第三方库numpy以及matplotlib的学习总结及应用! 有所涉猎的同学一定对这两个库并不陌生!它们分别是对数组的处理和数据处理的图表制作工具,在数据处理方面它们都有不俗的表现! 接下来先让我简单介绍一下这两个库~(安装过程就不详述啦~pip install +库就能随心安装,或者你也可以选择直接安装Anaconda 强大的库函数多到你用不完,里面自然有今天所要展开了解的两个库啦~) numpy: 概述:numpy(Numeri

python科学计算与可视化视频教程

目录: 下载链接:https://www.yinxiangit.com/616.html 第一单元TVTK入门-1.mp4第一单元TVTK入门-2.mp4第一单元TVTK入门-3.mp4 第一单元TVTK入门-4.mp4第七单元Mayavi可视化实例-1.mp4第七单元Mayavi可视化实例-2.mp4第七单元Mayavi可视化实例-3.mp4第三单元TVTK库可视化实例-1.mp4第三单元TVTK库可视化实例-2.mp4第三单元TVTK库可视化实例-3.mp4第九单元Traits基础-1.mp