Python科学计算三维可视化(3)——TVTK可视化实例
来源:互联网 发布:嵌入式软件开发流程图 编辑:程序博客网 时间:2024/05/17 07:31
最近在中国大学MOOC网上学习Python科学计算三维可视化相关知识,记录下来,以供参考。
TVTK可视化实例
实例1:标量数据可视化
tvtk.ContourFilter() 等值面过滤器
from tvtk.api import tvtkfrom tvtkfunc import ivtk_scene, event_loopplot3d = 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()
实例2:矢量数据可视化
tvtk.Glyph3D()符号化技术
tvtk.MaskPoints() 降采样
from tvtk.api import tvtkfrom 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() #圆锥表示glyph_source = tvtk.ArrowSource() #箭头表示# 在Mask采样后的PolyData数据集每个点上放置一个箭头# 箭头的方向、长度和颜色由于点对应的矢量和标量数据决定glyph = tvtk.Glyph3D(input_connection=mask.output_port, scale_factor=2) # 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 tvtkfrom tvtk.common import configure_inputfrom tvtkfunc import ivtk_scene, event_loopplot3d = 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()
阅读全文
0 0
- Python科学计算三维可视化(3)——TVTK可视化实例
- Python科学计算三维可视化(1) ——TVTK库入门
- Python科学计算三维可视化(2) ——TVTK库管线与数据加载
- python科学计算——数据可视化(Matplotlib)
- python科学计算——数据可视化(2) Seaborn
- Python科学计算数据可视化模块-Matplotlib
- python科学计算数据可视化模块-seaborn
- python科学计算和可视化编程
- 1.科学计算与三维可视化的概念
- 科学计算可视化
- 白手起家学习数据科学 ——可视化数据(一)
- 数据科学入门—数据可视化
- 科学计算与可视化(VC中调用VF详解)
- python数据可视化——散点图实例之随机漫步
- Python数据可视化—seaborn简介和实例
- Python数据可视化—seaborn简介和实例
- python—matplotlib数据可视化实例注解系列-----之横条图
- python—matplotlib数据可视化实例注解系列-----之箱状图
- 想要入行做Java开发就从学习这些基础知识开始
- LNMP环境搭建
- CAS 服务端登录验证流程(三)
- 字符串使用注意事项
- Ubuntu16.04LTS学习笔记
- Python科学计算三维可视化(3)——TVTK可视化实例
- matlab滑动窗口截取图片并保存
- java对象和json对象之间互相转换
- 使用solrJ操作solr常用方法
- hadoop调用matlab程序的设置方法
- MyEclipse搭建web的Maven项目index.jsp出现构建路径没有找到子类的错误
- 51nod 1007 正整数分组 01背包
- [Leetcode P28] Implement strStr()(KMP算法)
- 闪耀光栅小结