閑時看一篇科學(xué)可視化(SciVis)的文章:Visual Analysis of Multi-run Spatio-temporal Simulations. 看到Isocontour(等值輪廓),就覺得自己對這個概念的理解很模糊烟号,于是有了以下的學(xué)習(xí)筆記卷中。
文章中提出了一種方法來度量兩個Isocontour(等值輪廓)的距離,用的是蒙特卡洛方法敬辣,挺有意思雪标。首先零院,我介紹一下什么是等值面(Isosurface),然后再討論什么是Isocontour(等值輪廓)村刨,最后詳述一下作者如何用蒙特卡洛方法計算兩個Isocontour(等值輪廓)的距離告抄。
等值面(Isosurface)
Wiki上的解釋是:等值面指的是密度或特征近似的一個面,它通常被用于圖形學(xué)領(lǐng)域(早期可視化是圖形學(xué)的一個分支嵌牺,現(xiàn)在獨立出來成為了一個研究領(lǐng)域)打洼,并且也用于CFD流體數(shù)據(jù)的可視化上,它使得工程師可以看到某些物體周圍流體的特征逆粹,例如機翼附近的流場募疮。在醫(yī)學(xué)圖像處理領(lǐng)域,等值面被用于表征一個三維CT數(shù)據(jù)里相似密度的區(qū)域僻弹,這可以幫助可視化人體的器官阿浓,骨骼以及其它的結(jié)構(gòu)。從應(yīng)用領(lǐng)域來說奢方,等值面和科學(xué)可視化非常相關(guān)搔扁。在我看來,大家熟知的地理上用的等高線是等值面的一種特殊形式蟋字。
提取等值面有很多的方法稿蹲,Marching Cubes是最常見的一種,常用于提取3D流體數(shù)據(jù)的表面鹊奖。通過基于物理的計算苛聘,可以生成3D流體粒子數(shù)據(jù)(SPH就是一種流體粒子的繪制技術(shù)),但在真實感圖形動畫中忠聚,一般支持的是面(Mesh)设哗,因此呢,由Marching Cubes生成的Isosurface就能提供真實感繪制需要的Mesh两蟀。
等值輪廓(Isocontour)
知道了等值面后网梢,等值輪廓就很容易理解了,就是等值面的邊緣部分赂毯。
等值輪廓的距離
首先战虏,定義好等值輪廓的2D空間畫布,然后往畫布上隨機撒點党涕,用插值的梯度函數(shù)判斷點是否在某個等值輪廓上烦感。這樣的話就可以得到A和B的兩個屬性向量Va和Vb,向量的維度就是落在等值輪廓里點的數(shù)量膛堤。Va和Vb可以近似表達等值輪廓的大小和形狀手趣。A^B代表同時落在兩個輪廓里的點的數(shù)量。AVB代表落在輪廓A或B里的點的數(shù)量肥荔。然后绿渣,Jaccard 距離計算最后的距離朝群,這個距離計算方法常用于計算集合的相似度,具體出處可參考論文Distance between Sets怯晕。