專利名稱:體三維顯示中的體素?cái)?shù)據(jù)生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及體三維顯示(volumetric three-dimensional display,是一種能夠在具有真實(shí)體積的顯示空間中對(duì)圖像信息進(jìn)行再現(xiàn)的三維顯示),特別是涉及體三維顯示中的體素(voxel——volumetric picture element,是三維空間中構(gòu)成三維圖像的最小組成要素)數(shù)據(jù)生成方法。
背景技術(shù):
以三維方式設(shè)計(jì)的計(jì)算機(jī)繪圖系統(tǒng)是根據(jù)透視投影繪制方法,將三維圖像信息再現(xiàn)在二維屏幕顯示器上的。之所以這樣做的原因是,僅具有長(zhǎng)寬兩個(gè)可測(cè)量維度的二維物理平面無法直接表達(dá)縱深信息,只好采用投影方式構(gòu)造一個(gè)虛擬的三維視窗以模擬空間深度,并采用深度緩沖和隱藏處理機(jī)制以進(jìn)行圖像顯示對(duì)當(dāng)前像素與先前顯示的像素的深度信息進(jìn)行比較,以判斷前者是否比后者更靠近視點(diǎn)位置,如果是,則予以顯示,否則,進(jìn)行隱藏處理。上述三維計(jì)算機(jī)繪圖系統(tǒng)的數(shù)據(jù)生成工作所涉及的參數(shù)包括視點(diǎn)位置、視線方向、投影平面的位置、光源的位置及其亮度等,不但要對(duì)每個(gè)像素進(jìn)行投影變換,而且每當(dāng)諸如視點(diǎn)位置之類的參數(shù)變化時(shí)都需要重新進(jìn)行投影計(jì)算。
與三維計(jì)算機(jī)繪圖系統(tǒng)不同的是,體三維顯示系統(tǒng)并非在僅具有長(zhǎng)寬兩個(gè)可測(cè)量維度的二維物理平面上對(duì)三維圖像信息進(jìn)行再現(xiàn),而是在真正具有三個(gè)可測(cè)量維度的三維物理空間中對(duì)三維圖像信息進(jìn)行再現(xiàn)。為此,體三維顯示中需要再現(xiàn)的圖像信息量大多了,并且其本質(zhì)上是與視點(diǎn)無關(guān)的,其媒介不再是虛擬的三維視窗,原始三維圖像數(shù)據(jù)不能再以透視投影方式被處理成虛擬三維視窗中的像素?cái)?shù)據(jù),而應(yīng)以線性方式映射處理成真實(shí)三維空間中的體素?cái)?shù)據(jù)。換而言之,體三維顯示系統(tǒng)無需進(jìn)行所述投影計(jì)算、深度緩沖或隱藏處理,它在數(shù)據(jù)生成及其再現(xiàn)方面都有別于常規(guī)的三維計(jì)算機(jī)繪圖系統(tǒng)。
上面所述的原始三維圖像可以是由離散數(shù)據(jù)點(diǎn)構(gòu)成的三維離散數(shù)據(jù)集,也可以是在計(jì)算機(jī)中構(gòu)造的三維幾何模型,包括,使用參數(shù)曲面定義的自由曲面模型和使用點(diǎn)、線、面等基本元素構(gòu)造的多邊形模型。為了滿足實(shí)際應(yīng)用時(shí)的快速處理要求,一般是利用許多細(xì)小的圖元(primitive)來拼出三維幾何模型的外觀,然后將圖元的相關(guān)信息保存在三維圖像數(shù)據(jù)文件中備用。圖元可以是點(diǎn)、線、三角形、四邊形或其它多邊形,也可以是諸如貝塞爾曲面之類的曲面或其它任何合適的形狀。較為常見的圖元是三角形,它由三個(gè)頂點(diǎn)確定,頂點(diǎn)數(shù)據(jù)以數(shù)組形式出現(xiàn),包括其位置坐標(biāo)、紋理映射坐標(biāo)、法向量以及用于著色處理所需數(shù)據(jù),主要涉及頂點(diǎn)的位置信息、色彩信息和亮度信息。
無論原始三維圖像具體是三維離散數(shù)據(jù)集還是三維幾何模型,從原始三維圖像數(shù)據(jù)到體素?cái)?shù)據(jù)之間都需要一套完整、高效的數(shù)據(jù)處理和生成方法。然而,現(xiàn)有體三維顯示方面的文獻(xiàn)對(duì)此卻少有涉及,而更多的是集中在探討系統(tǒng)硬件構(gòu)成及原理。文獻(xiàn)(參見“基于旋轉(zhuǎn)二維發(fā)光二極管陣列的體三維顯示系統(tǒng)”,林遠(yuǎn)芳、劉旭、劉向東、張曉潔,光學(xué)學(xué)報(bào),第23卷第10期,第1158~1162頁,2003年10月)提及在利用旋轉(zhuǎn)二維發(fā)光二極管陣列進(jìn)行體三維顯示的過程中,按照以下步驟完成從原始三維圖像到二維截面序列的分解映射縮放原始三維圖像,把通常用直角坐標(biāo)描述的原始三維圖像特征點(diǎn)集變換到柱坐標(biāo)系中,再對(duì)每個(gè)點(diǎn)的位置坐標(biāo)進(jìn)行歸整處理,使之映射到發(fā)光二極管陣列中。除了上述對(duì)體素?cái)?shù)據(jù)生成方法較籠統(tǒng)的介紹外,該文沒有更詳細(xì)述及。
發(fā)明內(nèi)容
本發(fā)明的目的是,提供一種體三維顯示中的體素?cái)?shù)據(jù)生成方法,用于將三維離散數(shù)據(jù)集或三維幾何模型所包含的原始三維圖像數(shù)據(jù)以適當(dāng)?shù)姆绞接成涮幚沓蛇m應(yīng)顯示空間的形狀、大小和所有體素位置分布情況的體素?cái)?shù)據(jù),或者至少給公眾提供一個(gè)有用的選擇。
為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案一種體三維顯示中的體素?cái)?shù)據(jù)生成方法,其特征在于,包括以下步驟1)根據(jù)體三維顯示系統(tǒng)的顯示空間和體素的形成原理,分析顯示空間的形狀、大小和所有體素的位置分布情況,對(duì)輸入的原始三維圖像進(jìn)行按比例縮放以適應(yīng)所述顯示空間;2)根據(jù)原始三維圖像是三維離散數(shù)據(jù)集還是三維幾何模型,以及顯示空間是由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成,還是由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成,選擇相應(yīng)的體素?cái)?shù)據(jù)生成方法。
所述的步驟2)具體為
當(dāng)原始三維圖像是三維離散數(shù)據(jù)集時(shí),無論顯示空間是由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成,還是由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成,體素?cái)?shù)據(jù)生成任務(wù)的實(shí)質(zhì)都是建立數(shù)據(jù)點(diǎn)與體素之間的映射關(guān)系,只是后者可以把數(shù)據(jù)點(diǎn)先映射到各個(gè)顯示平面上,再映射到各個(gè)體素位置,具體地,按照以下步驟來生成體素?cái)?shù)據(jù) 指定數(shù)據(jù)點(diǎn)與體素的位置偏差容許范圍,據(jù)此搜索數(shù)據(jù)點(diǎn)附近的所有體素,從中選出與所述數(shù)據(jù)點(diǎn)之間的空間距離落在該容許范圍內(nèi)的體素,遍歷三維離散數(shù)據(jù)集的所有數(shù)據(jù)點(diǎn),建立每個(gè)數(shù)據(jù)點(diǎn)與體素之間的位置映射關(guān)系; 當(dāng)一個(gè)數(shù)據(jù)點(diǎn)位置只被映射到一個(gè)體素位置時(shí),該數(shù)據(jù)點(diǎn)的色彩和亮度值就直接作為該體素的色彩和亮度值,當(dāng)多個(gè)數(shù)據(jù)點(diǎn)位置同時(shí)被映射到一個(gè)體素位置時(shí),這些數(shù)據(jù)點(diǎn)與該體素之間的各距離分別作為它們位置重疊程度的度量,如果各距離都相同,則對(duì)這些數(shù)據(jù)點(diǎn)的色彩和亮度值進(jìn)行算術(shù)平均運(yùn)算,再以所得結(jié)果作為該體素的色彩和亮度值,如果距離各不相同或有些相同有些不同,則根據(jù)這些數(shù)據(jù)點(diǎn)與該體素的位置重疊程度分配權(quán)重因子,據(jù)此對(duì)這些數(shù)據(jù)點(diǎn)的色彩和亮度值進(jìn)行加權(quán)平均運(yùn)算,再以所得結(jié)果作為該體素的色彩和亮度值,至于那些沒有任何數(shù)據(jù)點(diǎn)與之映射的體素,其色彩和亮度值都賦零;當(dāng)原始三維圖像是三維幾何模型且顯示空間由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成時(shí),先把三維幾何模型分解為許多點(diǎn),再采用類似于對(duì)三維離散數(shù)據(jù)集的處理方法來生成體素?cái)?shù)據(jù)指定位置偏差容許范圍以建立這些點(diǎn)與體素之間的位置映射關(guān)系,并根據(jù)位置映射情況確定體素的色彩和亮度值;當(dāng)原始三維圖像是三維幾何模型,并且顯示空間由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成時(shí),先判斷三維幾何模型與所有顯示平面之間的位置關(guān)系再進(jìn)行后續(xù)處理,將正好處在顯示平面上的模型數(shù)據(jù)映射處理成體素?cái)?shù)據(jù),至于那些沒有任何數(shù)據(jù)與之相映射的體素,其色彩和亮度值都賦零。
所述的三維幾何模型包括在計(jì)算機(jī)中使用參數(shù)曲面定義的自由曲面模型和使用點(diǎn)、線、面等基本元素構(gòu)造的多邊形模型。
所述的三維幾何模型是使用三角形構(gòu)造的多邊形模型,每個(gè)三角形由三個(gè)頂點(diǎn)確定,頂點(diǎn)數(shù)據(jù)以數(shù)組形式出現(xiàn),主要涉及頂點(diǎn)的位置、色彩和亮度值;所述的當(dāng)原始三維圖像是三維幾何模型并且顯示空間由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成時(shí),先把三維幾何模型分解為許多點(diǎn),再采用類似于對(duì)三維離散數(shù)據(jù)集的處理方法來生成體素?cái)?shù)據(jù),可以視具體情況而異 如果三維幾何模型由數(shù)量密集的小尺寸三角形構(gòu)成,則不必分解模型,直接將模型的所有頂點(diǎn)數(shù)據(jù)映射處理成體素?cái)?shù)據(jù); 如果三維幾何模型不完全由數(shù)量密集的小尺寸三角形構(gòu)成,則對(duì)模型的所有邊進(jìn)行等分分解,等分點(diǎn)數(shù)據(jù)通過對(duì)各條邊首尾兩個(gè)頂點(diǎn)數(shù)據(jù)進(jìn)行內(nèi)插而生成,各條邊的等分份數(shù)可以相同,也可以隨邊的長(zhǎng)短不同而不同,長(zhǎng)度越短的邊,其等分份數(shù)越少,由此實(shí)現(xiàn)靈活、彈性的等分分解,最后,將等分點(diǎn)數(shù)據(jù)和頂點(diǎn)數(shù)據(jù)映射處理成體素?cái)?shù)據(jù); 如果三維幾何模型不完全由密集的小尺寸三角形構(gòu)成,則在如 所述對(duì)模型的所有邊進(jìn)行等分分解后,還可以對(duì)模型的所有三角形的內(nèi)部區(qū)域進(jìn)行填充分解,所述填充分解可以通過以下三種方法實(shí)現(xiàn)將三角形任意兩條邊上的各等分點(diǎn)連接成線,再對(duì)所述各連線進(jìn)行等分分解;將三角形某一頂點(diǎn)與其對(duì)面那條邊上的各等分點(diǎn)連接成線,再對(duì)所述各連線進(jìn)行等分分解;根據(jù)三角形的三個(gè)頂點(diǎn)求出所述三角形的重心,將所述重心與所述三個(gè)頂點(diǎn)連接成線而生成三個(gè)新的、尺寸較小的三角形,基于所述重心分解原理,可以進(jìn)一步生成九個(gè)、二十七個(gè)乃至更多個(gè)新的、尺寸逐漸變小的三角形,最后將所述新生成的三角形的所有頂點(diǎn)數(shù)據(jù)映射處理成體素?cái)?shù)據(jù);所述的當(dāng)原始三維圖像是三維幾何模型,并且顯示空間由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成時(shí),先判斷三維幾何模型與所有顯示平面之間的位置關(guān)系再進(jìn)行后續(xù)處理,是指判斷三維幾何模型的各個(gè)三角形與所有顯示平面之間的位置關(guān)系再進(jìn)行后續(xù)處理,在每次對(duì)三角形和顯示平面之間的位置關(guān)系進(jìn)行判斷之前,先檢查三角形的頂點(diǎn)和邊是否處理過,如果是,取出已有數(shù)據(jù),否則進(jìn)行判斷;每完成一次判斷,就存儲(chǔ)已處理的頂點(diǎn)、邊和三角形數(shù)據(jù),以便在判斷下一個(gè)三角形的位置關(guān)系時(shí)利用。
所述的判斷三維幾何模型的各個(gè)三角形與所有顯示平面之間的位置關(guān)系再進(jìn)行后續(xù)處理,包括以下步驟i)根據(jù)三角形的頂點(diǎn)位置坐標(biāo)、顯示平面的方程以及空間解析幾何中的點(diǎn)到面的距離公式,分別算出三個(gè)頂點(diǎn)到顯示平面的距離,并判斷所得各距離是否為0,如果是,則說明頂點(diǎn)在顯示平面上,否則,頂點(diǎn)在顯示平面外;ii)基于步驟i)頂點(diǎn)與顯示平面之間位置關(guān)系的判斷結(jié)果,推知三角形的邊與顯示平面是以下哪種位置關(guān)系邊與顯示平面相交于其自身的一個(gè)頂點(diǎn),邊與顯示平面相交于其自身的一個(gè)中間點(diǎn),邊在顯示平面上,邊在顯示平面外;iii)基于步驟ii)邊與顯示平面之間位置關(guān)系的判斷結(jié)果,推知三角形與顯示平面是以下哪種位置關(guān)系三角形在顯示平面上,三角形在顯示平面外,三角形與顯示平面相交于一個(gè)頂點(diǎn),三角形與顯示平面相交于一條邊,三角形與顯示平面相交于某兩條邊的共有頂點(diǎn)與第三條邊某一中間點(diǎn)的連線,三角形與顯示平面相交于某條邊的中間點(diǎn)與另一條邊某一中間點(diǎn)的連線;iv)根據(jù)步驟iii)判斷的六種位置關(guān)系和已知的三角形頂點(diǎn)數(shù)據(jù),將那些正好處在顯示平面上的數(shù)據(jù)映射處理成體素?cái)?shù)據(jù)。
所述的步驟iv)具體為a)如果三角形在顯示平面上,則根據(jù)其頂點(diǎn)的位置坐標(biāo)和位于各頂點(diǎn)附近的各體素的位置坐標(biāo),算出各頂點(diǎn)與位于其附近的各體素之間距離的絕對(duì)值,從中選出具有最小絕對(duì)距離的體素作為與頂點(diǎn)相映射的體素,然后將所述頂點(diǎn)的色彩和亮度值賦予所述體素,接著根據(jù)顯示平面上的體素分布規(guī)律,對(duì)三角形的邊和內(nèi)部區(qū)域進(jìn)行等分分解和填充分解,獲得新生成的各點(diǎn)的數(shù)據(jù),并將它們映射處理成相應(yīng)的體素?cái)?shù)據(jù);b)如果三角形在顯示平面外,則將所述三角形舍棄而不做任何處理;c)如果三角形與顯示平面相交于一個(gè)頂點(diǎn),則根據(jù)所述頂點(diǎn)的位置坐標(biāo),將頂點(diǎn)數(shù)據(jù)映射處理成顯示平面上與它最靠近的體素?cái)?shù)據(jù);d)如果三角形與顯示平面相交于一條邊,則先將所述邊的首尾兩個(gè)頂點(diǎn)數(shù)據(jù)映射處理成顯示平面上分別與它們最靠近的兩個(gè)體素?cái)?shù)據(jù),然后根據(jù)所述兩個(gè)體素連線方向上的其它體素分布,確定所述邊的最大等分份數(shù)、各等分點(diǎn)位置及其色彩和亮度值,再將它們賦予相應(yīng)的體素;e)如果三角形與顯示平面相交于某兩條邊的共有頂點(diǎn)與第三條邊某一中間點(diǎn)的連線,則先根據(jù)第三條邊首尾兩個(gè)頂點(diǎn)數(shù)據(jù)內(nèi)插得到所述中間點(diǎn)數(shù)據(jù),并將所述共有頂點(diǎn)和中間點(diǎn)數(shù)據(jù)映射處理成顯示平面上分別與它們最靠近的兩個(gè)體素?cái)?shù)據(jù),然后根據(jù)所述兩個(gè)體素連線方向上的其它體素分布,確定所述共有頂點(diǎn)和中間點(diǎn)的連線的最大等分份數(shù)、各等分點(diǎn)位置及其色彩和亮度值,再將它們賦予相應(yīng)的體素;f)如果三角形與顯示平面相交于某條邊的中間點(diǎn)與另一條邊某一中間點(diǎn)的連線,則先內(nèi)插得到所述兩個(gè)中間點(diǎn)數(shù)據(jù),并映射處理成顯示平面上分別與它們最靠近的兩個(gè)體素?cái)?shù)據(jù),然后根據(jù)所述兩個(gè)體素連線方向上的其它體素分布,確定所述兩個(gè)中間點(diǎn)連線的最大等分份數(shù)、各等分點(diǎn)位置及其色彩和亮度值,再將它們賦予相應(yīng)的體素。
本發(fā)明具有以下優(yōu)點(diǎn)及積極效果根據(jù)原始三維圖像是三維離散數(shù)據(jù)集還是三維幾何模型,以及顯示空間是由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成,還是由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成,采用視具體情況而異的靈活、彈性的體素?cái)?shù)據(jù)生成方法,因此具有低的計(jì)算復(fù)雜性,能夠減少無謂的計(jì)算成本和時(shí)間成本,表現(xiàn)出高速、高效和高適應(yīng)性的特點(diǎn)。
以下結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
圖1是體三維顯示中的體素?cái)?shù)據(jù)生成方法所包括的步驟;圖2示出利用顯示屏平移以提供呈長(zhǎng)方體形狀的顯示空間和多個(gè)顯示平面;圖3A示出利用顯示屏旋轉(zhuǎn)以提供呈圓柱形狀的顯示空間和多個(gè)顯示平面;圖3B示出在空間直角坐標(biāo)系XYZ和柱面坐標(biāo)系RΘZ中的一個(gè)顯示平面;圖4A、4B和4C分別示出三維幾何模型、三角形和邊對(duì)頂點(diǎn)的依賴性;圖5A、5B示出對(duì)△P1P2P3的邊和內(nèi)部區(qū)域進(jìn)行等分和填充分解的兩種方法;圖6示出空間中的邊P1P2與顯示平面45相交于其自身的一個(gè)中間點(diǎn)Pa;圖7A至圖7N以俯視方式示出△P1P2P3與顯示平面45間的不同位置關(guān)系;圖8以正視方式示出△P1P2P3的邊如何分解映射到顯示平面45上的體素;圖9A是對(duì)實(shí)施例中由頂點(diǎn)映射生成的體素?cái)?shù)據(jù)進(jìn)行仿真再現(xiàn)的效果圖;圖9B是對(duì)實(shí)施例中由邊等分分解生成的體素?cái)?shù)據(jù)進(jìn)行仿真再現(xiàn)的效果圖;圖9C是對(duì)實(shí)施例中由三角形填充生成的體素?cái)?shù)據(jù)進(jìn)行仿真再現(xiàn)的效果圖;圖9D是對(duì)實(shí)施例中由邊等分分解生成的體素?cái)?shù)據(jù)進(jìn)行真實(shí)再現(xiàn)所拍照片。
具體實(shí)施例方式
下面參照?qǐng)D2至圖9,詳細(xì)解釋圖1體三維顯示中的體素?cái)?shù)據(jù)生成方法。
1)根據(jù)體三維顯示系統(tǒng)的顯示空間和體素的形成原理,分析顯示空間的形狀、大小和所有體素的位置分布情況,對(duì)輸入的原始三維圖像進(jìn)行按比例縮放以適應(yīng)所述顯示空間;體三維顯示中的體素?cái)?shù)據(jù)生成方法從本質(zhì)上說,就是將原始三維圖像調(diào)整至體三維顯示空間(以下簡(jiǎn)稱顯示空間),然后利用顯示空間中的體素來表述原始三維圖像。為此,首先需要分析顯示空間的形狀、大小和所有體素的位置分布情況,再對(duì)輸入的原始三維圖像進(jìn)行按比例縮放以適應(yīng)所述顯示空間。
下面參照?qǐng)D2和圖3A進(jìn)行示例分析。其中,包含像素2的顯示屏3可以是發(fā)光顯示屏,也可以是投影顯示屏,它在圖2中沿著5A所示方向快速平移,以在物理空間中提供呈長(zhǎng)方體形狀的顯示空間6A和處在不同空間位置的多個(gè)顯示平面31A、32A、33A、34A和35A,在圖3中繞著轉(zhuǎn)軸4沿5B所示方向快速轉(zhuǎn)動(dòng),以在物理空間中提供呈圓柱體形狀的顯示空間6B和處在不同空間位置的多個(gè)顯示平面31B、32B、…、39B、40B(為清晰起見,圖中只標(biāo)注出這四個(gè)平面)。隨著顯示屏3的快速運(yùn)動(dòng),其上的像素2因人眼視覺暫留效應(yīng)而被相應(yīng)看成是“駐留”在上述不同空間位置處的顯示平面上的體素。為此,顯示平面實(shí)際上就是體素所處的平面,這些具有相同分辨率和規(guī)則體素分布的、處在不同空間位置的多個(gè)顯示平面共同構(gòu)成了顯示空間。
圖2、圖3A可分別利用坐標(biāo)系7A、7B對(duì)顯示平面和體素進(jìn)行描述。假設(shè)顯示空間中共有L個(gè)顯示平面,每個(gè)顯示平面各有M×N個(gè)以矩陣形式排列的體素,則各顯示平面在空間中的位置可利用其相應(yīng)的面索引號(hào)l(l=1,2,…,L)標(biāo)識(shí),各體素在矩陣中的位置可利用其相應(yīng)的列索引號(hào)m(m=1,2,…,M)和行索引號(hào)n(n=1,2,…,N)標(biāo)識(shí)。在圖2所示情形下,顯示平面的方程為z=D(常數(shù)),而空間中第l個(gè)顯示平面上的第m列第n行體素的直角坐標(biāo)為(xn,ym,zl),其中的變量xn、ym、zl分別代表所述體素在垂直方向、水平方向和縱深方向的坐標(biāo)值。在圖3A所示情形下,為清晰起見而參照?qǐng)D3B對(duì)顯示平面的方程和體素坐標(biāo)進(jìn)行分析。由于所有顯示平面都在旋轉(zhuǎn)中形成,都包含Z軸并經(jīng)過原點(diǎn)O,假設(shè)θ表示顯示平面相對(duì)于起始平面XOZ的轉(zhuǎn)角,那么,在平面一般方程Ax+By+Cz+D=0中有常數(shù)D=0,法向量坐標(biāo)A=cosθ、B=sinθ、C=0,由此得到顯示平面的方程為xcosθ+ysinθ=0,空間中第l個(gè)顯示平面46B上的第m列第n行體素的柱面坐標(biāo)為(rm,θl,zn),變量rm、θl、zn分別表示所述體素在水平方向、轉(zhuǎn)動(dòng)方向和垂直方向的坐標(biāo)值。
顯然,如果體三維顯示系統(tǒng)的顯示空間不是如上所述由具有相同分辨率和規(guī)則體素分布的多個(gè)顯示平面構(gòu)成,而是由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成,同樣可以分析得到該情況下的顯示空間的形狀、大小和所有體素的位置分布情況,這里不再贅述。接著,應(yīng)根據(jù)分析所得情況對(duì)輸入的原始三維圖像進(jìn)行按比例縮放,以確保整幅三維圖像都能在顯示空間中再現(xiàn)出來??紤]到按比例縮放技術(shù)在本領(lǐng)域?yàn)榱?xí)知的技術(shù),所以在此不作描述。
2)根據(jù)原始三維圖像是三維離散數(shù)據(jù)集還是三維幾何模型,以及顯示空間是由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成,還是由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成,選擇相應(yīng)的體素?cái)?shù)據(jù)生成方法。
三維離散數(shù)據(jù)集當(dāng)原始三維圖像是三維離散數(shù)據(jù)集時(shí),無論顯示空間是由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成,還是由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成,體素?cái)?shù)據(jù)生成任務(wù)的實(shí)質(zhì)都是建立數(shù)據(jù)點(diǎn)與體素之間的映射關(guān)系,只是后者可以把數(shù)據(jù)點(diǎn)先映射到各個(gè)顯示平面上,再映射到各個(gè)體素位置。盡管數(shù)據(jù)點(diǎn)與體素都是構(gòu)成三維圖像的最小組成要素,都可以描述位置、色彩和亮度信息,但這些信息在兩者間映射關(guān)系建立之前是毫不相關(guān)的,數(shù)據(jù)點(diǎn)的位置和體素的位置不一定在空間中完全重合,不重合的程度也沒有明確的規(guī)律可循。為此,應(yīng)基于步驟1)所確定的體素位置坐標(biāo)和縮放處理后的原始三維圖像數(shù)據(jù),具體按照以下步驟來生成體素?cái)?shù)據(jù) 指定數(shù)據(jù)點(diǎn)與體素的位置偏差容許范圍,據(jù)此搜索數(shù)據(jù)點(diǎn)附近的所有體素,從中選出與所述數(shù)據(jù)點(diǎn)之間的空間距離落在該容許范圍內(nèi)的體素,遍歷三維離散數(shù)據(jù)集的所有數(shù)據(jù)點(diǎn),建立每個(gè)數(shù)據(jù)點(diǎn)與體素之間的位置映射關(guān)系; 當(dāng)一個(gè)數(shù)據(jù)點(diǎn)位置只被映射到一個(gè)體素位置時(shí),該數(shù)據(jù)點(diǎn)的色彩和亮度值就直接作為該體素的色彩和亮度值,當(dāng)多個(gè)數(shù)據(jù)點(diǎn)位置同時(shí)被映射到一個(gè)體素位置時(shí),這些數(shù)據(jù)點(diǎn)與該體素之間的各距離分別作為它們位置重疊程度的度量,如果各距離都相同,則對(duì)這些數(shù)據(jù)點(diǎn)的色彩和亮度值進(jìn)行算術(shù)平均運(yùn)算,再以所得結(jié)果作為該體素的色彩和亮度值,如果距離各不相同或有些相同有些不同,則根據(jù)這些數(shù)據(jù)點(diǎn)與該體素的位置重疊程度分配權(quán)重因子,據(jù)此對(duì)這些數(shù)據(jù)點(diǎn)的色彩和亮度值進(jìn)行加權(quán)平均運(yùn)算,再以所得結(jié)果作為該體素的色彩和亮度值,至于那些沒有任何數(shù)據(jù)點(diǎn)與之映射的體素,其色彩和亮度值都賦零;這樣,在如步驟 所述遍歷三維離散數(shù)據(jù)集的所有數(shù)據(jù)點(diǎn)之后,含有位置、色彩和亮度信息的體素?cái)?shù)據(jù)也就相應(yīng)生成了。
三維幾何模型當(dāng)原始三維圖像是三維幾何模型且顯示空間由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成時(shí),先把三維幾何模型分解為許多點(diǎn),再采用類似于對(duì)三維離散數(shù)據(jù)集的處理方法來生成體素?cái)?shù)據(jù)指定位置偏差容許范圍以建立這些點(diǎn)與體素之間的位置映射關(guān)系,并根據(jù)位置映射情況確定體素的色彩和亮度值;當(dāng)原始三維圖像是三維幾何模型,并且顯示空間由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成時(shí),先判斷三維幾何模型與所有顯示平面之間的位置關(guān)系再進(jìn)行后續(xù)處理,將正好處在顯示平面上的模型數(shù)據(jù)映射處理成體素?cái)?shù)據(jù),至于那些沒有任何數(shù)據(jù)與之相映射的體素,其色彩和亮度值都賦零。
在本說明書下面的描述中,假定使用三角形作為圖元來描述待處理的三維幾何模型,本領(lǐng)域技術(shù)人員可以容易地將同樣的技術(shù)應(yīng)用于由其它圖元構(gòu)成的三維幾何模型。從背景技術(shù)可知,由三角形構(gòu)成的三維幾何模型都依賴于頂點(diǎn)而存在(圖4A、4B和4C以三棱錐P4P1P2P3為例,分別示出了三維幾何模型8、三角形81~84和邊801~806對(duì)頂點(diǎn)P4、P1、P2、P3的依賴性),并且,其數(shù)據(jù)文件只給出三角形的頂點(diǎn)數(shù)據(jù),而沒有給出其內(nèi)部區(qū)域或三條邊上的其余點(diǎn)的數(shù)據(jù)。針對(duì)這一特點(diǎn),并根據(jù)顯示空間是由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成,還是由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成,可以有以下幾種由三角形構(gòu)成的三維幾何模型生成體素?cái)?shù)據(jù)的方法當(dāng)顯示空間由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成時(shí),考慮到分解三維幾何模型所需的工作量和所花費(fèi)的時(shí)間會(huì)隨著模型復(fù)雜度的增加而增加,為了減少無謂的計(jì)算成本和時(shí)間成本,加速體素?cái)?shù)據(jù)生成,可采用如下視具體情況而異的、靈活的三維幾何模型分解和體素?cái)?shù)據(jù)生成方法
如果三維幾何模型由數(shù)量密集的小尺寸三角形構(gòu)成,則說明此時(shí)頂點(diǎn)的總數(shù)很多,由頂點(diǎn)數(shù)據(jù)生成的體素?cái)?shù)據(jù)可能足以得到較好的模型再現(xiàn)效果,因此不必分解模型或根據(jù)三角形頂點(diǎn)數(shù)據(jù)來插值求得其內(nèi)部區(qū)域或三條邊上的其余點(diǎn)的數(shù)據(jù),只需直接將模型的所有頂點(diǎn)數(shù)據(jù)映射處理成體素?cái)?shù)據(jù)即可;這種體素?cái)?shù)據(jù)生成方法簡(jiǎn)單易行,既可以明顯減少生成體素?cái)?shù)據(jù)所需的工作量和所花費(fèi)的時(shí)間,又可以得到較好的模型再現(xiàn)效果; 如果三維幾何模型不完全由數(shù)量密集的小尺寸三角形構(gòu)成,則對(duì)模型的所有邊進(jìn)行等分分解,等分點(diǎn)數(shù)據(jù)通過對(duì)各條邊首尾兩個(gè)頂點(diǎn)數(shù)據(jù)進(jìn)行內(nèi)插而生成,各條邊的等分份數(shù)可以相同,也可以隨邊的長(zhǎng)短不同而不同,長(zhǎng)度越短的邊,其等分份數(shù)越少,由此實(shí)現(xiàn)靈活、彈性的等分分解;最后,將等分點(diǎn)數(shù)據(jù)和頂點(diǎn)數(shù)據(jù)映射處理成體素?cái)?shù)據(jù); 如果三維幾何模型不完全由密集的小尺寸三角形構(gòu)成,則在如 所述對(duì)模型的所有邊進(jìn)行等分分解后,還可以對(duì)模型的所有三角形的內(nèi)部區(qū)域進(jìn)行填充分解,所述填充分解可以通過以下三種方法實(shí)現(xiàn)將三角形任意兩條邊上的各等分點(diǎn)連接成線,再對(duì)所述各連線進(jìn)行等分分解;將三角形某一頂點(diǎn)與其對(duì)面那條邊上的各等分點(diǎn)連接成線,再對(duì)所述各連線進(jìn)行等分分解(圖5A);根據(jù)三角形的三個(gè)頂點(diǎn)求出所述三角形的重心G,將所述重心與所述三個(gè)頂點(diǎn)連接成線而生成三個(gè)新的、尺寸較小的三角形(圖5B),基于所述重心分解原理,可以進(jìn)一步生成九個(gè)、二十七個(gè)乃至更多個(gè)新的、尺寸逐漸變小的三角形,最后將所述新生成的三角形的所有頂點(diǎn)數(shù)據(jù)映射處理成體素?cái)?shù)據(jù);當(dāng)顯示空間是由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成時(shí),考慮到顯示空間和三維幾何模型分別由許多顯示平面和許多三角形構(gòu)成,下面將以某一顯示平面和某一三角形為例,說明如何判斷所述顯示平面與所述三角形之間的位置關(guān)系并進(jìn)行后續(xù)處理,至于對(duì)其它顯示平面與其它三角形的處理則完全相同,只需重復(fù)上述過程即可。需要說明的是,由于模型中的每個(gè)頂點(diǎn)被多條邊共享,每?jī)蓚€(gè)相鄰三角形共享一條邊,因此每次對(duì)三角形和顯示平面之間的位置關(guān)系進(jìn)行判斷之前,先檢查三角形的頂點(diǎn)和邊是否處理過,如果是,取出已有數(shù)據(jù),否則進(jìn)行判斷;每完成一次判斷,就存儲(chǔ)已處理的頂點(diǎn)、邊和三角形數(shù)據(jù),以便判斷下一個(gè)三角形時(shí)利用,由此可減少重復(fù)性運(yùn)算;
判斷三角形與顯示平面之間的位置關(guān)系并進(jìn)行后續(xù)處理包括以下步驟i)根據(jù)三角形的頂點(diǎn)位置坐標(biāo)、顯示平面的方程以及空間解析幾何中的點(diǎn)到面的距離公式,分別算出三個(gè)頂點(diǎn)到顯示平面的距離,并判斷所得各距離是否為0,如果是,則說明頂點(diǎn)在顯示平面上,否則,頂點(diǎn)在顯示平面外;ii)基于步驟i)頂點(diǎn)與顯示平面之間位置關(guān)系的判斷結(jié)果,推知三角形的邊與顯示平面之間是哪種位置關(guān)系。參照?qǐng)D6,設(shè)△P1P2P3的一條邊P1P2首尾頂點(diǎn)P1、P2到顯示平面45的距離分別為d1、d2,根據(jù)這兩個(gè)參數(shù)的取值情況,可推知邊P1P2和顯示平面45之間所存在的位置關(guān)系有如果d1=0、d2≠0,則頂點(diǎn)P1在顯示平面上,邊與顯示平面相交于頂點(diǎn)P1;如果d1≠0、d2=0,則頂點(diǎn)P2在顯示平面上,邊與顯示平面相交于頂點(diǎn)P2;如果d1=d2=0,則頂點(diǎn)P1、P2都在顯示平面上,也即,邊在顯示平面上;如果d1d2>0,則頂點(diǎn)P1、P2在顯示平面外的同一側(cè),邊與顯示平面無交點(diǎn);如果d1d2<0,則頂點(diǎn)P1、P2在顯示平面外的不同側(cè),邊與顯示平面相交于其自身的一個(gè)中間點(diǎn)(如,圖6中的Pa);iii)基于步驟ii)邊與顯示平面之間位置關(guān)系的判斷結(jié)果,推知△P1P2P3與顯示平面45之間可能存在的所有十四種位置關(guān)系(圖7A至圖7N),并歸納為以下六種情況三角形在顯示平面上(圖7A),三角形在顯示平面外(圖7B),三角形與顯示平面相交于一個(gè)頂點(diǎn)(圖7C至圖7E),三角形與顯示平面相交于一條邊(圖7F至圖7H),三角形與顯示平面相交于某兩條邊的共有頂點(diǎn)與第三條邊某一中間點(diǎn)的連線(圖7I至圖7K),三角形與顯示平面相交于某條邊的中間點(diǎn)與另一條邊某一中間點(diǎn)的連線(圖7L至圖7N);iv)基于步驟iii)判斷的六種位置關(guān)系和已知的三角形頂點(diǎn)數(shù)據(jù),將那些正好處在顯示平面上的數(shù)據(jù)映射處理成體素?cái)?shù)據(jù),具體為,a)如果三角形在顯示平面上(圖7A),則根據(jù)其頂點(diǎn)的位置坐標(biāo)和位于各頂點(diǎn)附近的各體素的位置坐標(biāo),算出各頂點(diǎn)與位于其附近的各體素之間距離的絕對(duì)值,從中選出具有最小絕對(duì)距離的體素作為與頂點(diǎn)相映射的體素,然后將所述頂點(diǎn)的色彩和亮度值賦予所述體素,接著根據(jù)顯示平面上的體素分布規(guī)律,對(duì)三角形的邊和內(nèi)部區(qū)域進(jìn)行等分分解和填充分解,獲得新生成的各點(diǎn)的數(shù)據(jù),并將它們映射處理成相應(yīng)的體素?cái)?shù)據(jù);
為清楚起見,以圖8為例說明△P1P2P3的邊如何分解映射到顯示平面45上以黑色小矩形表示的體素。設(shè)第m列第n行體素用Vmn表示,列索引號(hào)m=1,2,…,M;行索引號(hào)n=1,2,…,N。頂點(diǎn)P1附近的四個(gè)體素V11、V12、V21、V22中,位置與P1最靠近的體素是V12,因此頂點(diǎn)P1被映射為體素V12,同理,頂點(diǎn)P2、P3分別被映射為體素V65、V62,相應(yīng)地,邊P1P2、P1P3和P2P3分別被映射為線段V12V65、V12V62和V65V62,所述三條線段上的其它體素的個(gè)數(shù)各自增一就是所述三條邊各自的最大等分份數(shù),所述體素的位置就是與所述三條邊的等分點(diǎn)(圖8中的黑色小星形)位置最靠近的、應(yīng)被映射的體素位置,所述體素的色彩和亮度值就是對(duì)所述各條邊的頂點(diǎn)色彩和亮度值進(jìn)行內(nèi)插而生成的等分點(diǎn)的色彩和亮度值。比如,邊P1P2的最大等分份數(shù)為3,位于其上的等分點(diǎn)H1、H2應(yīng)分別被映射為體素V33、V44。
b)如果三角形在顯示平面外(圖7B),則將它舍棄而不做任何處理;c)如果三角形與顯示平面相交于一個(gè)頂點(diǎn)(圖7C至圖7E),則根據(jù)所述頂點(diǎn)的位置坐標(biāo),將頂點(diǎn)數(shù)據(jù)映射處理成顯示平面上與它最靠近的體素?cái)?shù)據(jù);d)如果三角形與顯示平面相交于一條邊(圖7F至圖7H),則先將所述邊的首尾兩個(gè)頂點(diǎn)數(shù)據(jù)映射處理成顯示平面上分別與它們最靠近的兩個(gè)體素?cái)?shù)據(jù),然后根據(jù)所述兩個(gè)體素連線方向上的其它體素分布,確定所述邊的最大等分份數(shù)、各等分點(diǎn)位置及其色彩和亮度值,再將它們賦予相應(yīng)的體素;e)如果三角形與顯示平面相交于某兩條邊的共有頂點(diǎn)與第三條邊某一中間點(diǎn)的連線(圖7I至圖7K),則先根據(jù)第三條邊首尾兩個(gè)頂點(diǎn)數(shù)據(jù)內(nèi)插得到所述中間點(diǎn)數(shù)據(jù),并將所述共有頂點(diǎn)和中間點(diǎn)數(shù)據(jù)映射處理成顯示平面上分別與它們最靠近的兩個(gè)體素?cái)?shù)據(jù),然后根據(jù)所述兩個(gè)體素連線方向上的其它體素分布,確定所述共有頂點(diǎn)和中間點(diǎn)的連線的最大等分份數(shù)、各等分點(diǎn)位置及其色彩和亮度值,再將它們賦予相應(yīng)的體素;f)如果三角形與顯示平面相交于某條邊的中間點(diǎn)與另一條邊某一中間點(diǎn)的連線(圖7L至圖7N),則先內(nèi)插得到所述兩個(gè)中間點(diǎn)數(shù)據(jù),并映射處理成顯示平面上分別與它們最靠近的兩個(gè)體素?cái)?shù)據(jù),然后根據(jù)所述兩個(gè)體素連線方向上的其它體素分布,確定所述兩個(gè)中間點(diǎn)連線的最大等分份數(shù)、各等分點(diǎn)位置及其色彩和亮度值,再將它們賦予相應(yīng)的體素。
實(shí)施例利用我們自主開發(fā)的體素?cái)?shù)據(jù)生成與仿真顯示平臺(tái),以及我們本身建立的基于旋轉(zhuǎn)二維發(fā)光二極管陣列的體三維顯示實(shí)驗(yàn)系統(tǒng),對(duì)本發(fā)明體三維顯示中的體素?cái)?shù)據(jù)生成方法進(jìn)行校驗(yàn),結(jié)果表明取得了很好的實(shí)施效果?;诒景l(fā)明所生成的體素?cái)?shù)據(jù),可以進(jìn)行仿真再現(xiàn)或真實(shí)再現(xiàn),都能得到由這些體素?cái)?shù)據(jù)表述的、與原始三維圖像相應(yīng)的再現(xiàn)圖像。
在我們所采用的一個(gè)實(shí)施例中,三維計(jì)算機(jī)模型使用一架包含849個(gè)頂點(diǎn)、4950條邊和1650個(gè)三角形的飛機(jī),體三維顯示空間由具有相同分辨率和規(guī)則體素分布的1024個(gè)顯示平面構(gòu)成,在每個(gè)顯示平面上各有256×64個(gè)以矩陣形式排列的體素。圖9A、圖9B和圖9C分別是對(duì)該實(shí)施例中由頂點(diǎn)映射生成的體素?cái)?shù)據(jù)、由邊等分分解生成的體素?cái)?shù)據(jù)以及由三角形填充生成的體素?cái)?shù)據(jù)進(jìn)行仿真再現(xiàn)的效果圖,所對(duì)應(yīng)的體素總數(shù)分別是849、28872和84515。上述體素?cái)?shù)據(jù)也可以用于真實(shí)再現(xiàn),圖9D就是對(duì)該實(shí)施例中由邊等分分解生成的體素?cái)?shù)據(jù)進(jìn)行真實(shí)再現(xiàn)時(shí)拍攝的照片。
比較圖9A至圖9C可以發(fā)現(xiàn)由于飛機(jī)頂點(diǎn)只有849個(gè),導(dǎo)致在對(duì)頂點(diǎn)映射生成的體素?cái)?shù)據(jù)進(jìn)行再現(xiàn)時(shí),那些依賴于邊和三角形而存在的信息丟失,圖9A的再現(xiàn)效果不理想,而圖9B和圖9C分別對(duì)依賴于邊和三角形而存在的信息進(jìn)行了表述,因此再現(xiàn)效果比較理想,分別得到線框圖和散點(diǎn)圖。
雖然這里是通過示意和舉例的方式對(duì)本發(fā)明進(jìn)行描述的,但應(yīng)當(dāng)認(rèn)識(shí)到,本發(fā)明并不局限于上述實(shí)施方式和實(shí)施例,前面的描述只被認(rèn)為是說明性的,而非限制性的,本領(lǐng)域技術(shù)人員可以做出多種變換或修改,只要沒有離開所附權(quán)利要求中所確立的范圍和精神實(shí)質(zhì),均視為在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種體三維顯示中的體素?cái)?shù)據(jù)生成方法,其特征在于,包括以下步驟1)根據(jù)體三維顯示系統(tǒng)的顯示空間和體素的形成原理,分析顯示空間的形狀、大小和所有體素的位置分布情況,對(duì)輸入的原始三維圖像進(jìn)行按比例縮放以適應(yīng)所述顯示空間;2)根據(jù)原始三維圖像是三維離散數(shù)據(jù)集還是三維幾何模型,以及顯示空間是由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成,還是由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成,選擇相應(yīng)的體素?cái)?shù)據(jù)生成方法。
2.根據(jù)權(quán)利要求l所述的一種體三維顯示中的體素?cái)?shù)據(jù)生成方法,其特征在于,所述的步驟2)具體為當(dāng)原始三維圖像是三維離散數(shù)據(jù)集時(shí),無論顯示空間是由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成,還是由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成,體素?cái)?shù)據(jù)生成任務(wù)的實(shí)質(zhì)都是建立數(shù)據(jù)點(diǎn)與體素之間的映射關(guān)系,只是后者可以把數(shù)據(jù)點(diǎn)先映射到各個(gè)顯示平面上,再映射到各個(gè)體素位置,具體地,按照以下步驟來生成體素?cái)?shù)據(jù) 指定數(shù)據(jù)點(diǎn)與體素的位置偏差容許范圍,據(jù)此搜索數(shù)據(jù)點(diǎn)附近的所有體素,從中選出與所述數(shù)據(jù)點(diǎn)之間的空間距離落在該容許范圍內(nèi)的體素,遍歷三維離散數(shù)據(jù)集的所有數(shù)據(jù)點(diǎn),建立每個(gè)數(shù)據(jù)點(diǎn)與體素之間的位置映射關(guān)系; 當(dāng)一個(gè)數(shù)據(jù)點(diǎn)位置只被映射到一個(gè)體素位置時(shí),該數(shù)據(jù)點(diǎn)的色彩和亮度值就直接作為該體素的色彩和亮度值,當(dāng)多個(gè)數(shù)據(jù)點(diǎn)位置同時(shí)被映射到一個(gè)體素位置時(shí),這些數(shù)據(jù)點(diǎn)與該體素之間的各距離分別作為它們位置重疊程度的度量,如果各距離都相同,則對(duì)這些數(shù)據(jù)點(diǎn)的色彩和亮度值進(jìn)行算術(shù)平均運(yùn)算,再以所得結(jié)果作為該體素的色彩和亮度值,如果距離各不相同或有些相同有些不同,則根據(jù)這些數(shù)據(jù)點(diǎn)與該體素的位置重疊程度分配權(quán)重因子,據(jù)此對(duì)這些數(shù)據(jù)點(diǎn)的色彩和亮度值進(jìn)行加權(quán)平均運(yùn)算,再以所得結(jié)果作為該體素的色彩和亮度值,至于那些沒有任何數(shù)據(jù)點(diǎn)與之映射的體素,其色彩和亮度值都賦零;當(dāng)原始三維圖像是三維幾何模型且顯示空間由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成時(shí),先把三維幾何模型分解為許多點(diǎn),再采用類似于對(duì)三維離散數(shù)據(jù)集的處理方法來生成體素?cái)?shù)據(jù)指定位置偏差容許范圍以建立這些點(diǎn)與體素之間的位置映射關(guān)系,并根據(jù)位置映射情況確定體素的色彩和亮度值;當(dāng)原始三維圖像是三維幾何模型,并且顯示空間由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成時(shí),先判斷三維幾何模型與所有顯示平面之間的位置關(guān)系再進(jìn)行后續(xù)處理,將正好處在顯示平面上的模型數(shù)據(jù)映射處理成體素?cái)?shù)據(jù),至于那些沒有任何數(shù)據(jù)與之相映射的體素,其色彩和亮度值都賦零。
3.根據(jù)權(quán)利要求2所述的一種體三維顯示中的體素?cái)?shù)據(jù)生成方法,其特征在于,所述的三維幾何模型包括在計(jì)算機(jī)中使用參數(shù)曲面定義的自由曲面模型和使用點(diǎn)、線、面等基本元素構(gòu)造的多邊形模型。
4.根據(jù)權(quán)利要求2所述的一種體三維顯示中的體素?cái)?shù)據(jù)生成方法,其特征在于,所述的三維幾何模型是使用三角形構(gòu)造的多邊形模型,每個(gè)三角形由三個(gè)頂點(diǎn)確定,項(xiàng)點(diǎn)數(shù)據(jù)以數(shù)組形式出現(xiàn),主要涉及頂點(diǎn)的位置、色彩和亮度值;所述的當(dāng)原始三維圖像是三維幾何模型并且顯示空間由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成時(shí),先把三維幾何模型分解為許多點(diǎn),再采用類似于對(duì)三維離散數(shù)據(jù)集的處理方法來生成體素?cái)?shù)據(jù),可以視具體情況而異 如果三維幾何模型由數(shù)量密集的小尺寸三角形構(gòu)成,則不必分解模型,直接將模型的所有頂點(diǎn)數(shù)據(jù)映射處理成體素?cái)?shù)據(jù); 如果三維幾何模型不完全由數(shù)量密集的小尺寸三角形構(gòu)成,則對(duì)模型的所有邊進(jìn)行等分分解,等分點(diǎn)數(shù)據(jù)通過對(duì)各條邊首尾兩個(gè)項(xiàng)點(diǎn)數(shù)據(jù)進(jìn)行內(nèi)插而生成,各條邊的等分份數(shù)可以相同,也可以隨邊的長(zhǎng)短不同而不同,長(zhǎng)度越短的邊,其等分份數(shù)越少,由此實(shí)現(xiàn)靈活、彈性的等分分解,最后,將等分點(diǎn)數(shù)據(jù)和頂點(diǎn)數(shù)據(jù)映射處理成體素?cái)?shù)據(jù); 如果三維幾何模型不完全由密集的小尺寸三角形構(gòu)成,則在如 所述對(duì)模型的所有邊進(jìn)行等分分解后,還可以對(duì)模型的所有三角形的內(nèi)部區(qū)域進(jìn)行填充分解,所述填充分解可以通過以下三種方法實(shí)現(xiàn)將三角形任意兩條邊上的各等分點(diǎn)連接成線,再對(duì)所述各連線進(jìn)行等分分解;將三角形某一頂點(diǎn)與其對(duì)面那條邊上的各等分點(diǎn)連接成線,再對(duì)所述各連線進(jìn)行等分分解;根據(jù)三角形的三個(gè)頂點(diǎn)求出所述三角形的重心,將所述重心與所述三個(gè)頂點(diǎn)連接成線而生成三個(gè)新的、尺寸較小的三角形,基于所述重心分解原理,可以進(jìn)一步生成九個(gè)、二十七個(gè)乃至更多個(gè)新的、尺寸逐漸變小的三角形,最后將所述新生成的三角形的所有頂點(diǎn)數(shù)據(jù)映射處理成體素?cái)?shù)據(jù);所述的當(dāng)原始三維圖像是三維幾何模型,并且顯示空間由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成時(shí),先判斷三維幾何模型與所有顯示平面之間的位置關(guān)系再進(jìn)行后續(xù)處理,是指判斷三維幾何模型的各個(gè)三角形與所有顯示平面之間的位置關(guān)系再進(jìn)行后續(xù)處理,在每次對(duì)三角形和顯示平面之間的位置關(guān)系進(jìn)行判斷之前,先檢查三角形的頂點(diǎn)和邊是否處理過,如果是,取出已有數(shù)據(jù),否則進(jìn)行判斷;每完成一次判斷,就存儲(chǔ)已處理的頂點(diǎn)、邊和三角形數(shù)據(jù),以便在判斷下一個(gè)三角形的位置關(guān)系時(shí)利用。
5.根據(jù)權(quán)利要求4所述的一種體三維顯示中的體素?cái)?shù)據(jù)生成方法,其特征在于,所述的判斷三維幾何模型的各個(gè)三角形與所有顯示平面之間的位置關(guān)系再進(jìn)行后續(xù)處理,包括以下步驟i)根據(jù)三角形的頂點(diǎn)位置坐標(biāo)、顯示平面的方程以及空間解析幾何中的點(diǎn)到面的距離公式,分別算出三個(gè)頂點(diǎn)到顯示平面的距離,并判斷所得各距離是否為0,如果是,則說明頂點(diǎn)在顯示平面上,否則,頂點(diǎn)在顯示平面外;ii)基于步驟i)頂點(diǎn)與顯示平面之間位置關(guān)系的判斷結(jié)果,推知三角形的邊與顯示平面是以下哪種位置關(guān)系邊與顯示平面相交于其自身的一個(gè)頂點(diǎn),邊與顯示平面相交于其自身的一個(gè)中間點(diǎn),邊在顯示平面上,邊在顯示平面外;iii)基于步驟ii)邊與顯示平面之間位置關(guān)系的判斷結(jié)果,推知三角形與顯示平面是以下哪種位置關(guān)系三角形在顯示平面上,三角形在顯示平面外,三角形與顯示平面相交于一個(gè)頂點(diǎn),三角形與顯示平面相交于一條邊,三角形與顯示平面相交于某兩條邊的共有頂點(diǎn)與第三條邊某一中間點(diǎn)的連線,三角形與顯示平面相交于某條邊的中間點(diǎn)與另一條邊某一中間點(diǎn)的連線;iv)根據(jù)步驟iii)判斷的六種位置關(guān)系和已知的三角形頂點(diǎn)數(shù)據(jù),將那些正好處在顯示平面上的數(shù)據(jù)映射處理成體素?cái)?shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的一種體三維顯示中的體素?cái)?shù)據(jù)生成方法,其特征在于,所述的步驟iv)具體為a)如果三角形在顯示平面上,則根據(jù)其頂點(diǎn)的位置坐標(biāo)和位于各頂點(diǎn)附近的各體素的位置坐標(biāo),算出各頂點(diǎn)與位于其附近的各體素之間距離的絕對(duì)值,從中選出具有最小絕對(duì)距離的體素作為與頂點(diǎn)相映射的體素,然后將所述頂點(diǎn)的色彩和亮度值賦予所述體素,接著根據(jù)顯示平面上的體素分布規(guī)律,對(duì)三角形的邊和內(nèi)部區(qū)域進(jìn)行等分分解和填充分解,獲得新生成的各點(diǎn)的數(shù)據(jù),并將它們映射處理成相應(yīng)的體素?cái)?shù)據(jù);b)如果三角形在顯示平面外,則將所述三角形舍棄而不做任何處理;c)如果三角形與顯示平面相交于一個(gè)頂點(diǎn),則根據(jù)所述頂點(diǎn)的位置坐標(biāo),將頂點(diǎn)數(shù)據(jù)映射處理成顯示平面上與它最靠近的體素?cái)?shù)據(jù);d)如果三角形與顯示平面相交于一條邊,則先將所述邊的首尾兩個(gè)頂點(diǎn)數(shù)據(jù)映射處理成顯示平面上分別與它們最靠近的兩個(gè)體素?cái)?shù)據(jù),然后根據(jù)所述兩個(gè)體素連線方向上的其它體素分布,確定所述邊的最大等分份數(shù)、各等分點(diǎn)位置及其色彩和亮度值,再將它們賦予相應(yīng)的體素;e)如果三角形與顯示平面相交于某兩條邊的共有頂點(diǎn)與第三條邊某一中間點(diǎn)的連線,則先根據(jù)第三條邊首尾兩個(gè)頂點(diǎn)數(shù)據(jù)內(nèi)插得到所述中間點(diǎn)數(shù)據(jù),并將所述共有頂點(diǎn)和中間點(diǎn)數(shù)據(jù)映射處理成顯示平面上分別與它們最靠近的兩個(gè)體素?cái)?shù)據(jù),然后根據(jù)所述兩個(gè)體素連線方向上的其它體素分布,確定所述共有頂點(diǎn)和中間點(diǎn)的連線的最大等分份數(shù)、各等分點(diǎn)位置及其色彩和亮度值,再將它們賦予相應(yīng)的體素;f)如果三角形與顯示平面相交于某條邊的中間點(diǎn)與另一條邊某一中間點(diǎn)的連線,則先內(nèi)插得到所述兩個(gè)中間點(diǎn)數(shù)據(jù),并映射處理成顯示平面上分別與它們最靠近的兩個(gè)體素?cái)?shù)據(jù),然后根據(jù)所述兩個(gè)體素連線方向上的其它體素分布,確定所述兩個(gè)中間點(diǎn)連線的最大等分份數(shù)、各等分點(diǎn)位置及其色彩和亮度值,再將它們賦予相應(yīng)的體素。
全文摘要
本發(fā)明涉及一種體三維顯示中的體素?cái)?shù)據(jù)生成方法,用于將原始三維圖像數(shù)據(jù)映射處理成體素?cái)?shù)據(jù),包括步驟根據(jù)體三維顯示系統(tǒng)的顯示空間和體素的形成原理,分析顯示空間的形狀、大小和所有體素的位置分布情況,對(duì)輸入的原始三維圖像進(jìn)行按比例縮放以適應(yīng)所述顯示空間;根據(jù)原始三維圖像是三維離散數(shù)據(jù)集還是三維幾何模型,以及顯示空間是由隨機(jī)分散在不同空間位置上的許多體素構(gòu)成,還是由具有相同分辨率和規(guī)則體素分布的許多顯示平面構(gòu)成,選擇相應(yīng)的體素?cái)?shù)據(jù)生成方法。本發(fā)明采用視具體情況而異的靈活、彈性的體素?cái)?shù)據(jù)生成方法,因此具有低的計(jì)算復(fù)雜性,能夠減少無謂的計(jì)算成本和時(shí)間成本,表現(xiàn)出高速、高效和高適應(yīng)性的特點(diǎn)。
文檔編號(hào)G06T17/00GK101042775SQ20071006781
公開日2007年9月26日 申請(qǐng)日期2007年4月3日 優(yōu)先權(quán)日2007年4月3日
發(fā)明者林遠(yuǎn)芳, 劉旭, 謝小燕, 張曉潔 申請(qǐng)人:浙江大學(xué)