矢量场可视化是科学计算可视化中非常前沿的研究课题,它可以将矢量场的情况清晰地反映出来,矢量场可视化常用的方法有很多很多,现举例如下:
箭标图方法:
矢量线方法:
粒子及粒子动画:
粒子沿着矢量场的方向运动,因为我找不到这种动态图片,所以结果就不贴了,效果很容易想象的。
最后就是我实现的LIC的方法:
L IC 方法是基于矢量方向的相关性来对噪声纹理进行低通滤波,最终显示相关性。具体地说,,L IC选择噪声(一般为白噪声) 作为输入纹理,输出纹理的每个像素值均通过线积分卷积得到:首先基于该像素沿矢量正、反方向对称积分得到流线,将流线上所有象素对应的输入噪声值按卷积核参与卷积,结果作为输出纹理的像素值。
图1 噪声 图2 矢量场
图3 LIC的结果
LIC的输入是一幅噪声图片加上矢量场,最后得到纹理的结果,如上图。
实际上LIC的思想很简单,就是把流线上的所有点都参与卷积(其实就是一个加权平均,实际处理时有很多加权的办法,取平均就是最简单的)。
LIC的步骤:
1.读入噪声图片
2.读入矢量场
3.对于矢量场中的每一个点,跟踪流线,
跟踪流线是LIC中最具挑战的一步,意思就是说根据矢量场中每个点的方向,找出在同一条方向上的点,当然,流线的长度是可以规定的,一般定位十。
4.卷积。
上面介绍的很简单,很有多这方面的论文,都写得很详细。
以上的方法只能显示矢量场的方向,不能显示矢量场的长度,因此,我用了一种叫做“Color LIC”的方法,用伪彩色来显示矢量的长度,这里用到了colormap,网上很多关于伪彩色的介绍,很详细。
当然,用不同的color map会有不同的效果。
介绍的很简略,因为过程很麻烦,所以没办法细讲,欢迎交流,我的联系方式我的空间能够找到。
OVER