VTK编程

VTK草稿4

2015-09-24  本文已影响0人  yzld2002

4.2 Using VTK Interactors

vtkRenderWindowInteractor

wireframe surface

4.3 Filtering Data

之前的例子都是source object直接连入mapper object,中间没有filters。filters的连接是通过SetInput()GetOutput()方法。
这里举的一个例子就是在之前的例子中加入了一个filter。核心的代码如下:

// set filter
vtkShrinkPolyData shrink  = vtkShrinkPolyData::New();
shrink->SetInput(part->GetOutput());
shrink->SetShrinkFactor(0.85);
// set Mapper
vtkPolyDataMapper partMapper = vtkPolyDataMapper::New();
partMapper->SetInput(shrink->GetOutput());

由于vtk这个例子只有python和tcl的版本,这里我就偷懒直接用python脚本运行了,要用vtk的python wrapper,可以用$VTK_BUILD/bin/vtkpython,在/usr/local/bin中也有vtkpython,但不知道为何显示import vtk失败,可能是环境变量没有配置好,不过在vtk安装目录下的那个是可以用的,运行结果如下:

shrink filter

这个shrink filter的含义从字面上没法理解,有待进一步研究……

4.4 Controlling The Camera

vtkCamera cam1 = vtkCamera::New();
cam1->...  // 设置cam1的属性
vtkRenderer ren1 = vtkRenderer::New();
ren1->SetActiveCamera(cam1);
- 从renderer中得到默认的camera,对其进行属性设置
cam1 = ren1->GetActiveCamera();
cam1->...   // 设置cam1属性

4.5 Controlling Lights

4.6 Controlling 3D Props

vtkProp3D的位置

Shift to Origin -> Scale -> Rotate Y -> Rotate X -> Rotate X -> Shift from Origin -> Translate

Actors

Level-Of-Detail Actors

Assemblies

cone + cylinder + cube + sphere 构成的 assembly

Volumes

SimpleRayCast.py
上一篇 下一篇

猜你喜欢

热点阅读