VTK 可视化技术-基础算法1

可视化技术

标量算法Scalar Algorithm

标量算法包括:Color Mapping 和 Contouring

Color Mapping 将标量值颜色映射的关键是 lookup table entries 的选择,有四种选择方式Top-left: grayscale; Top-right rainbow (blue to red); lower-left rainbow (red to blue); lower-right large contrast。如下图所示:

Figure 6-3

Contouring 的绘制有两种方法,一种是插值法,然后track每个cell边界的等值点。等值线的跟踪 (track) 直到形成闭合或者退出数据集边界为止。等值线不一定只有一条,因此必须将每条边界线都要遍历。另一种方法是对每个cell单独处理的Marching squares 或者 marching cubes 方法。 

假设我们得到了等值线与squares 或者 cubes的交点,那这些交点应该以怎样的拓扑结构进行连接呢? 我们需要定义一定的标准来保证统统的交点能够得到一致的等值线。

就一个六面体而言,假设某一个顶点的值大于(或者等于)给定的等值面值C,我们就将该点标记位置1,表示该顶点位于等值面之内(或者之上)。而如果某一个顶点的值小于给定的等值面值C,我们就将该点标记位置0,表示该顶点位于等值面之外。如果六面体中某一条边的一个顶点在等值面之内,另一个顶点在等值面之外,那么该边一定与等值面相交。根据这一方法,就可以确定等值面是否与当前处理的六面体相交。在二维空间中的四边形也是如此,四边形的等值线一共有2^4中组合。如下图所示:

Figure6-5

 

上图所示为16中不同的 Marching  Squares情况。

Figure 6-6

上图所示为16中不同的 Marching Cubes 情况。使用了对称参数的性质将本应该是 2^8 中类型 减少成为了15种。红色的点大于等值面。

注意!!当相邻的边缘点处于不同的状态,而对角顶点处于相同的状态时,二维正方形或三维立方体的表面会产生 Contouring ambiguity。即等值线或者面的画法不只是一种。这种情况在Track方法中也有存在。

在二维情况下出现 contour ambiguity 有两种选择 join 或者是 break。 

该图显示的是Marching  Squares 情况下的Case 10。

在三维情况下出现 contour ambiguity  则表现比较复杂。一种方法是利用三角形面或者四面体解决 ambiguity.。

另一种方法是计算平面的渐进行为,决定join或者break 等值线。一个简单有效的方法是是增加 complementary cases。补充的的六种情况分别对应于marching cubes 中的3, 6, 7, 10, 12, 和 13

Scalar Generation  例如在一幅图中,x,y代表的是平面坐标,z轴代表的是高度。当我们需要在图中画出等高线,而且依据海拔高度为图像着色。 此时,z轴的坐标值就是需要计算或者产生的scalar。下图所示为标量产生的一种方法。方向向量与法向量的点积得到标量。该标量的物理意义是:点积为正表明是正向运动,负表示反向运动。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
VTK 编程简介(转载) .......................................................... 3 VTK 数据类型 ................................................................. 8 VTK 教程之一 可视化管线 ...................................................... 9 VTK 教程之二 可视化管线的执行 ............................................... 13 VTK 教程之三 数据集 ......................................................... 15 VTK 教程之四 单元和点集 ..................................................... 16 VTK 教程之五 数据集的类型和数据集的属性数据 ................................. 22 VTK 教程之六 构建数据集的例子程序 ........................................... 26 VTK 教程之七 可视化基础算法-概述 ............................................ 28 VTK 教程之八 可视化基础算法-颜色映射 ........................................ 29 VTK 教程之九 可视化基础算法-二维轮廓线(等值线)提取 ........................ 33 VTK 教程之十 可视化基础算法-三维轮廓面(等值面)提取 ........................ 40 VTK 教程之十一 可视化基础算法-方向线 ........................................ 43 VTK 教程之十二 可视化基础算法-几何体变形 .................................... 46 VTK 教程之十三 可视化基础算法-位移图 ........................................ 50 VTK 教程之十四 可视化基础算法-用隐函数构建几何体 ............................ 53 VTK 培训教程之十五 可视化基础算法-用隐函数提取数据集中的数据 ................ 63 VTK 培训教程之十六 可视化基础算法-用隐函数可视化随机或离散运动的物体 ........ 65 VTK(Visualization Toolkit)安装和配置 没有找到 vc6.0 或 vc8.0 下的安装版, 若是用 vc7.0 话有现成的安装版本, 只能自己动手编 译了一下 安装版的配置环境(VC6,Windows) 1. 必须要下载的东西,VC6 已经装好为前提: vtk-5.0.4-win32.exe 安装程序 http://vtk.org 的 Download vtk-5.0.4.zip 源程序 vtkdata-5.0.4.zip 数据 2. 安 装 vtk-5.0.4-win32.exe 在 D:\Program Files\VTK 5.0, 解 压 vtk-5.0.4.zip 到 D:\Program Files\VTK 5.0\vtk-5.0.4, vtkdata-5.0.4.zip 到 D:\Program Files\VTK 5.0\vtkdata-5.0.4 3. 用 cmake 编译到 D:\Program Files\VTK 5.0\bin 下,(这一步花了我不少 时间,每次 cmake 编译到一定量就死掉,不知道什么原因,编译了不下 10 次终于成功) 4. 参数设置,几个关键参数要注意; vtk_use_guisupport,打开它,才能选 vtk_use_mfc,再 configure; vtk_data_root: 目的是告诉 cmake,vtk 需要的数据都在哪里,我们的数据在 D:\Program Files\VTK 5.0\vtkdata-5.0.4 build_examples: 就是询问是否编译 vtk 中的例子,我第一次的时候选上了,结果编译了 2 个小时的例子还没编译完,所以我后来选了 off。 build_shared_libs: 如果设置为 off,就只会生成 lib 文件,用于开发肯定是够了。如果 设置为 on, 将会多生成 dll 文件, 这些 dll 需要

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清韵逐梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值