CubeSource对象是长方体数据源对象。本次在安装成功TVTK库的基础上显示一个长方体对象。通过以下代码,我们设置一个长宽高分别为1.0,2.0,3.0的长方体数据源并通过管线显示出来。

  1. from tvtk.api import tvtk#导入tvtk库
  2. s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0)
  3. #创建长方体数据源并设置长宽高
  4. m = tvtk.PolyDataMapper(input_connection=s.output_port)
  5. #将CubeSource数据转换为图形数据
  6. a = tvtk.Actor(mapper=m)#创建一个Action实体Actor
  7. r = tvtk.Renderer(background=(0,0,0))#渲染器背景为(0,0,0)
  8. r.add_actor(a)
  9. #创建一个渲染器Render将Actor添加进去
  10. w = tvtk.RenderWindow(size=(300,300))
  11. #创建一个绘制窗口大小是300*300
  12. w.add_renderer(r)
  13. #将创建的Render加入到窗口中
  14. i = tvtk.RenderWindowInteractor(render_window=w)#创建交互工具
  15. i.initialize()
  16. i.start()
  17. '''
  18. 显示一个长方体,从原始数据转换为屏幕上的图像,由TVTK对象共同完成
  19. tvtk.CubeSource:长方体数据源
  20. tvtk.PolyDataMapper:图形数据对象
  21. tvtk.Actor:Action实体对象
  22. tvtk.Renderer:渲染器
  23. tvtk.RenderWindow:绘制窗口对象
  24. tvtk.RenderWindowInteractor:交互工具窗口
  25. 在tvtk中,这种对象之间协调完成工作的过程被称作管线(Pipeline)
  26. '''
  1. '''
  2. 管线技术也称流水线技术(Pipeline)每个对象只实现相对简单的任务,
  3. 整个管线进行复杂的可视化处理
  4. 在tvtk中分为可视化管线和图形管线
  5. 可视化管线(Visualization Pipeline):将原始数据加工成图形数据的过程
  6. 图形管线(Graphics Pipeline):图形数据加工为所看到的图像
  7. 数据可视化分为五个模块:
  8. 数据模块,数据预处理模块,数据映射模块,绘制模块和显示模块。
  9. 前两部分为可视化管线
  10. 与可视化管线相关的两个对象:
  11. tvtk.CubeSource数据对象和tvtk.PolyDataMapper图形对象
  12. 后三部分为图形管线
  13. 与图形管线相关的四个tvtk对象:
  14. Actor实体对象,
  15. Renderer渲染场景对象
  16. RenderWindow渲染用的图形窗口对象
  17. RenderWindowInteractor用户交互对象
  18.  
  19. '''

上面那段代码运行起来也很有意思(对于我这么一个初接触的人来说)

它会显示一个长方体对象,可以通过鼠标控制它的旋转和大小

  下面是Python shell运行的效果

  Python其他管线对象的使用也许会在后续继续尝试

Python 可视化TVTK CubeSource管线初使用的更多相关文章

  1. Python可视化TVTK库初使用

    本周学习了初步的TVTK库的安装及使用方法,第一次通过tvtk.CubeSource方法建立了一个长方体对象.对TVTK的接触有了新的体会. 首先,在网上下载了以下五个库并按顺序通过pip指令在cmd ...

  2. 科学计算三维可视化---TVTK管线与数据加载(用IVTK根据观察管线)

    一:用IVTK根据观察管线 (一)引入该工具 from tvtk.tools import ivtk 可能需要安装pygments pip3 install pygments (二)使用ivtk显示立 ...

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

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

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

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

  5. Python可视化学习(1):Matplotlib的配置

    Matplotlib是一个优秀的可视化库,它提供了丰富的接口,让Python的可视化落地显得非常容易上手.本系列是本人学习python可视化的学习笔记,主要用于监督自己的学习进度,同时也希望和相关的博 ...

  6. Pycon 2017: Python可视化库大全

    本文首发于微信公众号“Python数据之道” 前言 本文主要摘录自 pycon 2017大会的一个演讲,同时结合自己的一些理解. pycon 2017的相关演讲主题是“The Python Visua ...

  7. 高效使用 Python 可视化工具 Matplotlib

    Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表.本文主要介绍了在学习Matplotlib时面临的一些挑战,为什么要使用Matplo ...

  8. Python可视化库-Matplotlib使用总结

    在做完数据分析后,有时候需要将分析结果一目了然地展示出来,此时便离不开Python可视化工具,Matplotlib是Python中的一个2D绘图工具,是另外一个绘图工具seaborn的基础包 先总结下 ...

  9. 数据分析之---Python可视化工具

    1. 数据分析基本流程 作为非专业的数据分析人员,在平时的工作中也会遇到一些任务:需要对大量进行分析,然后得出结果,解决问题. 所以了解基本的数据分析流程,数据分析手段对于提高工作效率还是非常有帮助的 ...

随机推荐

  1. 【Unity Shaders】ShadowGun系列之二——雾和体积光

    写在前面 体积光,这个名称是God Rays的中文翻译,感觉不是很形象.God Rays其实是Crepuscular rays在图形学中的说法,而Crepuscular rays的意思是云隙光.曙光. ...

  2. iOS让软键盘消失的简单方法

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一些文本输入控件等待输入时会弹出软键盘,我们可以设置这些控件的 ...

  3. 登录ssh时Host key verification failed错误

    工作中总是测试不同的路由设备, 路由器的ip都是 192.168.111.1 ,ssh登录的时候总是出现这个错误. macos上,错误如下 spawn ssh -p 22 root@192.168.1 ...

  4. 【安卓网络请求开源框架Volley源码解析系列】定制自己的Request请求及Volley框架源码剖析

    通过前面的学习我们已经掌握了Volley的基本用法,没看过的建议大家先去阅读我的博文[安卓网络请求开源框架Volley源码解析系列]初识Volley及其基本用法.如StringRequest用来请求一 ...

  5. 精通CSS+DIV网页样式与布局--页面和浏览器元素

    在页面和浏览器中,除了文字.图片.表格.表单等,还有很多各种各样的元素,在上篇博文中,小编主要简单的介绍了一下在CSS中如何设置表格和表单,今天小编主要简单介绍一下丰富的超链接特效.鼠标特效.页面滚动 ...

  6. boost::bad_weak_ptr的原因

    出现boost::bad_weak_ptr最可能的原因是enable_shared_from_this<>类构造函数中调用shared_from_this(), 因为构造尚未完成,实例还没 ...

  7. 从JDK源码角度看线程池原理

    "池"技术对我们来说是非常熟悉的一个概念,它的引入是为了在某些场景下提高系统某些关键节点性能,最典型的例子就是数据库连接池,JDBC是一种服务供应接口(SPI),具体的数据库连接实 ...

  8. Mybatis事务(二)事务隔离级别

    一般数据库的隔离级别有4个,由低到高依次为Read uncommitted.Read committed.Repeatable read.Serializable,这四个级别可以逐个解决脏读.不可重复 ...

  9. Spring注入

    Spring注入 Spring注入是指在启动Spring容器加载bean配置的时候,完成对变量的赋值行为. 常用的两种注入方式: setter注入 构造注入 <?xml version=&quo ...

  10. Leetcode_112_Path Sum

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41910495 Given a binary tree an ...