可视化技术
标量算法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。如下图所示:
Contouring 的绘制有两种方法,一种是插值法,然后track每个cell边界的等值点。等值线的跟踪 (track) 直到形成闭合或者退出数据集边界为止。等值线不一定只有一条,因此必须将每条边界线都要遍历。另一种方法是对每个cell单独处理的Marching squares 或者 marching cubes 方法。
假设我们得到了等值线与squares 或者 cubes的交点,那这些交点应该以怎样的拓扑结构进行连接呢? 我们需要定义一定的标准来保证统统的交点能够得到一致的等值线。
就一个六面体而言,假设某一个顶点的值大于(或者等于)给定的等值面值C,我们就将该点标记位置1,表示该顶点位于等值面之内(或者之上)。而如果某一个顶点的值小于给定的等值面值C,我们就将该点标记位置0,表示该顶点位于等值面之外。如果六面体中某一条边的一个顶点在等值面之内,另一个顶点在等值面之外,那么该边一定与等值面相交。根据这一方法,就可以确定等值面是否与当前处理的六面体相交。在二维空间中的四边形也是如此,四边形的等值线一共有2^4中组合。如下图所示:
上图所示为16中不同的 Marching Squares情况。
上图所示为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。下图所示为标量产生的一种方法。方向向量与法向量的点积得到标量。该标量的物理意义是:点积为正表明是正向运动,负表示反向运动。