本發(fā)明涉及數(shù)據(jù)可視化和計(jì)算機(jī)圖形學(xué)領(lǐng)域,尤其涉及一種根據(jù)數(shù)據(jù)拓?fù)鋵傩远x為不同物體定義不同光照參數(shù)的方法。
背景技術(shù):
可視化中的光照設(shè)計(jì)在三維形狀描述中具有重要作用,全局光照模型能夠輔助用戶在繪制圖像中感知物體深度信息和大小,真實(shí)感的光照可以輔助用戶在體繪制中花更少的時(shí)間感知更精確的物體深度信息。以三維體視化為例,在體視化中,一旦轉(zhuǎn)換函數(shù)與視點(diǎn)確定,數(shù)據(jù)中物體特征的可視感知主要取決于光照參數(shù)。局部光照模型如 Blinn-Phong 模型主要描述結(jié)構(gòu)形狀和局部細(xì)節(jié),而全局光照模型進(jìn)一步描述結(jié)構(gòu)之間的隱藏關(guān)系等信息。在可視化中,不足的光照以及過(guò)量的光照都會(huì)影響描述物體結(jié)構(gòu)細(xì)節(jié)的有效性。光照定義是可視化中提高繪制有效性的重要技術(shù)之一。另一方面,拓?fù)潢P(guān)系是體數(shù)據(jù)中描述物體信息的重要關(guān)系之一,拓?fù)浞治鲆殉蔀榭梢暬I(lǐng)域的一個(gè)重要分支,數(shù)據(jù)場(chǎng)的拓?fù)洳坏軐?duì)數(shù)據(jù)的重要屬性(如等值面的連接單元的個(gè)數(shù)或其臨界點(diǎn))進(jìn)行編碼,而且可以用不同的拓?fù)鋱D表示數(shù)據(jù)的抽象描述。
在傳統(tǒng)的光照定義方法中,數(shù)據(jù)中所有的物體通常使用相同的光照參數(shù)設(shè)置(如三維醫(yī)學(xué)圖像數(shù)據(jù)中不同的組織),而不同物體之間的相同光照限制了光照在描述物體不同信息時(shí)的有效性,使用戶無(wú)法從光照角度感知不同物體之間的差異。傳統(tǒng)的光照定義模型主要研究生成真實(shí)感光照的技術(shù),但沒(méi)有充分利用數(shù)據(jù)本身的特征以使光照信息能夠有效描述數(shù)據(jù)中的不同物體。其中數(shù)據(jù)拓?fù)涮卣髂軌蛎枋霾煌矬w之間的關(guān)系信息,由于物體拓?fù)鋵傩缘膬?yōu)點(diǎn),如描述物體之間的不同關(guān)系(相鄰、包含等)等的優(yōu)勢(shì),已經(jīng)成功用于轉(zhuǎn)換函數(shù)的自動(dòng)生成技術(shù)中,但是目前還沒(méi)有有效的使用物體拓?fù)浣Y(jié)構(gòu)驅(qū)動(dòng)的光照生成技術(shù)。
傳統(tǒng)的體視化光照參數(shù)定義方法是隨機(jī)的或基于特定的用戶使用經(jīng)驗(yàn)和喜好通過(guò)多次試錯(cuò)方法手工設(shè)定,這樣的定義方法缺乏理論指導(dǎo),而且常常很費(fèi)時(shí)。也很難對(duì)定義的參數(shù)在不同數(shù)據(jù)間、不同用戶間和不同時(shí)間進(jìn)行復(fù)用。商業(yè)軟件為了降低用戶定義繪制參數(shù)所花的時(shí)間,常常根據(jù)特定數(shù)據(jù)類型或成像方法預(yù)定義多組繪制參數(shù),用戶只需從中選擇一組使用。這種參數(shù)定義方式無(wú)法滿足數(shù)據(jù)的多樣性,從而無(wú)法充分描述不同體數(shù)據(jù)中的物體結(jié)構(gòu)信息(如拓?fù)潢P(guān)系)。這也是光照定義的自動(dòng)生成面臨的主要難題之一。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種拓?fù)潋?qū)動(dòng)的體視化光照定義方法,能夠根據(jù)數(shù)據(jù)特征(如拓?fù)涮卣鳎轶w視化中不同物體定義不同的光照參數(shù)以描述物體之間的差異,而且還提供了拓?fù)潋?qū)動(dòng)的光照定義的自動(dòng)生成方法。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種在體視化中為不同物體定義不同光照參數(shù)的方法,包括:
S1:建立體數(shù)據(jù)的拓?fù)浔硎荆?/p>
S2:對(duì)所述拓?fù)浔硎具M(jìn)行分析,生成數(shù)據(jù)拓?fù)涮卣鳎?/p>
S3:用所述拓?fù)涮卣鬟M(jìn)行拓?fù)涓兄墓馑p計(jì)算;
S4:用所述拓?fù)涮卣饔?jì)算基于拓?fù)湎鄬?duì)重要性的光照;
S5:用所述拓?fù)涮卣饔?jì)算基于拓?fù)渚嚯x的光照;
S6:用所述拓?fù)涮卣鬟M(jìn)行光照參數(shù)自動(dòng)生成的計(jì)算。
以經(jīng)典光照模型Blinn-Phong模型為例,對(duì)體視化中的光照進(jìn)行定義。根據(jù)Blinn-Phong模型,體視化中某一點(diǎn)的顏色C由以下方程計(jì)算得到:
其中ka、kd、ks分別是環(huán)境光、漫反射、鏡面反射系數(shù),n是高光指數(shù),H為半角向量,位于法線N和光線L的角平分線方向,Ctf是由體視化轉(zhuǎn)換函數(shù)定義的顏色??紤]光衰減的光照計(jì)算由如下方程得到:
其中fatt是光衰減因子。
1)拓?fù)涓兄墓馑p計(jì)算方法:光衰減因子由數(shù)據(jù)中物體的拓?fù)渲匾院屯負(fù)渖疃却_定,該方法使物體隨著拓?fù)渚嚯x的增加使不重要的物體變暗而重要物體的光照仍然突出顯示。
2)基于拓?fù)湎鄬?duì)重要性的光照計(jì)算方法:拓?fù)湎鄬?duì)重要性是物體相對(duì)于其相鄰的物體的重要性,根據(jù)物體的體積、拓?fù)涑志眯砸约熬嚯x進(jìn)行度量。本發(fā)明使用拓?fù)湎鄬?duì)重要性對(duì)不同的光照系數(shù)進(jìn)行定義,使拓?fù)湎鄬?duì)重要性大的物體獲得高光照值,而拓?fù)湎鄬?duì)重要性小的物體獲得低光照值,從而對(duì)更重要的物體從光照角度進(jìn)行強(qiáng)調(diào)和突出。
3)基于拓?fù)渚嚯x的光照計(jì)算方法:拓?fù)渚嚯x是指數(shù)據(jù)的拓?fù)浔硎局形矬w所在的拓?fù)渖疃?。本發(fā)明用拓?fù)渚嚯x的函數(shù)定義不同的光照系數(shù),使具有高拓?fù)渚嚯x值的物體獲得高光照值,從而從光照角度強(qiáng)調(diào)高拓?fù)渚嚯x值的物體。
4)基于最小可覺(jué)亮度差的光照自動(dòng)生成方法:為了給數(shù)據(jù)中每個(gè)物體自動(dòng)定義不同的光照參數(shù),本發(fā)明用兩步法實(shí)現(xiàn)為每個(gè)物體自動(dòng)定義光照:第一步為初始化階段,為每個(gè)物體定義光照參數(shù)的初始值;第二步為優(yōu)化階段,以最小可覺(jué)亮度差為優(yōu)化標(biāo)準(zhǔn),優(yōu)化目標(biāo)為使不同相鄰物體間的最小可覺(jué)亮度差最大化,根據(jù)物體的拓?fù)浔硎緦?duì)每個(gè)物體的光照進(jìn)行優(yōu)化,從而實(shí)現(xiàn)物體光照定義的自動(dòng)生成。
附圖說(shuō)明
圖1為本發(fā)明一實(shí)施方式的拓?fù)淇刂频墓庹斩x方法流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述說(shuō)明。
圖1示意性地顯示了根據(jù)本發(fā)明的一種實(shí)施方式的一種拓?fù)淇刂频捏w視化光照的定義方法,包括:
S1:計(jì)算體數(shù)據(jù)的拓?fù)浔硎荆?/p>
S2:計(jì)算數(shù)據(jù)拓?fù)涞耐負(fù)涮卣鳎?/p>
S3:基于S2,計(jì)算體視化中的光照衰減;
S4:基于S2,計(jì)算拓?fù)湎鄬?duì)重要性確定的光照;
S5:基于S2,計(jì)算拓?fù)渚嚯x確定的光照;
S6:基于S2,進(jìn)行光照自動(dòng)生成的計(jì)算。
在步驟S1中,可以用拓?fù)鋽?shù)據(jù)結(jié)構(gòu)輪廓樹(shù)對(duì)數(shù)據(jù)拓?fù)溥M(jìn)行存儲(chǔ)和表示。
在步驟S2中,拓?fù)涮卣骺梢园w積、拓?fù)涑志眯?、拓?fù)渖疃?、拓?fù)漭喞獦?shù)的父親枝的數(shù)目、兄弟枝的數(shù)目。
在步驟S3中,體視化中的光衰減因子fatt由不同的拓?fù)涮卣鞔_定,并且是拓?fù)涑志眯?i>p以及兄弟枝數(shù)目ns的反函數(shù)。因此拓?fù)涓兄墓馑p使重要的物體的光照衰減速度比非重要的物體的光照衰減速度慢以強(qiáng)調(diào)重要物體。
在步驟S4中,拓?fù)湎鄬?duì)重要性是指物體在以其為中心的局部區(qū)域內(nèi)的相對(duì)拓?fù)渲匾?,可以包括體積和拓?fù)涑志眯缘南鄬?duì)重要性。在本發(fā)明中,體視化中物體的光照參數(shù)ka、kd、ks分別定義為拓?fù)湎鄬?duì)重要性的正函數(shù)。因此基于拓?fù)湎鄬?duì)重要性的光照在體視化中可以強(qiáng)調(diào)相對(duì)重要性高的物體而弱化相對(duì)重要性低的物體。
在步驟S5中,數(shù)據(jù)拓?fù)浔硎镜耐負(fù)渖疃缺欢x為拓?fù)渚嚯x。在本發(fā)明中,體視化中物體的光照參數(shù)ka、kd、ks分別定義為拓?fù)渚嚯x的正函數(shù)。因此基于拓?fù)渚嚯x的光照在體視化中可以強(qiáng)調(diào)拓?fù)渚嚯x大的物體而弱化拓?fù)渚嚯x小的物體。
在步驟S6中,以數(shù)據(jù)的拓?fù)浔硎緸榛A(chǔ),使用兩步法并基于最小可覺(jué)亮度差優(yōu)化方法為數(shù)據(jù)中每個(gè)物體自動(dòng)定義光照參數(shù)ka、kd、ks。使用該方法自動(dòng)生成的物體光照使相鄰物體之間的光照差異最大化,以使用戶從光照角度感知物體之間的差異。
應(yīng)當(dāng)理解,雖然本說(shuō)明書按照實(shí)施例加以描述,但并非每個(gè)實(shí)施例僅包含一個(gè)獨(dú)立的技術(shù)方案,說(shuō)明書的這種敘述方式僅僅是為清楚起見(jiàn),本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說(shuō)明書作為一個(gè)整體,各實(shí)施例中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施例。
上文所列出的一系列的詳細(xì)說(shuō)明僅僅是針對(duì)本發(fā)明的可行性實(shí)施例的具體說(shuō)明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明的等效實(shí)施例或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。