新四季網

支持三維體數據內部視點漫遊的球面體繪製方法

2023-06-11 23:09:51

支持三維體數據內部視點漫遊的球面體繪製方法
【專利摘要】本發明公開一種支持三維體數據內部視點漫遊的球面體繪製方法。該方法包括:採用球面坐標表達構造三維體數據的球形代理幾何並以之作為載體,構造三維體紋理;在光線投射過程中,判斷當前視點和球形代理幾何的相對位置,若當前視點已經進入球形代理幾何,則以當前視點作為光線積分起始點,再用直線與球的求交算法計算,獲取光線與球形代理幾何的一個有效交點並以該有效交點作為光線積分的終止點;若當前視點沒有進入球形代理幾何,則直接使用直線與球的求交算法計算光線與球形代理幾何的兩個有效交點,以獲得的兩個有效交點作為光線積分的起始點和終止點。之後,計算光線積分,獲得最終圖像,達到體數據內部視點漫遊的效果。
【專利說明】支持三維體數據內部視點漫遊的球面體繪製方法
【技術領域】
[0001]本發明涉及一種支持三維體數據內部視點漫遊的球面體繪製方法,屬於圖形繪製領域。
【背景技術】
[0002]光線投射法是一種主要應用於三維空間數據場的體繪製技術。無需構造中間圖元,通過對體數據進行分類,賦予不同分類以不同的顏色和不透明度值,再沿每一條光線進行光線積分,由光線所在位置的體數據值通過傳輸函數查找獲取對應的顏色和不透明度等光學屬性進行混合累加,直接由三維數據場在屏幕上產生二維圖像。其主要優點在於可顯示體數據的表面信息以及內部結構信息,有利於領域專家和用戶理解與分析數據,捕獲重要特徵,發掘未知知識和現象。因此體繪製在航空航天、醫學影像、計算流體力學、氣象學等眾多領域得到了廣泛應用。其它常用的體繪製算法還有足跡表法,錯切變形法,三維紋理貼圖法等。
[0003]隨著體繪製技術應用的日益成熟和廣泛,諸多領域的用戶開始對其提出了新的要求。傳統的體繪製方法,往往以立方體、長方體或者圓柱構造三維體數據的代理幾何並以所述代理幾何為載體構造三維體紋理,且局限於在代理幾何外圍對其進行觀察和旋轉等操作。對於特定的應用領域,用戶希望看到更具真實感的情景下的體繪製效果。例如,以全球氣象變化為背景的應用,如果以傳統的方式進行體繪製和結果展示,領域專家只能在包圍盒外觀察和操作一個立方體的或者長方體的數據場體繪製結果,而這個數據場可能是全球某一時刻的氣溫場或者風速場等。這種體繪製結果展示和交互方式與「地球是近似圓形的,相應的數據場也應該是圍繞地球分布」的傳統感知和認識不匹配。氣象專家在認知和感知上都更傾向於球形的、和真實情境相一致的數據場繪製結果。又如,以空軍的飛機在真實的雲層裡穿行這樣一個模擬駕駛場景為例,當飛機穿越雲層的時候,處於雲層的內部,傳統的體數據觀察和操作方式無法適用。亟需一種能在體數據內部進行自由漫遊的體繪製方法。

【發明內容】

