zoukankan      html  css  js  c++  java
  • 科学计算三维可视化---TVTK管线与数据加载(可视化管线和图像管线了解)

    一:TVTK的管线

    使用管线技术将TVTK中各个对象穿连起来,几乎所有渲染引擎都会提到管线技术
    在TVTK中,每个对象只需要实现相对简单的任务,整个管线则能根据用户的需求,实现复杂的数据可视化处理。
    在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) #将数据源的输出赋给映射器的输入
    >>> s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0)
    >>> s.output_port
    <tvtk.tvtk_classes.algorithm_output.AlgorithmOutput object at 0x0000000004CF79E8>
    >>> m = tvtk.PolyDataMapper(input_connection=s.output_port)
    >>> m.input_connection
    <tvtk.tvtk_classes.algorithm_output.AlgorithmOutput object at 0x0000000004CF79E8>  #两者一致
    数据源对象由input_connection=s.output_port属性连接起来

     (二)图形管线

    主要解决图形的可视化显示过程

    #创建一个Actor,是一个实体
    a = tvtk.Actor(mapper=m)    #传入前一个管线的映射器含有图形数据,和前面的可视化管线相连接
    #创建一个Renderer(渲染器),将Actor添加进去
    r = tvtk.Renderer(background=(0,0,0))   #显示背景设为黑色
    r.add_actor(a)  #将Actor添加进去
    #创建一个RenderWindow(窗口),将Renderer添加进去
    w = tvtk.RenderWindow(size=(300,300))   #创建一个显示窗口
    w.add_renderer(r)   #将建立的渲染器加入窗口
    #创建一个RenderWindowInteractor(窗口的交互工具)
    i = tvtk.RenderWindowInteractor(render_window=w)    #创建一个交互工具,将窗口加入交互
    #开启交互
    i.initialize()
    i.start()
  • 相关阅读:
    Hive编程指南学习笔记
    HIVE的HQL语句优化原理
    启动avd Android模拟器缓慢 HAXM自动安装失败
    linu保持远程会话
    webdriver下拉框中选择option的方法提醒
    python3输出指定log信息
    python3 读取csv的常用语法
    谁说selenium打开firefox不用驱动的???!!!!
    项目上有点忙,不做上周就做好了计划的东西
    django 的auth.authenticate返回为None
  • 原文地址:https://www.cnblogs.com/ssyfj/p/9298994.html
Copyright © 2011-2022 走看看