可视化技术

标量算法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。如下图所示:

jsrem可视化计算 可视化分析的常用算法_二维

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

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

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

jsrem可视化计算 可视化分析的常用算法_点积_02

 

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

jsrem可视化计算 可视化分析的常用算法_二维_03

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

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

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

jsrem可视化计算 可视化分析的常用算法_其他_04

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

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

jsrem可视化计算 可视化分析的常用算法_标量_05

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

jsrem可视化计算 可视化分析的常用算法_点积_06

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

jsrem可视化计算 可视化分析的常用算法_其他_07