科学计算三维可视化---Mayavi入门(Mayavi管线)
一:Mayavi管线


mlab.show_pipeline() #显示管线层级,来打开管线对话框
(一)管线中的对象scene
Mayavi Scene:处于树的最顶层的对象,他表示场景,配置界面中可以设置场景的背景,前景色,场景中的灯光,以及其他一些选项
>>> s = mlab.gcf() #获取当前场景
>>> print(s) #获取当前场景状态
<mayavi.core.scene.Scene object at 0x00000000014E66D0>
>>> print(s.scene.background) #输出管线中的背景色
(0.5, 0.5, 0.5)
(二)GridSource网格数据源

scalars标量数据,他就是传递给mesh的标量数组,他表示mesh表面的每个点的数组
>>> source = s.children[] #获取GridSource对象,因为scene场景中有多个数据集合sources,我们获取当前唯一的这一个
>>> print(repr(source)) #打印返回的字符串
<mayavi.sources.vtk_data_source.VTKDataSource object at 0x0000000014117570>
>>> print(source.name) #返回该节点的名称
GridSource >>> print(repr(source.data.points)) #打印GridSource的坐标(空间坐标,三维)
[(0.0, 1.0852211291184772, 0.0), ..., (-0.01969313518771439, -1.5671711510166164
, -0.00024748426251406075)], length = #length说明坐标数组大小是126504 >>> print(repr(source.data.point_data.scalars)) #打印出每个点对应的标量数组
[0.0, ..., -0.00024748426251406075], length =
(三)PolyDataNormals是数据源的法向量
>>> manager = source.children[]
>>> print(manager)
<mayavi.filters.poly_data_normals.PolyDataNormals object at 0x00000000163D1308>
(四)Colors and legends

>>> colors = manager.children[]
>>> colors.scalar_lut_manager.lut_mode = "Blues"
>>> colors.scalar_lut_manager.show_legend = True

(五)Surface对象:将GridSource输出的PolyData数据转换为最终的在场景中显示的三维实体

>>> surface = colors.children[] #获得颜色的第一个子节点
>>> surface.actor.property.representation = "wireframe"
>>> surface.actor.property.opacity = 0.6
总结:程序配置属性的步骤
.获取场景对象,mlab.gcf()
.通过children属性,在管线中找到需要修改的对象
.当其配置窗口由多个选项卡,属性需要一级一级获得

Mayavi管线:是层级管线,相互嵌套,需要使用children获取下一级
TVTK管线:分为可视化管线和图形管线两部分,用于将TVTK中各个对象穿连起来
科学计算三维可视化---Mayavi入门(Mayavi管线)的更多相关文章
- 科学计算三维可视化---Mlab基础(管线控制函数)
科学计算三维可视化---TVTK管线与数据加载(可视化管线和图像管线了解) 科学计算三维可视化---Mayavi入门(Mayavi管线) Mlab管线控制函数的调用 Sources:数据源 Filte ...
- 科学计算三维可视化---TVTK入门(安装与测试)
推文:http://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html 推文:http://code.enthought.com/pages/mayav ...
- 科学计算三维可视化---TraitsUI与Mayavi实例
TraitsUI与Mayavi实例 一:创建一个简单的TraitsUI与Mayavi实例 from numpy import sqrt,sin,mgrid from traits.api import ...
- 科学计算三维可视化---TVTK入门(数据加载)
一:数据加载 大多数可视化应用的数据并非是在TVTK库中构建的,很多都是通过接口读取外部数据文件 (一)使用vtkSTLReader来读取外部文件 .stl 文件是在计算机图形应用系统中,用于表示三角 ...
- 科学计算三维可视化---TVTK入门(创建和显示三维对象)
一:创建一个基本的三维对象 (一)长方体操作 traits:就是TVTK对象的属性 (1)对象属性操作 >>> from tvtk.api import tvtk >>& ...
- 科学计算三维可视化---Mlab基础(数据可视化)
推文:科学计算三维可视化---TVTK库可视化实例 使用相关函数:科学计算三维可视化---Mlab基础(管线控制函数) 一:mlab.pipeline中标量数据可视化 通过持续实例,来感受mlab对数 ...
- Python科学计算三维可视化(整理完结)
中国MOOC<Pyhton计算计算三维可视化>总结 课程url:here ,教师:黄天宇,嵩天 下文的图片和问题,答案都是从eclipse和上完课后总结的,转载请声明. Python数据三 ...
- 科学计算三维可视化---Mlab基础(鼠标选取交互操作)
一:鼠标选取介绍 二:选取红色小球分析 相关方法:科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数) 1.小球场景初始化建立 import numpy as np from maya ...
- 科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)
一:Mayavi库的基本元素 .处理图形可视化和图形操作的mlab模块 .操作管线对象,窗口对象的api (一)mlab模块 (二)mayavi的api 二:快速绘图实例 (一)mlab.mesh的使 ...
- 科学计算三维可视化---Mayavi可视化实例
一:Dragon绘制实例(三维扫描的绘制) 三维扫描主要用于对物体空间外形结构以及色彩进行扫描,用以获得物体表面的空间坐标, 他的主要意义在于能够将实物的立体信息转换为计算机能够直接处理的数据信号,为 ...
随机推荐
- xml命名空间
https://yq.aliyun.com/articles/40353 ************************************* 摘要: 相信很多人和我一样,在编写Spring或者 ...
- 第1阶段冲刺成果—简单运算game(APP)
第1阶段冲刺成果 由于我们团队都没有Android的基础,所以在这一块花了很长的时间去学习探索,就连简单的Android的电脑配置也花了很长的时间,所以其他的DONE的都没有完成,这是失败的地方.但是 ...
- asp.net登录验证FormsAuthenticationTicket和FormsAuthentication类
登录部分使用的类 FormsAuthentication 为 Web 应用程序管理 Forms 身份验证服务. 配置启用身份验证,WEB.config配置: <system.web> ...
- 半夜思考之查漏补缺, 在 Spring中, 所有的 bean 都是 Spring 创建的吗 ?
Spring 是一个 bean 容器, 负责 bean 的创建, 那么所有的 bean对象都是 Spring 容器创建的吗 ? 答案是否定的. 但是乍一想, 好像所有的对象都是 Spring 容器负责 ...
- 【Python】Python基础
源程序文件通常以.py为扩展名 #!/usr/bin/python shebang,即执行脚本时通知内容要启动的解释器 import platform 导入模块 print platform.unam ...
- springboot学习笔记-2 一些常用的配置以及整合mybatis
一.一些常用的配置 1.1 使用没有父POM的springboot 通过添加scope=import的依赖,仍然能获取到依赖管理的好处: <dependencyManagement> &l ...
- Bank Robbery LightOJ - 1163(推方程 注意计算机的计算方式)
题意:一个数A,如果A去掉它的最后一位就变成了B,即B=A/10,给A - B,求A #include <iostream> #include <cstdio> #includ ...
- variant conversion error for variable v23
excel数据导入到oracle数据库出现的问题 V23指的是excel列.,这列的数据长度超出或者类型与数据库表不一致导致的 解决方法,1.清空该列,再建个新列 2.用access SQL查出长度 ...
- Tengine,轻量级Web服务器
阿里妹导读:Tengine,轻量级Web服务器,基于Nginx进行开发,针对大访问量网站的需求,新增了很多高级功能和特性.比如,Tengine兼容Nginx的所有配置,并且增加了独立进程框架.页面优化 ...
- 【bzoj1087】互不侵犯King
Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. Input 只有一行,包 ...