美文网首页
TVTK库可视化实例

TVTK库可视化实例

作者: 学习编程好少年 | 来源:发表于2017-07-30 21:53 被阅读0次

实例1:标量数据可视化

tvtk.ContourFilter() 等值面过滤器

方法 说明
generate_values(n, grid.point_data.scalars.range) 设定n条等值线的值,一般用于重新绘制等值线
set_value() 设定一条等值线的值,一般用于覆盖某条等值线或者新增加一条等值线
#数据读取
from tvtk.api import tvtk
from tvtkfunc import ivtk_scene, event_loop
 
plot3d = tvtk.MultiBlockPLOT3DReader(
        xyz_file_name="combxyz.bin",
        q_file_name="combq.bin",
        scalar_function_number=100, vector_function_number=200
    ) #读入Plot3D数据
plot3d.update() #让plot3D计算其输出数据
grid = plot3d.output.get_block(0) #获取读入的数据集对象
 
#创建等值面
con = tvtk.ContourFilter()#创建等值面对象  
con.set_input_data(grid)
con.generate_values(10, grid.point_data.scalars.range)#指定轮廓数和数据范围
 
#绘制数据
#设定映射器的变量范围属性
m = tvtk.PolyDataMapper(scalar_range = grid.point_data.scalars.range,
                        input_connection=con.output_port)
a = tvtk.Actor(mapper = m)
a.property.opacity = 0.5 #设定透明度为0.5
#窗口绘制
win = ivtk_scene(a)
win.scene.isometric_view()
event_loop()

tvtkfunc.py文件百度云链接
combxyz.bin和combq.bin文件百度云链接

实例2:矢量数据可视化

tvtk.Glyph3D() 符号化技术

tvtk.MaskPoints() 降采样

from tvtk.api import tvtk
from tvtkfunc import ivtk_scene, event_loop
 
#读入PLot3D数据
plot3d = tvtk.MultiBlockPLOT3DReader(
        xyz_file_name="combxyz.bin",
        q_file_name="combq.bin",
        scalar_function_number=100, vector_function_number=200
    )
plot3d.update()
grid = plot3d.output.get_block(0)
 
#对数据集中的数据进行随机选取,每50个点选择一个点
mask = tvtk.MaskPoints(random_mode=True, on_ratio=50)
mask.set_input_data(grid)
#创建表示箭头的PolyData数据集
glyph_source = tvtk.ConeSource()
#在Mask采样后的PolyData数据集每个点上放置一个箭头
#箭头的方向、长度和颜色由于点对应的矢量和标量数据决定
glyph = tvtk.Glyph3D(input_connection=mask.output_port,
                      scale_factor=2)
glyph.set_source_connection(glyph_source.output_port)
m = tvtk.PolyDataMapper(scalar_range=grid.point_data.scalars.range,
                        input_connection=glyph.output_port)
a = tvtk.Actor(mapper=m)
 
#窗口绘制
win = ivtk_scene(a)
win.scene.isometric_view()
event_loop()

实例3:空间轮廓线可视化

tvtk.StructuredGridOutlineFilter()
计算PolyData对象的外边框。

from tvtk.api import tvtk
from tvtk.common import configure_input
from tvtkfunc import ivtk_scene, event_loop
 
plot3d = tvtk.MultiBlockPLOT3DReader(
        xyz_file_name="combxyz.bin",
        q_file_name="combq.bin",
        scalar_function_number=100, vector_function_number=200
    )#读入Plot3D数据
plot3d.update()#让plot3D计算其输出数据
grid = plot3d.output.get_block(0)#获取读入的数据集对象
 
outline = tvtk.StructuredGridOutlineFilter()#计算表示外边框的PolyData对象
configure_input(outline, grid)#调用tvtk.common.configure_input()
m = tvtk.PolyDataMapper(input_connection=outline.output_port)
a = tvtk.Actor(mapper=m)
a.property.color = 0.3, 0.3, 0.3
 
#窗口绘制
win = ivtk_scene(a)
win.scene.isometric_view()
event_loop()

Reference :
中国大学MOOC北京理工大学Python科学计算三维可视化黄天羽、嵩天老师课件
课程主页

相关文章

  • TVTK库可视化实例

    实例1:标量数据可视化 tvtk.ContourFilter() 等值面过滤器 tvtkfunc.py文件百度云链...

  • TVTK管线与数据加载

    TVTk的管线 管线技术(Pipeline,流水线) 可视化管线(Visualization Pipeline):...

  • TVTK库的安装

    TVTK库的安装 1.在网址为:http://www.lfd.uci.edu/~gohlke/pythonlibs...

  • TVTK入门

    创建一个基本三维对象 理解TVTK的管线 管线技术(Pipeline,流水线) 可视化管线(Visualizati...

  • Mayavi可视化实例

    实例1:Dragon绘制 实例2:Canyon地形可视化 实例2:Earth Graph地形可视化

  • Python数据库入门篇|零基础也能学哦

    要点: 数据库的分类 Python如何操作数据库 数据库环境的搭建 数据库可视化的工具 实例写一个小的数据库 1....

  • python数据可视化

    Python可视化库(全面介绍各种可视化库):(40条消息) Python可视化库_flare zhao的博客-C...

  • python可视化工具

    python可视化库可以大致分为几类: 基于matplotlib的可视化库 基于JS的可视化库 基于上述两者或其他...

  • TVTK入门

    创建一个基本三维对象 tvtk.CubeSource() 构造具有一定traits属性值的长方体数据源对象。 Cu...

  • 前端数据可视化开源库(一)

    数据可视化主要分为可视化工具(在线生成图类)以及可视化工具库,以下主要为免费开放给开发者的工具库。 | 工具库 |...

网友评论

      本文标题:TVTK库可视化实例

      本文链接:https://www.haomeiwen.com/subject/llohlxtx.html