基于LIC算法的二维矢量场可视化

       线积分卷积算法(Line Integral ConvolutionLIC)是一种经典的矢量场可视化方法,由CabralLeedom 1993年的SIGGRAPH大会上提出,该算法可以有效地表征二维矢量场,既能清楚直观地反映出每点的速度方向,又能表达矢量场的细节。该算法的提出对于矢量场可视化具有广泛而深远的意义,已被成功应用到很多领域。其发展至今,已经涉及到噪声选取、信号滤波、卷积运算、纹理映射及计算机动画等多种技术,具有广阔的发展前景。


       用卷积来表示矢量场的方向源于一种运动模糊的思想LIC算法原理可概述为利用一维低通卷积核双向对称地沿流线方向卷积白噪声纹理,最终合成矢量纹理。下图LIC算法计算示意图。

               

       

       对于输出纹理图像的某像素点 P ,以 P 为中心沿正、反方向对称线积分得到流线 ρ   ( τ ) 其中 L ≤τ≤ L L 为正(反)向流线长度。正反向流线相等可保持对称相关性; τ 0 时即对应像素点 P P   的像素值 T (ρ (0)) 为流线各点噪声纹理值的卷积:

                                       

离散形式为:

                                           基于LIC算法的二维矢量场可视化_第1张图片

其中T为输入白噪声纹理,T(ρ(τ))为流线上各点噪声纹理值。k(τ)为卷积核(可为盒型卷积核、三角卷积核等),表示流线各点与P的相关性。pi为流线上的N个离散点,WipiP的贡献,即卷积核k(τ)在点pi-1pi之间覆盖的面积。原始的LIC算法计算效率较差,StallingHege1995年的SIGGRAPH会议上提出了FastLIC算法,从计算速度和图像分辨率等方面对LIC算法进行了改进。该算法考虑盒型卷积核作用下,利用同一条流线上相邻像素之间的相关性,构造出差分表达式:

                                                                      

在一次积分过程中计算出多个像素值,从而去掉了很多重复计算,使计算的线积分数量大为减少,提高了LIC算法的计算速度,并通过四阶Runge-Kutta数值积分法改进了LIC算法的精度。下图为通过LIC算法生成的矢量纹理,第一行为模拟矢量场数据,第二行为数值预报风场数据。


                     基于LIC算法的二维矢量场可视化_第2张图片  
                       


   相关代码下载链接如下:http://download.csdn.net/detail/u013085897/8794551


参考文献:
[1]   唐泽圣. 三维数据场可视化. 清华大学出版社, 1999.
[2]   Cabral B, Leedom L.C.Imaging Vector Fields Using Line Integral Convolution. Proceedings of ACM SIGGRAPH’93,Anaheim, 1993 :263-270.
[3]   Stalling D, Hege H. Fast andResolution Independent Line Integral Convolution. Proceedings of ACM SIGGRAPH’95,Los Angeles, 1995: 249-256.



你可能感兴趣的:(基于LIC算法的二维矢量场可视化)