一:创建一个基本的三维对象

(一)长方体操作

traits:就是TVTK对象的属性

(1)对象属性操作

>>> from tvtk.api import tvtk
>>> s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0)
>>> print(s)
>>> s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0)
>>> print(s)
vtkCubeSource (00000000004D4FC0)
Debug: Off
Modified Time:
Reference Count:
Registered Events:
Registered Observers:
vtkObserver (000000000D7E0EE0)
Event:
EventName: ModifiedEvent
Command: 00000000121045F0
Priority:
Tag:
Executive: 000000000D5E32D0
ErrorCode: No error
Information:
AbortExecute: Off
Progress:
Progress Text: (None)
X Length:
Y Length:
Z Length:
Center: (, , )
Output Points Precision:

输出数据

>>> s.center    #所在坐标系的原点
array([., ., .])
>>> s.x_length   #x轴长度
1.0
>>> s.y_length   #y轴长度
2.0
>>> s.z_length   #z轴长度
3.0
>>> s.output_points_precision  #对象的精度

(2)对象方法操作

(二)其他基本三维对象了解

>>> from tvtk.api import tvtk
>>> s = tvtk.ConeSource(height=3.0,radius=1.0,resolution=)  #高度3.0,底面圆半径1.0,底面圆分辨率36(使用36边形近似一个圆形)
>>> s.height
3.0
>>> s.radius
1.0
>>> s.resolution >>> s.center
array([., ., .])
>>> print(s)
vtkConeSource (0000000002F71530)
Debug: Off
Modified Time:
Reference Count:
Registered Events:
Registered Observers:
vtkObserver (000000000D7E0430)
Event:
EventName: ModifiedEvent
Command: 000000000D4C0CD0
Priority:
Tag:
Executive: 000000000D2998D0
ErrorCode: No error
Information: 000000000D3820C0
AbortExecute: Off
Progress:
Progress Text: (None)
Resolution:
Height:
Radius:
Capping: On
Center: (, , )
Direction: (, , )
Output Points Precision:

二:显示一个三维对象

在二维屏幕中显示一个三维对象,需要一个十分复杂的映射过程,特别是与用户交互的时候

(一)显示一个长方体

from tvtk.api import tvtk

#创建一个长方体数据源,设置其长宽高
s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0)
#使用PolyDataMapper(映射器)将数据转化为图形数据
m = tvtk.PolyDataMapper(input_connection=s.output_port) #将数据源的输出赋给映射器的输入
#创建一个Actor
a = tvtk.Actor(mapper=m) #是一个实体
#创建一个Renderer(渲染器),将Actor添加进去
r = tvtk.Renderer(background=(,,)) #显示背景设为黑色
r.add_actor(a) #将Actor添加进去
#创建一个RenderWindow(窗口),将Renderer添加进去
w = tvtk.RenderWindow(size=(,)) #创建一个显示窗口
w.add_renderer(r) #将建立的渲染器加入窗口
#创建一个RenderWindowInteractor(窗口的交互工具)
i = tvtk.RenderWindowInteractor(render_window=w) #创建一个交互工具,将窗口加入交互
#开启交互
i.initialize()
i.start()

