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

(一)长方体操作

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()

最新文章

  1. .NET 垃圾回收与内存泄漏
  2. PPK谈JS笔记第一弹
  3. 使用Spring的Validator接口进行校验
  4. 使用powershell提权的一些技巧
  5. 简单的Java Web服务器
  6. PAT1076. Forwards on Weibo(标准bfs模板)
  7. asp.net ajax 调用错误解决
  8. webapp开发经验和资料
  9. Udacity调试课笔记之断言异常
  10. c++ 如何获取系统时间 - zjnig711的信息仓库 - 博客频道 - CSDN.NET
  11. Javascript事件绑定及深入
  12. [wiki] Unix like
  13. Spring Boot 2.x(十三):你不知道的PageHelper
  14. Sql Server数据字典
  15. LeetCode 86. Partition List 划分链表 C++
  16. Op-level的快速算法
  17. Android:ViewGroup和View的Touch事件
  18. 【EatBook】-NO.3.EatBook.3.JavaArchitecture.2.001-《架构探险:从零开始写Java Web框架》-
  19. chmod修改权限
  20. EasyExcel 解析excel

热门文章

  1. 一个关于狗记录的Java练习
  2. Week 2
  3. AVL树/线索二叉树
  4. 【第七周】B-1分数发布
  5. 每日站立会议——敏捷流程scrum实践
  6. mysql索引利弊分析
  7. POJ2699_The Maximum Number of Strong Kings
  8. 打开eclipse编译后的.class文件
  9. ajax发送post请求遇到的坑
  10. 应该更新的Java知识之常用程序库