本發(fā)明涉及物體透視技術領域,特別涉及一種透視物體內(nèi)部結(jié)構(gòu)的透視方法及系統(tǒng)。
背景技術:
在使用智能眼鏡等設備透視物體內(nèi)部結(jié)構(gòu)時,首先要獲得被透視物體的內(nèi)部結(jié)構(gòu),并根據(jù)該內(nèi)部結(jié)構(gòu)建立3D模型,然后在被透視物體表面對3D模型成像,由此產(chǎn)生透視效果。
目前,建立3D模型的方式是通過已知技術參數(shù)建?;蛘咄ㄟ^CT核磁等設備掃描出來模型。但是,獲得的被透視物體的內(nèi)部結(jié)構(gòu)一般包括被透視物體的外殼,在通過上述方式建立3D模型時會將外殼一起重建出來,而外殼對透視來說并沒有實際意義,反而會遮擋透視,導致顯示的被透視物體的內(nèi)部結(jié)構(gòu)圖像混亂不直觀,很難看清具體的內(nèi)部結(jié)構(gòu)的真實情況。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種透視物體內(nèi)部結(jié)構(gòu)的透視方法,以解決現(xiàn)有技術中透視物體內(nèi)部結(jié)構(gòu)時外殼遮擋透視導致內(nèi)部結(jié)構(gòu)圖像混亂不直觀的技術問題。該方法包括:獲取待透視物體的3D模型,確定所述3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu),所述外層結(jié)構(gòu)表示所述待透視物體的外殼,所述內(nèi)部結(jié)構(gòu)表示所述待透視物體的內(nèi)部構(gòu)造;利用所述3D模型進行成像,在成像過程中,對所述3D模型的外層結(jié)構(gòu)做透明化處理。
在一個實施例中,確定所述3D模型的外層結(jié)構(gòu),包括:在三維坐標的每個坐標軸方向上,確定坐標軸方向的視線與所述待透視物體的邊界的交點的極大值和極小值,將極大值和與所述極大值相鄰的交點之間的結(jié)構(gòu)確定為外層結(jié)構(gòu),將極小值和與所述極小值相鄰的交點之間的結(jié)構(gòu)確定為外層結(jié)構(gòu)。
在一個實施例中,確定所述3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu)之后,還包括:在所述3D模型的內(nèi)部結(jié)構(gòu)中的顯示對象在位置關系上形成多層嵌套結(jié)構(gòu)時,在成像過程中,在透視的視線方向上,對遮擋在待透視的顯示對象之前的所有結(jié)構(gòu)做透明化處理。
在一個實施例中,在確定所述3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu)之后,還包括:將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為多個包含有顯示對象的區(qū)域,每個區(qū)域用一種且與其他區(qū)域不同的顏色進行渲染。
在一個實施例中,將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為多個區(qū)域,包括:根據(jù)所述內(nèi)部結(jié)構(gòu)中顯示對象的材質(zhì)種類或位置關系的不同,將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為包含有顯示對象的多個區(qū)域。
在一個實施例中,在將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為多個區(qū)域之后,還包括:設置標簽閾值和顯示閾值,其中,可用顯示面積大于所述顯示閾值的區(qū)域為顯示區(qū)域,可用顯示面積小于所述顯示閾值的區(qū)域為不顯示區(qū)域,可用顯示面積大于所述標簽閾值的顯示區(qū)域在該顯示區(qū)域范圍內(nèi)顯示自身所含顯示對象的標簽,可用顯示面積小于所述標簽閾值的顯示區(qū)域采用引導線的方式顯示自身所含顯示對象的標簽,或?qū)⒆陨硭@示對象的標簽延展到該顯示區(qū)域外且沒有顯示對象的空間內(nèi)進行顯示;針對每個區(qū)域,可用顯示面積是指從每個透視的視線方向透視所述待透視物體的內(nèi)部結(jié)構(gòu)時,該區(qū)域內(nèi)可用于顯示該區(qū)域所含顯示對象的標簽信息的顯示面積;在每個透視的視線方向上,根據(jù)可用顯示面積與所述標簽閾值和所述顯示閾值的大小關系,確定每個顯示區(qū)域中顯示對象的標簽的顯示方式。
在一個實施例中,在將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為多個區(qū)域之后,還包括:根據(jù)每個顯示區(qū)域的可用顯示面積的大小確定顯示標簽的字體大小,可用顯示面積的大小與顯示標簽的字體大小成正比。
本發(fā)明實施例還提供了一種透視物體內(nèi)部結(jié)構(gòu)的透視系統(tǒng),以解決現(xiàn)有技術中透視物體內(nèi)部結(jié)構(gòu)時外殼遮擋透視導致內(nèi)部結(jié)構(gòu)圖像混亂不直觀的技術問題。該裝置包括:3D模型處理設備,用于獲取待透視物體的3D模型,確定所述3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu),所述外層結(jié)構(gòu)表示所述待透視物體的外殼,所述內(nèi)部結(jié)構(gòu)表示所述待透視物體的內(nèi)部構(gòu)造;成像設備,用于利用所述3D模型進行成像,在成像過程中,對所述3D模型的外層結(jié)構(gòu)做透明化處理。
在一個實施例中,所述3D模型處理設備,具體用于在三維坐標的每個坐標軸方向上,確定坐標軸方向的視線與所述待透視物體的邊界的交點的極大值和極小值,將極大值和與所述極大值相鄰的交點之間的結(jié)構(gòu)確定為外層結(jié)構(gòu),將極小值和與所述極小值相鄰的交點之間的結(jié)構(gòu)確定為外層結(jié)構(gòu)。
在一個實施例中,所述成像設備,還用于在所述3D模型的內(nèi)部結(jié)構(gòu)中的顯示對象在位置關系上形成多層嵌套結(jié)構(gòu)時,在成像過程中,在透視的視線方向上,對遮擋在待透視的顯示對象之前的所有結(jié)構(gòu)做透明化處理。
在一個實施例中,所述3D模型處理設備,包括:區(qū)域劃分模塊,用于在確定所述3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu)之后,將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為多個包含有顯示對象的區(qū)域;顏色渲染模塊,用于對每個區(qū)域用一種且與其他區(qū)域不同的顏色進行渲染。
在一個實施例中,所述區(qū)域劃分模塊,具體用于根據(jù)所述內(nèi)部結(jié)構(gòu)中顯示對象的材質(zhì)種類或位置關系的不同,將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為包含有顯示對象的多個區(qū)域。
在一個實施例中,所述3D模型處理設備,還包括:閾值設置模塊,用于設置標簽閾值和顯示閾值,其中,可用顯示面積大于所述顯示閾值的區(qū)域為顯示區(qū)域,可用顯示面積小于所述顯示閾值的區(qū)域為不顯示區(qū)域,顯示面積大于所述標簽閾值的顯示區(qū)域在該顯示區(qū)域范圍內(nèi)顯示自身所含顯示對象的標簽,可用顯示面積小于所述標簽閾值的顯示區(qū)域采用引導線的方式顯示自身所含顯示對象的標簽,或?qū)⒆陨硭@示對象的標簽延展到該顯示區(qū)域外且沒有顯示對象的空間內(nèi)進行顯示;針對每個區(qū)域,可用顯示面積是指從每個透視的視線方向透視所述待透視物體的內(nèi)部結(jié)構(gòu)時,該區(qū)域內(nèi)可用于顯示該區(qū)域所含顯示對象的標簽信息的顯示面積;顯示方式確定模塊,用于在每個透視的視線方向上,根據(jù)可用顯示面積與所述標簽閾值和所述顯示閾值的大小關系,確定每個顯示區(qū)域中顯示對象的標簽的顯示方式。
在一個實施例中,所述顯示方式確定模塊,還用于根據(jù)每個顯示區(qū)域的可用顯示面積的大小確定顯示標簽的字體大小,可用顯示面積的大小與顯示標簽的字體大小成正比。
在本發(fā)明實施例中,獲取到待透視物體的3D模型后,首先確定出3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu),即在3D模型中區(qū)分出待透視物體的外殼和內(nèi)部構(gòu)造,然后,再利用3D模型進行成像,在成像過程中,對3D模型的外層結(jié)構(gòu)做透明化處理,即不顯示外層結(jié)構(gòu),這樣待透視物體的外殼就不會遮擋透視,使得內(nèi)部結(jié)構(gòu)的圖像可以不混淆、直觀的顯示出來。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本發(fā)明的限定。在附圖中:
圖1是本發(fā)明實施例提供的一種透視物體內(nèi)部結(jié)構(gòu)的透視方法的流程圖;
圖2是本發(fā)明實施例提供的一種標簽顯示示意圖一;
圖3是本發(fā)明實施例提供的一種標簽顯示示意圖二;
圖4是本發(fā)明實施例提供的一種不同區(qū)域渲染不同顏色的示意圖;
圖5是本發(fā)明實施例提供的一種標簽顯示狀態(tài)變化示意圖;
圖6是本發(fā)明實施例提供的一種透視物體內(nèi)部結(jié)構(gòu)的透視系統(tǒng)的結(jié)構(gòu)框圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下面結(jié)合實施方式和附圖,對本發(fā)明做進一步詳細說明。在此,本發(fā)明的示意性實施方式及其說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。
在本發(fā)明實施例中,提供了一種透視物體內(nèi)部結(jié)構(gòu)的透視方法,如圖1所示,該方法包括:
步驟101:獲取待透視物體的3D模型,確定所述3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu),所述外層結(jié)構(gòu)表示所述待透視物體的外殼,所述內(nèi)部結(jié)構(gòu)表示所述待透視物體的內(nèi)部構(gòu)造;
步驟102:利用所述3D模型進行成像,在成像過程中,對所述3D模型的外層結(jié)構(gòu)做透明化處理。
由圖1所示的流程可知,在本發(fā)明實施例中,獲取到待透視物體的3D模型后,首先確定出3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu),即在3D模型中區(qū)分出待透視物體的外殼和內(nèi)部構(gòu)造,然后,再利用3D模型進行成像,在成像過程中,對3D模型的外層結(jié)構(gòu)做透明化處理,即不顯示外層結(jié)構(gòu),這樣待透視物體的外殼就不會遮擋透視,使得內(nèi)部結(jié)構(gòu)的圖像可以不混淆、直觀的顯示出來。
具體實施時,上述獲取的3D模型與待透視物體外形一致、內(nèi)部構(gòu)造對應,供透視物體內(nèi)部結(jié)構(gòu)時使用。具體的,可以通過現(xiàn)有技術建立上述3D模型,例如,使用已有的結(jié)構(gòu)圖作為建立3D模型的依據(jù),或者使用CT(Computed Tomography,電子計算機斷層掃描)以及MRI(Magnetic Resonance Imaging,核磁共振成像)等設備對待透視物體進行圖像掃描及建模。
具體實施時,為了可以準確地區(qū)分出3D模型的外層結(jié)構(gòu),在本實施例中,確定所述3D模型的外層結(jié)構(gòu),包括:在三維坐標的每個坐標軸方向上,確定同坐標軸方向平行的直線與所述待透視物體的邊界的交點的極大值和極小值,將極大值和與所述極大值相鄰的交點之間的結(jié)構(gòu)確定為外層結(jié)構(gòu),將極小值和與所述極小值相鄰的交點之間的結(jié)構(gòu)確定為外層結(jié)構(gòu)。
具體的,為了保證在透視時可以看到內(nèi)部結(jié)構(gòu)而不被3D模型的外層結(jié)構(gòu)所遮擋,需要在沒有明確外層結(jié)構(gòu)的3D模型中定義外層結(jié)構(gòu),外層結(jié)構(gòu)的獲得方式如下,在三維坐標系的x,-x,y,-y,z,-z方向(也就是通常所說的前后上下左右六個方向,我們將正對使用者的方向定義為x,上為y,左側(cè)為z)上,分別確定同坐標軸方向平行的射線與待透視物體的邊界的交點的極大值和極小值,極大值是射線進入待透視物體時與待透視物體的邊界的交點,極小值是射線穿出待透視物體時與待透視物體的邊界的交點,將極大值和與極大值相鄰的交點之間的結(jié)構(gòu)確定為外層結(jié)構(gòu),將極小值和與極小值相鄰的交點之間的結(jié)構(gòu)確定為外層結(jié)構(gòu)。這里待透視物體的邊界指的是同種材質(zhì)的外殼對象,也就是說,如果內(nèi)部結(jié)構(gòu)可能與外殼緊密貼合,這種情況下只要內(nèi)部結(jié)構(gòu)和外殼材質(zhì)不相同,則認為其不是外殼而是內(nèi)部結(jié)構(gòu)。不同的材質(zhì)在CT或者MRI上的強度或者反射信號往往是不同的,由此我們可以區(qū)分外殼材質(zhì)與內(nèi)部結(jié)構(gòu)的材質(zhì)。三維坐標系中的六個方向都按照此操作獲得外殼。
具體實施時,通常情況下只需要透視x方向的外殼即可,也就是正對使用者的方向,即可達到透視內(nèi)部結(jié)構(gòu)的效果,如果需要不包含外殼只顯示內(nèi)部結(jié)構(gòu)的模型時則需要將全部外殼均剔除。為了能得到物體透視的效果,例如,我們將x方向,也就是成像設備對視線方向的物體外殼做透明化處理,也就是成像設備將這部分材質(zhì)的像素顏色設置為0(各個通道都為0),從而讓內(nèi)部的顏色可以不受前側(cè)外殼的遮擋,實現(xiàn)透視效果。當目標物體發(fā)生移動時,透視的3D模型也隨著一起運動和旋轉(zhuǎn),同時正向(例如x方向)的外殼始終處于透視狀態(tài),從而保證任何時刻都可以觀察透視的效果。
實際應用中,需要根據(jù)攝像頭觀察到的對象(即上述待透視物體)外觀確定對象所處的位置和角度,從而按照相應的位置和角度進行3D模型的成像。這樣可以保證3D模型與實際的物體的對應關系,從而保證與之對應的內(nèi)部結(jié)構(gòu)的準確。該功能可以借助現(xiàn)有技術實現(xiàn),只要確保3D模型與實際物體的對應關系即可,本申請對此不作具體限定。
具體實施時,在內(nèi)部結(jié)構(gòu)中的顯示對象在位置關系上形成多層疊加結(jié)構(gòu)時,為了避免內(nèi)部結(jié)構(gòu)顯示時出現(xiàn)遮擋、嵌套,在本實施例中,在所述3D模型的內(nèi)部結(jié)構(gòu)中的顯示對象在位置關系上形成多層嵌套結(jié)構(gòu)時,在成像過程中,在透視的視線方向上,對遮擋在待透視的顯示對象之前的所有結(jié)構(gòu)做透明化處理。例如,在成像過程中,將外層結(jié)構(gòu)做透明化處理后,使用者直接看到的是內(nèi)部結(jié)構(gòu)中最前面一層結(jié)構(gòu),如果想進一步透視內(nèi)層結(jié)構(gòu),則在成像過程中,再將內(nèi)部結(jié)構(gòu)中最前面一層結(jié)構(gòu)做透明化處理,使得直接顯示內(nèi)層結(jié)構(gòu),如有更多層結(jié)構(gòu),可以逐層透視每層結(jié)構(gòu),只需在成像過程中,將待透視層結(jié)構(gòu)之前的所有結(jié)構(gòu)做透明化處理。對內(nèi)層結(jié)構(gòu)做透明化處理的方式與對外層結(jié)構(gòu)做透明化處理的方式相同,也就是說,當需要透視內(nèi)層結(jié)構(gòu)時,將外層結(jié)構(gòu)做透明化處理后的內(nèi)部結(jié)構(gòu)考慮視為物體的整體結(jié)構(gòu),再對其做外層結(jié)構(gòu)的劃分,從而重新得到新的外殼和內(nèi)部結(jié)構(gòu),對新的外殼做透明化處理。如果還需要繼續(xù)透視更內(nèi)部的結(jié)構(gòu),則將新內(nèi)部結(jié)構(gòu)整體視為物體的整體結(jié)構(gòu),對新內(nèi)部結(jié)構(gòu)執(zhí)行外殼(即外層結(jié)構(gòu))判定,再對確定的外殼做透明化處理。以此類推,逐層透明化從內(nèi)部結(jié)構(gòu)中判定的外層結(jié)構(gòu),直至透視到需要透視的內(nèi)部結(jié)構(gòu)。
具體實施時,為了進一步可以清晰、直觀地顯示內(nèi)部結(jié)構(gòu),在本實施例中,在確定所述3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu)之后,還包括:將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為多個包含有顯示對象的區(qū)域,每個區(qū)域用一種且與其他區(qū)域不同的顏色進行渲染。具體的,可以根據(jù)所述內(nèi)部結(jié)構(gòu)中顯示對象的材質(zhì)種類或位置關系的不同,將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為包含有顯示對象的多個區(qū)域。
例如,根據(jù)內(nèi)部結(jié)構(gòu)中顯示對象的不同材質(zhì),將3D模型的內(nèi)部結(jié)構(gòu)劃分為多個包含有顯示對象的區(qū)域,每個區(qū)域使用不同顏色加以區(qū)分,給人以不同內(nèi)部單元結(jié)構(gòu)的感覺。在內(nèi)部結(jié)構(gòu)中顯示對象的材質(zhì)相同的情況下,模型內(nèi)部結(jié)構(gòu)的顏色統(tǒng)一,結(jié)構(gòu)之間存在的前后位置關系也不容易看出,此時,則可以采用區(qū)塊渲染的技術,根據(jù)內(nèi)部結(jié)構(gòu)中顯示對象的位置關系的不同,將3D模型的內(nèi)部結(jié)構(gòu)劃分為包含有顯示對象的多個區(qū)域,再使用不同顏色渲染不同的區(qū)域,將前后的同材質(zhì)顯示對象所在區(qū)域渲染為不同顏色,以達到區(qū)分前后位置關系、清晰內(nèi)部結(jié)構(gòu)的作用。
具體實施時,如果顯示對象的標簽信息隨意的自行擺放,則標簽之間很容易互相堆疊從而影響顯示的內(nèi)容,如圖2所示。為了進一步保證顯示內(nèi)部結(jié)構(gòu)的清晰,標簽信息顯示完全,在本實施例中,在將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為多個區(qū)域之后,還包括:設置標簽閾值和顯示閾值,可用顯示面積(針對每個區(qū)域,可用顯示面積是指從每個透視的視線方向透視所述待透視物體的內(nèi)部結(jié)構(gòu)時,該區(qū)域內(nèi)可用于顯示該區(qū)域所含顯示對象的標簽信息的顯示面積,該可用顯示面積受被透視物體的大小、遠近及內(nèi)部結(jié)構(gòu)的遮擋關系的影像大小具有不確定性,需要根據(jù)實際使用中的顯示結(jié)果加以判斷才可以知道可用顯示面積的大小)大于所述顯示閾值的區(qū)域為顯示區(qū)域,可用顯示面積小于所述顯示閾值的區(qū)域為不顯示區(qū)域,可用顯示面積大于所述標簽閾值的顯示區(qū)域在該顯示區(qū)域范圍內(nèi)顯示自身所含顯示對象的標簽,可用顯示面積小于所述標簽閾值的顯示區(qū)域采用引導線的方式顯示自身所含顯示對象的標簽,或?qū)⒆陨硭@示對象的標簽延展到該顯示區(qū)域外且沒有顯示對象的空間內(nèi)進行顯示;在每個透視的視線方向上,根據(jù)可用顯示面積與所述標簽閾值和所述顯示閾值的大小關系,確定每個顯示區(qū)域中顯示對象的標簽的顯示方式。例如,如圖3所示,在顯示時,如果可用顯示面積小于顯示閾值則認為對象完全被遮擋無法觀察到,則不對該區(qū)域進行顯示,同時刪除該區(qū)域的顏色以及標簽信息;如果可用顯示面積大于顯示閾值且大于標簽閾值,則在區(qū)域范圍內(nèi)顯示標簽。例如,立方體的顯示方式;如果顯示面積大于顯示閾值且小于標簽閾值則采用箭頭指示的方式顯示標簽,例如,球體的顯示方式;或?qū)撕炑诱沟皆搮^(qū)域外且沒有顯示對象的空間內(nèi)進行顯示,例如。圓柱體的顯示。
為了實現(xiàn)標簽之間不互相遮擋、清晰地顯示,具體的,從視角對內(nèi)部結(jié)構(gòu)中各個著色區(qū)域進行計算,如果某區(qū)域的顏色與著色顏色一致,則說明該區(qū)域無遮擋,如果某區(qū)域的顏色發(fā)生變化,則說明該區(qū)域發(fā)生遮擋,此時需要判斷是哪個區(qū)域被遮擋,并將被遮擋的顏色從重疊區(qū)域去除。這樣我們可以得到一個不同顏色的分區(qū)。如圖4所示,1-6組成的區(qū)域渲染立方體的顏色,7-12組成的區(qū)域渲染圓柱體的顏色,13-14組成的區(qū)域渲染球體的顏色。
按照圖4的結(jié)果,我們可以將立方體的標簽顯示在1-6所在區(qū)域,圓柱體標簽顯示在7-12所在區(qū)域,球體標簽顯示在13-14所在區(qū)域。這里面存在2個閾值,一個是標簽閾值,一個是顯示閾值。如果顯示對象所在區(qū)域的可用顯示面積小于顯示閾值,則該區(qū)域為不顯示區(qū)域,即認為不顯示區(qū)域中的顯示對象完全被遮擋無法觀察到,則對不顯示區(qū)域中的顯示對象不進行標簽的顯示,同時刪除該不顯示區(qū)域中的顏色以及顯示對象的標簽信息;如果顯示對象所在區(qū)域的可用顯示面積大于顯示閾值,則該區(qū)域為顯示區(qū)域,進而對于顯示區(qū)域,如果顯示區(qū)域的可用顯示面積小于標簽閾值,則采用箭頭引線指示方式顯示自身所包含的顯示對象的標簽,或?qū)⒆陨硭娘@示對象的標簽延展到該顯示區(qū)域外且沒有其他顯示對象的空間內(nèi)進行顯示,例如,圓柱體和球體標簽的顯示方式;如果顯示區(qū)域的可用顯示面積大于標簽閾值,則在該顯示區(qū)域內(nèi)顯示自身所包含的顯示對象的標簽,例如,立方體的標簽顯示方式。具體的,如圖3、4所示,立方體的標簽可以顯示在1-6的區(qū)域。圓柱體的標簽如果顯示在11-12的位置則會進入4-5或者13,這部分區(qū)域不是圓柱體,因此,最優(yōu)的選擇是圓柱體的標簽顯示在7-10所在區(qū)域。如果13-14的顯示面積比該標簽閾值小,則使用箭頭指示的方式來顯示標注,例如,球體的標簽顯示方式。
首次顯示標簽整體具體規(guī)則如下:判斷需要顯示標注的區(qū)域,也就是判斷可用顯示面積大于顯示閾值的區(qū)域。然后進行逐個區(qū)域的標簽添加顯示。添加時首先判斷標簽是否可以完全放置在區(qū)域內(nèi)(即可用顯示面積是否大于上述標簽閾值),如果可以則直接進行添加顯示,例如,立方體標簽的顯示;如果不能在區(qū)域內(nèi)完全放置,也就是需要延展到區(qū)域以外,那么需要繼續(xù)判斷延展到的區(qū)域是否已經(jīng)被其他顏色占領(即是否有其他顯示對象),如果未被占領則顯示標簽,例如,圓柱體的標簽顯示;如果該延展到的區(qū)域已經(jīng)被其他顏色占領,也就是說,無法在該區(qū)域和延展到的與該顏色相鄰的區(qū)域所組成范圍內(nèi)顯示標簽,則使用引導線進行顯示,例如,球體的顯示。
具體實施時,顯示標簽信息的字體大小其實也是可變的,在本實施例中,在將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為多個區(qū)域之后,還包括:根據(jù)每個顯示區(qū)域的可用顯示面積的大小確定顯示標簽的字體大小,可用顯示面積的大小與顯示標簽的字體大小成正比。具體的,顯示標簽的字體大小會根據(jù)實際可顯示區(qū)域的大小而調(diào)整,可顯示區(qū)域越大那么標簽也可以相應的變大,從而更清晰的顯示。
具體實施時,由于對象的移動或者觀察角度發(fā)生變化,那么所透視到的區(qū)域以及標簽的顯示不是一成不變的,而是發(fā)生變化的,為了可以實現(xiàn)不同角度的透視,本申請通過上述標簽顯示方式,在每個透視的視線方向上,根據(jù)可用顯示面積與標簽閾值和顯示閾值的大小關系,對每個顯示區(qū)域確定顯示標簽的方式,具體的,根據(jù)角度的變化,那么區(qū)域的標簽顯示狀態(tài)發(fā)生的變化如下:如圖5所示,針對標簽在區(qū)域內(nèi)顯示的情況,在區(qū)域的可用顯示面積變大時標簽顯示基本不變,在區(qū)域的可用顯示面積變小時,標簽的顯示會根據(jù)可用顯示面積的改變結(jié)果成為延展到區(qū)域外或者使用引導線進行顯示。針對標簽在區(qū)域外顯示的情況,區(qū)域的可用顯示面積增大時標簽顯示可能不發(fā)生變化或者轉(zhuǎn)為區(qū)域內(nèi)顯示,區(qū)域的可用顯示面積減小時,則標簽顯示不發(fā)生變化或者轉(zhuǎn)為引導線進行顯示。對子標簽顯示為引導線顯示的情況,區(qū)域的可用顯示面積變大時,標簽顯示可以轉(zhuǎn)變?yōu)閰^(qū)域內(nèi)部顯示或者延展顯示也可能不發(fā)生變化,區(qū)域的可用顯示面積縮小時,標簽顯示可能不發(fā)生變化或者變?yōu)椴伙@示狀態(tài)。針對標簽不顯示的情況,區(qū)域的可用顯示面積增大時,則標簽顯示可能成為延展顯示或者引導線顯示的狀態(tài)。
基于同一發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種透視物體內(nèi)部結(jié)構(gòu)的透視系統(tǒng),如下面的實施例所述。由于透視物體內(nèi)部結(jié)構(gòu)的透視系統(tǒng)解決問題的原理與透視物體內(nèi)部結(jié)構(gòu)的透視方法相似,因此透視物體內(nèi)部結(jié)構(gòu)的透視系統(tǒng)的實施可以參見透視物體內(nèi)部結(jié)構(gòu)的透視方法的實施,重復之處不再贅述。以下所使用的,術語“單元”或者“模塊”可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
圖6是本發(fā)明實施例的透視物體內(nèi)部結(jié)構(gòu)的透視系統(tǒng)的一種結(jié)構(gòu)框圖,如圖6所示,該系統(tǒng)包括:
3D模型處理設備601,用于獲取待透視物體的3D模型,確定所述3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu),所述外層結(jié)構(gòu)表示所述待透視物體的外殼,所述內(nèi)部結(jié)構(gòu)表示所述待透視物體的內(nèi)部構(gòu)造;
成像設備602,用于利用所述3D模型進行成像,在成像過程中,對所述3D模型的外層結(jié)構(gòu)做透明化處理。
在一個實施例中,所述3D模型處理設備,具體用于在三維坐標的每個坐標軸方向上,確定同坐標軸方向平行的直線與所述待透視物體的邊界的交點的極大值和極小值,將極大值和與所述極大值相鄰的交點之間的結(jié)構(gòu)確定為外層結(jié)構(gòu),將極小值和與所述極小值相鄰的交點之間的結(jié)構(gòu)確定為外層結(jié)構(gòu)。
在一個實施例中,所述成像設備,還用于在所述3D模型的內(nèi)部結(jié)構(gòu)中的顯示對象在位置關系上形成多層嵌套結(jié)構(gòu)時,在成像過程中,在透視的視線方向上,對遮擋在待透視的顯示對象之前的所有結(jié)構(gòu)做透明化處理。
在一個實施例中,所述3D模型處理設備,包括:區(qū)域劃分模塊,用于在確定所述3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu)之后,將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為多個包含有顯示對象的區(qū)域;顏色渲染模塊,用于對每個區(qū)域用一種且與其他區(qū)域不同的顏色進行渲染。
在一個實施例中,所述區(qū)域劃分模塊,具體用于根據(jù)所述內(nèi)部結(jié)構(gòu)中顯示對象的材質(zhì)種類或位置關系的不同,將所述3D模型的內(nèi)部結(jié)構(gòu)劃分為包含有顯示對象的多個區(qū)域。
在一個實施例中,所述3D模型處理設備,還包括:閾值設置模塊,用于設置標簽閾值和顯示閾值,其中,可用顯示面積大于所述顯示閾值的區(qū)域為顯示區(qū)域,可用顯示面積小于所述顯示閾值的區(qū)域為不顯示區(qū)域,顯示面積大于所述標簽閾值的顯示區(qū)域在該顯示區(qū)域范圍內(nèi)顯示自身所含顯示對象的標簽,可用顯示面積小于所述標簽閾值的顯示區(qū)域采用引導線的方式顯示自身所含顯示對象的標簽,或?qū)⒆陨硭@示對象的標簽延展到該顯示區(qū)域外且沒有顯示對象的空間內(nèi)進行顯示;針對每個區(qū)域,可用顯示面積是指從每個透視的視線方向透視所述待透視物體的內(nèi)部結(jié)構(gòu)時,該區(qū)域內(nèi)可用于顯示該區(qū)域所含顯示對象的標簽信息的顯示面積;顯示方式確定模塊,用于在每個透視的視線方向上,根據(jù)顯示面積與所述標簽閾值和所述顯示閾值的大小關系,確定每個顯示區(qū)域中顯示對象的標簽的顯示方式。
在一個實施例中,所述顯示方式確定模塊,還用于根據(jù)每個顯示區(qū)域的可用顯示面積的大小確定顯示標簽的字體大小,可用顯示面積的大小與顯示標簽的字體大小成正比。
在本發(fā)明實施例中,獲取到待透視物體的3D模型后,首先確定出3D模型的外層結(jié)構(gòu)和內(nèi)部結(jié)構(gòu),即在3D模型中區(qū)分出待透視物體的外殼和內(nèi)部構(gòu)造,然后,再利用3D模型進行成像,在成像過程中,對3D模型的外層結(jié)構(gòu)做透明化處理,即不顯示外層結(jié)構(gòu),這樣待透視物體的外殼就不會遮擋透視,使得內(nèi)部結(jié)構(gòu)的圖像可以不混淆、直觀的顯示出來。
顯然,本領域的技術人員應該明白,上述的本發(fā)明實施例的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明實施例不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明實施例可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。