结构化网格
• 笛卡尔方式
Xi+1,j = Xi,j + Δ
• 规格化/统一(Regular/Uniform)
Xi+1,j = Xi,j + Δ I
• 线性方式(Rectilinear)
Xi+1,j = Xi,j + Δ i(Xi,j)
• 曲线方式
Xi+1,j = X(i, j)
Yj+1 = Y (i, j)
非结构化网格
• 有限元素
• 四面体
• 六面体
• 其他
• 数据存储在离散的位置
• 介乎中间的位置
• 许多类型的核函数(kernel)
• 沿着每个坐标轴重建
• 对于非组织的数据更复杂
• 标量: 密度,温度
• 向量: 风向, 力场
• 张量: 压力, 张力, 漫射
坐标图常用于一维数据可视化
定义域是空间信息有关的属性,值域可取不同的物理属性
二维数据:医学影像数据 、地理学数据
方法:
颜色映射法:建立颜色映射表,将标量数据转换为颜色表的索引值
等值线提取法:在同一条曲线上,曲线上的每一点代表的数值相同
高度映射法:高度通常用于编码测量到的数据
标记法
三维数据:医学影像数据、CT, MRI、大气数值模拟数据
方法:
等值面绘制方法
直接体绘制方法
将三维体数据分割成小的体素(立方体),通过判断体素的八个顶点的值来判断它是否在等值面上。
歧义性问题
Marching Cube基本算法的15模式中:
无二义性表面:0,1,2,4,5,8,9,11,14
各有一个二义性表面:3,6(两种连接方式)
各有二个二义性表面:10,12(四种连接方式)
有三个二义性表面:7(八种连接方式)
有六个二义性表面:13(64种连接方式)
共93种可能的连接方式;除去对称和相同的方式,共有34种方式。
等值面加速算法
采用带有最大最小值的八叉树、KD树,按需分叉(branch-on-need)策略:延迟等分的方法,在分叉方向上“低层”分割总是占据最大可能多的结点
GPU加速:金字塔
等值面质量提升:
更高精度的插值
拓扑结构分析
体绘制中所有体素对最后的图像亮度都有贡献根据合成顺序的不同,体绘制方法分为:图像空间扫描的体绘制方法,物体空间扫描的体绘制方法
光线投射体绘制算法:对于图像平面上的每一像素,从视点投射出一穿过该像素的视线,该视线穿过体数据空间,算法直接利用该视线上的采样值合成该像素的亮度。
体素
梯度矢量就是一阶导数
梯度矢量总是指向最大 上升的方向并垂直于等值线
对正交网格,梯度的计算常采用中心差分
关键步骤1:体光照模型(加强深度感觉 增强面结构信息)
关键步骤2:决定吸收的值 和发射的部分
传输函数(传递函数设计通常很难、不直观、很繁琐):
目的:决定体素对最后图像的贡献大小
决定体素的材料性质和外观
原则:
重要的特征和用户感兴趣的区域赋以高的不透明度值
使不重要的区域透明或很小的不透明度值
关键步骤3:体采样
等距离采样:
t=t1;
v = undefined;
while (t < t2) {
x=x0 + at;
y=y0 + bt;
z =z0 + c*t;
v=EvaluateRayFunction (v,t);
t=t+delta_t;
}
关键步骤4:体积分
体积分的离散解:
沿着视线方向离散地重采样数据场
从后向前的积分:
优点:
计算比从前向后的方法简单直接
不用存储累积的α值
从前向后的积分
优点:
可利用早期光线终止算法,当α接近于1时,后面的体元不会再对该像素点有所贡献,可直接终止,省去不必要的计算。因其速度快,应用广泛。
可视化目标:
展示场的导向趋势信息
表达场中的模式
向量场可视化方法:
基于标量场映射可视化
基于几何的方法
基于纹理的方法
基于拓扑分析的方法
向量场的空间和时间维度
空间维度:
2D (平面流)
2.5D (曲面上的流、边界流)
3D (三维空间上的流)
时间维度:
定常流 (静态或一个时间步)
非定常流 (时变、瞬态)
标记法:
线条(hedge hogs)、箭头、方向标志符(三角图符)等
优点:
实现简单、直观、灵活
缺点:
可视混乱
无法揭示出数据的内在连续性
难以表达特征结构如涡流等
基于积分曲线的方法:
流线
对静态流场或时变流场的某个时刻,从某一点开始的一条连续曲线,其上任一点的切线方向均与向量场在 该点的方向一致
s为流线轨迹参数,
τ 为某个时间点的流场
迹线(Pathline)
对时变流场来说,从某一点释放一个粒子在各个时刻形成的一条曲线,其上任一点的切线方向均与该时刻向量场在 该点的方向一致
t为时间参数
脉线
在时变流场的某点,持续释放粒子,在某个时刻,这些粒子形成的轨迹线
时线
脉线的一个扩展,从一条起始轨迹或一个起始区域上的不同位置生成一系列脉线
基于积分曲线的方法:
对稳定向量场,流线、迹线、脉线
相同
非稳定场,迹线、脉线
不同
欧拉方法:简单快速,但精度太低
x(t+dt) = x(t) + v(x(t)) * dt
关键技术2:种子点的选取、流线放置
(1)过多 视觉混乱
(2)过少 表达不完整
种子点的放置策略:覆盖性 (Coverage)、均匀性 (Uniformity)、连续性 (Continuity)
基于纹理的方法:点噪音,随机排列一些圆点,按照局部流场方向对圆点变形,将变形后的圆点用滤波器扩散到纹理中
每个数据点的值为n维矩阵
描述数据在数据点邻域上如何变化