[0004]本發明的目的在於提供一種支持三維體數據內部視點漫遊的球面體繪製方法。
[0005]為實現上述目的,本發明對傳統的光線投射體繪製算法進行了改進。本發明方法的主要思路是採用球面坐標表達構造一個球形代理幾何,並以球面坐標系下的三個空間維度坐標作為紋理坐標、以歸一化後的三維體數據作為紋理數據、以所述球形代理幾何作為載體構造三維體數據的三維體紋理,而在繪製過程前又將球面坐標轉換回直角坐標表達,然後在光線投射過程中,通過當前視點與球形代理幾何的相對位置判斷當前視點是否進入球形代理幾何,再結合直線與球的求交算法計算光線與球形代理幾何的有效交點,由此獲得不同的光線積分的初始點和光線積分的終止點,再從光線積分的起始點開始沿光線迭代地、遞進地計算當前光線位置並將之轉化為球面坐標表達以便將轉化後的以球面坐標表達的當前光線位置作為紋理坐標進行三維體紋理查詢,獲得對應的三維體數據值,然後進行傳輸函數紋理查詢,混合每個迭代步的顏色和不透明度直至光線積分的終止點,獲得最終的體繪製圖像,達到體數據內部視點漫遊的效果。
[0006]為實現本發明的目的,本發明所採取的技術方案是:本發明支持三維體數據內部視點漫遊的球面體繪製方法包括如下步驟:
[0007](I)加載三維體數據,將三維體數據的數據值做歸一化處理;然後採用球面坐標表達構造歸一化後的三維體數據的球形代理幾何,並以球面坐標系下的三個空間維度坐標作為紋理坐標、以歸一化後的三維體數據作為紋理數據、以所述球形代理幾何作為載體構造三維體紋理,然後確定歸一化後的三維體數據的數據值分別與顏色、不透明度之間的映射關係,以歸一化後的三維體數據的數據值作為紋理坐標、以映射所得的顏色和不透明度作為紋理數據生成傳輸函數紋理;
[0008](2)對所述球形代理幾何開啟正面剔除功能,然後將所述球形代理幾何按經緯度分塊,再使用球面坐標和直角坐標轉換將球形代理幾何逐塊地轉化為直角坐標表達;逐塊地將轉化後的以直角坐標表達的球形代理幾何的頂點信息、所述傳輸函數紋理、三維體紋理、直角坐標系下的當前視點位置以及球形代理幾何的半徑一併從CPU傳入GPU,並作為可編程圖形流水線的輸入進行繪製,再通過硬體光柵化獲得光線在球形代理幾何上的出點信息;
[0009](3)由直角坐標系下的當前視點位置向屏幕所有像素髮出光線,一個像素對應一條光線;以當前視點位置和所述出點信息計算光線的方向,通過比較當前視點到球形代理幾何的球心位置的距離與球形代理幾何的半徑的大小,判斷當前視點是否進入球形代理幾何:若當前視點到球形代理幾何的球心位置的距離小於等於球形代理幾何的半徑,表明當前視點進入球形代理幾何,則以當前視點位置作為光線發射位置和光線積分的起始點,然後使用直線和球的求交算法計算得到光線與球形代理幾何的一個有效交點,並以該有效交點作為光線積分的終止點;若當前視點到球形代理幾何的球心位置的距離大於球形代理幾何的半徑,表明當前視點沒有進入球形代理幾何,則直接使用直線和球的求交算法計算得到光線與球形代理幾何的兩個有效交點,並以這兩個有效交點中計算值較小的有效交點作為光線積分的起始點,而以計算值較大的有效交點作為光線積分的終止點;
[0010]對每一個像素所對應的光線計算光線積分以獲得當前光線所對應的像素點的顏色和不透明度值;所述計算光線積分是指在光線積分的起始點和終止點之間,從光線積分的起始點開始,按以下方法沿著光線方向以固定步長逐步遞進地進行光線採樣,獲取採樣點的顏色和不透明度並與之前累積的顏色和不透明度進行混合,直至光線積分的終止點:
[0011]將當前迭代步計算得到的採樣點作為當前光線位置,將該當前光線位置從直角坐標表達轉化回球面坐標表達並歸一化,接著以歸一化後的當前光線位置作為紋理坐標進行紋理查詢,從所述三維體紋理中獲取當前光線位置的三維體數據的數據值,然後以當前光線位置的三維體數據的數據值作為紋理坐標進行紋理查詢,從傳輸函數紋理中獲取當前光線位置的三維體數據的數據值所對應的顏色和不透明度;再將獲取到的顏色和不透明度與之前累積的顏色和不透明度作為輸入參數,利用圖像合成公式(I)和(II)對顏色和不透明度進行混合:
_ 2] Cout a out = Cin a in+Cnow a now(l-a J ( I )
[0013]aout = a in+anow(l-a J (II)[0014]式(I )和式(II)中,Cnmt表示當前迭代步所獲取的顏色值,anOT表示當前迭代步所獲取的不透明度值,Cin表示之前累積的顏色值,a ^表示之前累積的不透明度值,Cout表示經過當前迭代步的混合後的顏色值,a out表示經過當前迭代步的混合後的不透明度值,Cn0w> a now> Cm、Q in、Cout、O -的取值範圍均為[O, I]。
[0015]與傳統的體繪製技術相比,本發明的有益效果在於:結合光線投射體繪製算法的優點,同時針對特定應用領域需要更符合領域專家、用戶認知和感知的三維體數據可視化和交互方式的實際問題,提供一種支持三維體數據內部視點漫遊的球面體繪製方法;與現有的方法相比,本發明以球面坐標表達的球形代理幾何作為三維體紋理的載體,貼近氣象、海洋等應用領域的需求和認知,實現和應用簡單直觀,同時實現以任意位置為光線積分起始點的光線投射體繪製效果,達到視點在體數據內部的漫遊功能,使得用戶可移動視點進入體數據內部任意位置,自由漫遊觀察整個數據和場景,從任意角度和位置觀察體繪製結果,直接觀察體數據的細節和結構,可增強用戶對於三維數據場的感知,提高心理認同度,給用戶更真實直觀的感受和體驗,營造情景沉浸感,更有利於幫助用戶從數據中發現未知的特徵和知識,同時為未來的大屏高清可視化應用打下基礎。此外,本發明充分地利用了圖形硬體的優勢,可滿足實時渲染的性能要求。 【專利附圖】

【附圖說明】
[0016]圖1是本發明中使用直線和球的求交算法計算光線與球形代理幾何的有效交點的示意圖。
【具體實施方式】
[0017]下面對本發明的支持三維體數據內部視點漫遊的球面體繪製方法作進一步說明,具體步驟如下:
[0018]步驟I):加載三維體數據,並對三維體數據的數據值進行歸一化,將三維體數據的數據值的範圍變換到[0,I]之間。採用球面坐標表達構造三維體數據的球形代理幾何;並以球面坐標系下的三個空間維度坐標作為紋理坐標,以歸一化後的三維體數據作為紋理數據,以所述球形代理幾何作為載體構造三維體紋理。同時,使用一維數組構建傳輸函數查找表,定義三維體數據的數據值與顏色的映射關係,以及三維體數據的數據值與不透明度的映射關係;以歸一化的三維體數據的數據值作為紋理坐標,以映射所得的顏色和不透明度作為紋理數據生成傳輸函數紋理。
[0019]步驟2)在CPU端的初始化代碼中,調用圖形函數接口,啟用可編程管線,創建並編譯頂點著色器和片元著色器,設置渲染狀態,開啟正面剔除功能;將球形代理幾何的三維數學表達按經緯度分解為N*M塊矩形表達,建議經度方向取值N=200,緯度方向取值M=100,分解為200*100,亦可依據實際情況減小或者增大N和M的取值;再使用球面坐標和直角坐標轉換將球形代理幾何逐塊地轉化為直角坐標表達。至此,若無特別說明,接下來的繪製和計算流程都以直角坐標系表達。調用可編程著色語言函數接口將上述轉換後的球形代理幾何的頂點信息、傳輸函數紋理與三維體紋理、當前視點位置以及球形代理幾何的半徑R等一併從CPU傳入GPU,作為可編程圖形流水線的輸入。
[0020]繪製球形代理幾何,通過正面剔除,可在頂點著色器中獲得球形代理幾何的背面頂點信息;可編程圖形流水線中,前述球形代理幾何的背面頂點信息從頂點處理階段進入片元處理階段之前被硬體光柵化,由此獲得光線在球形代理幾何上的片元級別的出點信息,定義為ray_exit_point ;進入光線投射階段,由當前視點位置向屏幕所有像素髮出光線,一個像素對應一條光線。由於每條光線計算和處理互相獨立、過程相同以及GPU的並行特性,所有光線的處理和計算在片元著色器上同時地、並發地進行。
[0021]步驟3)對於每一條光線,在獲取上述信息後,在片元著色器中定義視點,即當前視點位置eye,如式(I)所示:
[0022]eye (x0, y0, z0) (I)
[0023]式⑴中,Χ(Ι、^、Ζ(Ι為當前視點位置的直角坐標表達,再以當前視點位置和出點信息構建光線方向向量rayDir並歸一化,如式(2)所示,
[0024]rayDir (xd, yd, zd) = normalize (ray_exit_point-eye) (2)
[0025]式⑵中,xd、yd、zd分別為光線方向向量在直角坐標系下沿x、y、z三個坐標軸的分量,normalize代表歸一化函數。定義光線Ray,如式(3)所示,
[0026]Ray = eye+t*rayDir (3)
[0027]式(3)中,t表示光線長度參數,即光線從當前視點位置eye出發沿光線方向rayDir前進的距離的度量,t的初始值為0,當t的取值為負數時代表無效的光線位置。將式(3)參數化得到如式(4)所示的光線的參數化方程:
[0028]X = x0+xd*t
[0029]y = y0+yd*t (4)
[0030]z = z0+zd*t
[0031]式(4)中,Xd, yd、Zd分別為光線方向向量在直角坐標系下沿x、y、z三個坐標軸的分量,Xryc^ztl為當前視點位置的直角坐標表達。由於球形代理幾何球心在(0,0,0),可設球形代理幾何的方程如(5)式所示,
[0032]X2s+y;+Z2s =R2(5)
[0033]式(5)中,R表示球形代理幾何的半徑,xs、ys、zs為球形代理幾何上任意一點在直角坐標系下的位置。將光線參數化方程(4)代入球形代理幾何的方程(5),得到光線與球形代理幾何相交的一元二次形式方程,如式(6)所示,
[0034]A*t2+B*t+C = O (6)
[0035]其中,
[0036]Α = χ2?+y]+ζ] = 1
[0037]B = 2*(x0xd+y0yd+z0zd)
[0038]0 = 2*+ -l.Zq') — R
[0039]設式(6)的解的判別式為式(7):
[0040]discriminator = B2-4*A*C, A = I (7)
[0041]首先,通過比較當前視點到球形代理幾何的球心位置的距離(即distEye = 4xl + v02+z0 )與球形代理幾何的半徑R,判斷當前視點是否在球形代理幾何內部。若distEye <= R,說明當前視點進入球形代理幾何(如圖1的光線2所示),則以當前視點的位置作為光線發射位置和光線積分的起始點,然後使用直線和球的求交算法計算光線與球形代理幾何的有效交點,以便獲得光線積分終止點,具體過程如下:
[0042]設光線與球形代理幾何兩交點的t值,即式(6)中的t,分別為e_point_0,e_point_l,由於當前視點在球形代理幾何內部,所以判別式(7)大於O成立,式(6)有解。通過一元二次方程求根公式計算交點t值,如以下式(8)所示,
【權利要求】
1.一種支持三維體數據內部視點漫遊的球面體繪製方法,其特徵是,包括如下步驟: (1)加載三維體數據,將三維體數據的數據值做歸一化處理;然後採用球面坐標表達構造歸一化後的三維體數據的球形代理幾何,並以球面坐標系下的三個空間維度坐標作為紋理坐標、以歸一化後的三維體數據作為紋理數據、以所述球形代理幾何作為載體構造三維體紋理,然後確定歸一化後的三維體數據的數據值分別與顏色、不透明度之間的映射關係,以歸一化後的三維體數據的數據值作為紋理坐標、以映射所得的顏色和不透明度作為紋理數據生成傳輸函數紋理; (2)對所述球形代理幾何開啟正面剔除功能,然後將所述球形代理幾何按經緯度分塊,再使用球面坐標和直角坐標轉換將球形代理幾何逐塊地轉化為直角坐標表達;逐塊地將轉化後的以直角坐標表達的球形代理幾何的頂點信息、所述傳輸函數紋理、三維體紋理、直角坐標系下的當前視點位置以及球形代理幾何的半徑一併從CPU傳入GPU,並作為可編程圖形流水線的輸入進行繪製,再通過硬體光柵化獲得光線在球形代理幾何上的出點信息; (3)由直角坐標系下的當前視點位置向屏幕所有像素髮出光線,一個像素對應一條光線;以當前視點位置和所述出點信息計算光線的方向,通過比較當前視點到球形代理幾何的球心位置的距離與球形代理幾何的半徑的大小,判斷當前視點是否進入球形代理幾何:若當前視點到球形代理幾何的球心位置的距離小於等於球形代理幾何的半徑,表明當前視點進入球形代理幾何,則以當前視點位置作為光線發射位置和光線積分的起始點,然後使用直線和球的求交算法計算得到光線與球形代理幾何的一個有效交點,並以該有效交點作為光線積分的終止點;若當前視點到球形代理幾何的球心位置的距離大於球形代理幾何的半徑,表明當前視點沒有進入球形代理幾何,則直接使用直線和球的求交算法計算得到光線與球形代理幾何的兩個有效交點,並以這兩個有效交點中計算值較小的有效交點作為光線積分的起始點,而以計算值較大的有效交點作為光線積分的終止點; 對每一個像素所對應的光線計算光線積分以獲得當前光線所對應的像素點的顏色和不透明度值;所述計算光線積分是指在光線積分的起始點和終止點之間,從光線積分的起始點開始,按以下方法沿著光線方向以固定步長逐步遞進地進行光線採樣,獲取採樣點的顏色和不透明度並與之前累積的顏色和不透明度進行混合,直至光線積分的終止點:` 將當前迭代步計算得到的採樣點作為當前光線位置,將該當前光線位置從直角坐標表達轉化回球面坐標表達並歸一化,接著以歸一化後的當前光線位置作為紋理坐標進行紋理查詢,從所述三維體紋理中獲取當前光線位置的三維體數據的數據值,然後以當前光線位置的三維體數據的數據值作為紋理坐標進行紋理查詢,從傳輸函數紋理中獲取當前光線位置的三維體數據的數據值所對應的顏色和不透明度;再將獲取到的顏色和不透明度與之前累積的顏色和不透明度作為輸入參數,利用圖像合成公式(I )和(II)對顏色和不透明度進行混合:
C0Ut α out = Cin a in+Cnow anow(l-a J ( I )
α out = α in+α now (1-α in)(Π) 式(I )和式(II)中,CnOT表示當前迭代步所獲取的顏色值,αηΜ表示當前迭代步所獲取的不透明度值,Cin表示之前累積的顏色值,α ^表示之前累積的不透明度值,Cout表示經過當前迭代步的混合後的顏色值,a _表示經過當前迭代步的混合後的不透明度值,Cnow,a now> Cm、a in、Cout> O -的取值範圍均為[O, I]。
【文檔編號】G06T17/00GK103559733SQ201310466860
【公開日】2014年2月5日 申請日期:2013年10月9日 優先權日:2013年10月9日
【發明者】陳為, 丁治宇, 陳海東 申請人:浙江大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