VTK学习笔记2.4

整理于 https://www.icourse163.org/course/BIT-1001871001(Python科学计算三维可视化)

TVTK数据加载

vtk提供文件读取BOJ、PLY、STL
STL文件的调用格式如下:

s = tvtk.STLReader(file_name = 'slt文件名')

举例:

def ivtk_scene(actors):
    from tvtk.tools import ivtk
    win = ivtk.IVTKWithCrustAndBrowser()    #创建crust窗口
    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()
s = tvtk.STLReader(file_name = 'python.stl')
m = tvtk.PolyDataMapper(input_connect = s.output_port)  #传递给映射器
a = tvtk.Actor(mapper = m)  #通过映射器构建实体
win = ivtk_scene(a)     
win.scene.iscmetric_view()
event_loop()

Plot3D+++++++++++++++++++++++++++++
分成几种文件,网格文件(xyz文件)、空气动力学文件(Q文件)、通用结果
这里写图片描述

from tvtk.api import tvtk
def read_data():
    plot3d = tvtk.MultiBlockPLOT3DReader(
        xyz_file_name = 'combxyz.bin',#网格文件
        q_file_name = 'combq.bin',#空气动力学结果文件
        scalar_function_number = 100,#设置标量数据数量
        vector_function_number = 200
    )
        plot3d.update()#读取数据
        return plot3d#返回一个plot3d的对象
plot3d = read_data()
grid = plot3d.output.get_block(0)

可以手动查看

type(plot3d.output)#返回plot3d.output的对象类型
type(plot3d.output.get_block(0))#可以获得structured_grid的类型
grid.dimensions #返回[57 33 25],数据集是57X33X25的网格
grid.points.to_array()#返回各点坐标
grid.cell_data.number_of_arrays #返回0,网格中没有数据
grid.point_data.number_of_arrays #返回4,#网格中有四种数据
grid.point_data.scalars.name    #返回Density,给出标量数组scalars的名字
grid.point_data.vectors.name    #返回Velocity,给出矢量数组vectors的名字
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值