科学计算三维可视化---TVTK入门(创建和显示三维对象)的更多相关文章

  1. 科学计算三维可视化---TVTK入门(安装与测试)

    推文:http://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html 推文:http://code.enthought.com/pages/mayav ...

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

    一:数据加载 大多数可视化应用的数据并非是在TVTK库中构建的,很多都是通过接口读取外部数据文件 (一)使用vtkSTLReader来读取外部文件 .stl 文件是在计算机图形应用系统中,用于表示三角 ...

  3. 科学计算三维可视化---TVTK管线与数据加载(可视化管线和图像管线了解)

    一:TVTK的管线 使用管线技术将TVTK中各个对象穿连起来,几乎所有渲染引擎都会提到管线技术 在TVTK中,每个对象只需要实现相对简单的任务,整个管线则能根据用户的需求,实现复杂的数据可视化处理. ...

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

    一:TVTK库可视化实例 Plot3D文件知识:PLOT3D 数据格式 PLOT3D文件分为网格文件(XYZ 文件), 空气动力学结果文件 (Q 文件)和通用结果文件(函数文件 + 函数名称文件).网 ...

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

    一:Mayavi库的基本元素 .处理图形可视化和图形操作的mlab模块 .操作管线对象,窗口对象的api (一)mlab模块 (二)mayavi的api 二:快速绘图实例 (一)mlab.mesh的使 ...

  6. 科学计算三维可视化---TVTK管线与数据加载(数据集)

    一:数据集 三维可视化的第一步是选用合适的数据结构来表示数据,TVTK提供了多种表示不同种类数据的数据集 (一)数据集--ImageData >>> from tvtk.api im ...

  7. 『科学计算』可视化二元正态分布&3D科学可视化实战

    二元正态分布可视化本体 由于近来一直再看kaggle的入门书(sklearn入门手册的感觉233),感觉对机器学习的理解加深了不少(实际上就只是调包能力加强了),联想到假期在python科学计算上也算 ...

  8. Numpy科学计算从放弃到入门

    目录 一.什么是Numpy ndarray对象 相关文档 二.如何创建数组 三.如何访问数组 下标索引 切片索引 布尔型索引 整数索引 方形索引 四.如何做算数运算 五.如何使用统计函数 六.数组转置 ...

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

    目录: 下载链接:https://www.yinxiangit.com/616.html 第一单元TVTK入门-1.mp4第一单元TVTK入门-2.mp4第一单元TVTK入门-3.mp4 第一单元TV ...

随机推荐

  1. 20162314 《Program Design & Data Structures》Learning Summary Of The Seventh Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Seventh Wee ...

  2. NOI2002_ Galaxy银河英雄传说86

    NOI2002_ Galaxy银河英雄传说86     公元五八○一年,地球居民迁移至金牛座α第二行星,:宇宙历七九九年,银河系的两大军事集团在巴米利恩星:杨威利擅长排兵布阵,巧妙运用各种战术屡次以少 ...

  3. 判断二叉树B是否是树A的子树

    如下图所示,则认为树B是树A的子树. 代码如下: /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode rig ...

  4. 由一个滑动条的任务需求产生一个对UISlider控件的探讨

    任务需求样式:

  5. Robot Framework 教程 (7) - 使用For循环

    在自动化测试过程中,使用For循环来对某个动作进行重复操作是很普遍的行为.在Robot Framework中,各种测试库中均提供了多种方式的For循环结构,在其中覆盖了大部分类型的循环类型.而Robo ...

  6. [PPT] PPT 录制视频功能.

    1. 需要PPT 里面增加进截图, 发现还不如 直接插入视频合理 本来想了一种方式是 使用 screen to gif 的工具 生成gif 来处理. 后来 发现ppt 里面自带一个 屏幕录制功能. 2 ...

  7. Navicat for MySQL和Navicat Premium之间的区别

    首先两款软件都可以用来管理数据库链接MySQL和MariaDB 相对于新手或者前端工程师使用Navicat for MySQL就够了,功能相对于Navicat Premium比较少Navicat fo ...

  8. javascript 进阶篇1 正则表达式,cookie管理,userData

    首先,什么事正则表达式呢,其实引入概念很多时候并不能帮我们明白它到底是什么,所以我先简单描述下,正则表达式,其实就是一个记录字符串规则则的字符串,等我们看完这一部分,也就能明白它到底是什么了. 基本语 ...

  9. 卸载Visual Studio最佳方法难道真的是重装系统?

    卸载Visual Studio最佳方法难道真的是重装系统? 卸载Visual Studio最佳方法难道真的是重装系统? 使用TotalUninstaller貌似也没有效果,默认卸载的,程序列表里面还是 ...

  10. codeforces 1041 E.Vasya and Good Sequences(暴力?)

    E. Vasya and Good Sequences time limit per test 2 seconds memory limit per test 256 megabytes input ...