專利名稱:一種三維模型數(shù)據(jù)分布式繪圖方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及空間信息技術(shù)、計算機圖形學、虛擬現(xiàn)實技術(shù)和計算機操作系統(tǒng)等領(lǐng)域技術(shù)領(lǐng)域,特別是涉及一種三維模型數(shù)據(jù)分布式繪圖方法及裝置。
背景技術(shù):
模型是對客觀世界中各種規(guī)律或過程的抽象或模擬,空間數(shù)據(jù)模型則是對現(xiàn)實世界中空間實體及其相互聯(lián)系的抽象,是描述和組織空間數(shù)據(jù)、以及設(shè)計空間數(shù)據(jù)庫模式的基礎(chǔ)。在計算機圖形學中,通常用三維空間數(shù)據(jù)模型(簡稱三維模型)描述三維物體,然后再通過計算機或者其它視頻設(shè)備進行顯示。顯示的三維模型可以是現(xiàn)實世界的實體,也可以是虛構(gòu)的東西,既可以小到原子,也可以大到很大的尺寸。任何物理自然界存在的東西都可以用三維模型表示。三維模型包括幾何和紋理兩部分。其中,幾何部分主要分為三種基于矢量的表面模型、基于體元的實體模型和混合模型。許多三維模型需要使用紋理進行覆蓋,將紋理排列放到三維模型上的過程稱作紋理映射。紋理就是一個圖像,但是它可以讓模型更加細致并且看起來更加真實。隨著科學技術(shù)的不斷進步,在計算機圖形學、虛擬現(xiàn)實、城市規(guī)劃、文物修復、動畫游戲、計算機輔助設(shè)計、地理信息系統(tǒng)、醫(yī)學圖形等領(lǐng)域越來越多地應(yīng)用到三維圖形。應(yīng)用的需求帶動了采集技術(shù)的發(fā)展,現(xiàn)在的機載激光掃描、高分辨率衛(wèi)星影像,三維數(shù)字攝像和掃描系統(tǒng)等高效的空間數(shù)據(jù)獲取方法使得生成高分辨率的三維模型成為現(xiàn)實,但也使得三維模型數(shù)據(jù)的數(shù)據(jù)量呈幾何級數(shù)增長。因為三維物體表面細節(jié)的表現(xiàn)往往需要紋理 (Texture-Compression,也稱之為材質(zhì))來實現(xiàn),那么越是高分辨率越是真彩色的紋理自然表現(xiàn)力也是越強,三維模型的高分辨率(或者叫高精度)越高,三維模型需要的紋理就越多,數(shù)據(jù)量也就越大,繪制時用的時間越長。同時,^ternet也已經(jīng)成為一種數(shù)據(jù)共享、分布式存儲、分布式計算、傳輸、可視化等的基礎(chǔ)平臺,因此一個系統(tǒng)所需要繪制的三維模型可能分布式存儲在網(wǎng)絡(luò)環(huán)境中,甚至是異構(gòu)環(huán)境中,那么如何實現(xiàn)在一個客戶端顯示所需用的分布式存儲的三維模型,也就是如何實現(xiàn)三維模型數(shù)據(jù)的分布式繪圖,成為一個迫切需要解決的問題。
發(fā)明內(nèi)容
為解決上述技術(shù)問題,本發(fā)明實施例提供了一種三維模型數(shù)據(jù)分布式繪圖方法及裝置,技術(shù)方案如下—種三維模型數(shù)據(jù)分布式繪圖方法,包括向多個請求接收端發(fā)送繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求中攜帶視圖控制參數(shù);接收所述請求接收端反饋的、與所述繪制數(shù)據(jù)請求對應(yīng)的繪制后數(shù)據(jù),所述繪制后數(shù)據(jù)包含請求接收端根據(jù)視圖控制參數(shù)繪制三維模型數(shù)據(jù)所對應(yīng)的圖像以及所述圖像上各像素對應(yīng)的合成標識量;
根據(jù)所述繪制后數(shù)據(jù)中各像素的合成標識量,對所接收到的繪制后數(shù)據(jù)進行合成,以確定合成后的圖像為三維模型數(shù)據(jù)分布式繪圖后的圖像。相對應(yīng)的,本發(fā)明實施例提供一種三維模型數(shù)據(jù)分布式繪圖裝置,包括請求發(fā)送模塊,用于向多個請求接收端發(fā)送繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求中攜帶視圖控制參數(shù);數(shù)據(jù)接收模塊,用于接收所述請求接收端反饋的、與所述繪制數(shù)據(jù)請求對應(yīng)的繪制后數(shù)據(jù),所述繪制后數(shù)據(jù)包含請求接收端根據(jù)視圖控制參數(shù)繪制三維模型數(shù)據(jù)所對應(yīng)的圖像以及所述圖像上各像素對應(yīng)的合成標識量;合并處理模塊,用于根據(jù)所述繪制后數(shù)據(jù)中各像素的合成標識量,對所接收到的繪制后數(shù)據(jù)進行合成。本發(fā)明實施例還提供一種三維模型數(shù)據(jù)分布式繪圖方法,包括接收請求發(fā)送端發(fā)送的繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求攜帶視圖控制參數(shù),所述視圖控制參數(shù)包括視圖窗口的外包矩形、視點參數(shù)和投影參數(shù);根據(jù)所述視圖控制參數(shù)繪制三維模型數(shù)據(jù),并生成與所述視圖控制參數(shù)對應(yīng)的視圖窗口的外包矩形大小相同的圖像;獲取所述圖像上各像素深度,并將所述像素深度用來構(gòu)成對應(yīng)像素的合成標識量,所述像素深度用于判斷各像素所對應(yīng)的三維模型數(shù)據(jù)距離所述視圖控制參數(shù)所確定的視點的距離的遠近;將所述繪制后的圖像和各像素對應(yīng)的合成標識量作為繪制后數(shù)據(jù)發(fā)送給所述請求發(fā)送端。相對應(yīng)的,本發(fā)明實施例提供一種三維模型數(shù)據(jù)分布式繪圖裝置,包括請求接收模塊,用于接收請求發(fā)送端發(fā)送的繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求攜帶視圖控制參數(shù),所述視圖控制參數(shù)包括視圖窗口的外包矩形、視點參數(shù)和投影參數(shù);圖像生成模塊,用于根據(jù)所述視圖控制參數(shù)繪制三維模型數(shù)據(jù),并生成與所述視圖控制參數(shù)對應(yīng)的視圖窗口的外包矩形大小相同的圖像;標識量生成模塊,用于獲取所述圖像上各像素深度,并將所述像素深度用來構(gòu)成對應(yīng)像素的合成標識量,所述像素深度用于判斷各像素所對應(yīng)的三維模型數(shù)據(jù)距離所述視圖控制參數(shù)所確定的視點的距離的遠近;數(shù)據(jù)發(fā)送模塊,用于將所述繪制后的圖像和各像素對應(yīng)的合成標識量作為繪制后數(shù)據(jù)發(fā)送給所述請求發(fā)送端。本發(fā)明實施例所提供的技術(shù)方案中,當需要繪制三維模型數(shù)據(jù)時,請求發(fā)送端向多個請求接收端發(fā)送相應(yīng)的攜帶有視圖控制參數(shù)的繪制數(shù)據(jù)請求,并當接收到所述請求接收端反饋的與所述請求對應(yīng)的、包含根據(jù)視圖控制參數(shù)繪制三維模型數(shù)據(jù)所對應(yīng)的圖像以及所述圖像上各像素對應(yīng)的合成標識量的繪制后數(shù)據(jù)后,根據(jù)各像素的合成標識量,對多個圖像進行合成處理,以確定合成后的圖像為三維模型數(shù)據(jù)分布式繪圖后的圖像。本發(fā)明所提供的方案中,通過向多個請求接收端發(fā)送相應(yīng)的繪制數(shù)據(jù)請求,并將請求接收端反饋的結(jié)果進行合成處理,以此實現(xiàn)三維模型數(shù)據(jù)的分布式繪圖。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例所提供的一種三維模型數(shù)據(jù)分布式繪圖方法的第一種流程圖;圖2為本發(fā)明實施例所提供的一種三維模型數(shù)據(jù)分布式繪圖方法的第二種流程圖;圖3為本發(fā)明實施例所提供的一種三維模型數(shù)據(jù)分布式繪圖方法的第三種流程圖;圖4為本發(fā)明實施例所提供的一種三維模型數(shù)據(jù)分布式繪圖方法的第四種流程圖;圖5為本發(fā)明實施例所提供的Z緩沖器算法的第一種坐標示意圖;圖6為本發(fā)明實施例所提供的Z緩沖器算法的第二種坐標示意圖;圖7為本發(fā)明實施例所提供的Z緩沖器算法的第三種坐標示意圖;圖8為本發(fā)明實施例所提供的一種三維模型數(shù)據(jù)分布式繪圖裝置的第一種結(jié)構(gòu)示意圖;圖9為本發(fā)明實施例所提供的一種三維模型數(shù)據(jù)分布式繪圖裝置的第二種結(jié)構(gòu)示意圖。
具體實施例方式為了實現(xiàn)將分布式存儲的三維模型進行分布式繪制,然后有效地顯示在一個客戶請求端,即實現(xiàn)三維模型數(shù)據(jù)的分布式繪圖,本發(fā)明實施例提供了一種三維模型數(shù)據(jù)分布式繪圖方法及裝置。該三維模型數(shù)據(jù)分布式繪圖方法的基本思想是當需要繪制三維模型數(shù)據(jù)時,請求發(fā)送端向多個請求接收端發(fā)送包含相同視圖控制參數(shù)的相應(yīng)繪制數(shù)據(jù)請求;各請求接收端在接收到繪制數(shù)據(jù)請求后,反饋相應(yīng)的繪制后數(shù)據(jù);而請求發(fā)送端在接收到各請求接收端反饋的繪制后數(shù)據(jù)后,對多個繪制后數(shù)據(jù)進行合成處理,以確定合成后的圖像為三維模型數(shù)據(jù)分布式繪圖后的圖像。因此,本發(fā)明實施例所提供的方案可以有效實現(xiàn)三維模型數(shù)據(jù)的分布式繪圖。下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。為了方便對本發(fā)明實施例所提供的方案的理解,首先對三維模型在視圖窗口中的顯示過程進行簡單介紹。三維模型在視圖窗口中的顯示過程一般為首先通過空間數(shù)據(jù)索引將符合給定空間條件的三維模型取出來經(jīng)過傳輸介質(zhì)傳給三維模型使用者(如客戶端);然后對三維模型數(shù)據(jù)進行一系列的坐標變換和處理之后, 變換為二維圖像上的坐標點;根據(jù)顯示參數(shù),三維模型最終通過繪圖算法柵格化成圖像像素,繪制成一幅柵格圖像,在客戶端顯示或輸出(如計算機屏幕顯示、在紙上打印輸出及生成圖像文件輸出等)。其中三維模型的繪制,最終被繪圖算法歸結(jié)為對一個個像素的操作, 最終能夠被顯示出來的都是繪制在相同像素上的三維模型數(shù)據(jù)中距離觀察點最近的三維模型數(shù)據(jù)所繪制的像素。因此,本發(fā)明提出以相同的視圖控制參數(shù)來控制三維模型數(shù)據(jù)的分布式繪制,同時記錄圖像上每個像素的深度,用來判斷像素所對應(yīng)的三維模型數(shù)據(jù)距離所述視圖控制參數(shù)所確定的視點的距離的遠近,構(gòu)成相應(yīng)像素的合成標示量,最后依據(jù)像素的合成標示量對繪制后的多個圖像進行合成,確定合成后的圖像為三維模型數(shù)據(jù)分布式繪圖后的圖像。下面首先從請求發(fā)送端的角度,對本發(fā)明實施例所提供的一種三維模型數(shù)據(jù)分布式繪圖方法進行介紹。所述請求發(fā)送端可以為電腦設(shè)備、手機設(shè)備等。如圖1所示,一種三維模型數(shù)據(jù)分布式繪圖方法,可以包括步驟S101,請求發(fā)送端向多個請求接收端發(fā)送繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求中攜帶視圖控制參數(shù);可以理解的是,所述請求接收端可以為圖像處理服務(wù)器或具有圖像處理功能的其他設(shè)備等。在多個請求接收端存儲著請求發(fā)送端所需顯示的三維模型數(shù)據(jù)的場景下,當需要繪制三維模型數(shù)據(jù)時,請求發(fā)送端則根據(jù)進行三維模型數(shù)據(jù)顯示的視圖窗口所確定視圖控制參數(shù),生成相應(yīng)的繪制數(shù)據(jù)請求,并將所生成的繪制數(shù)據(jù)請求發(fā)送給相應(yīng)的請求接收端。其中,所述視圖控制參數(shù)可以包括視圖窗口的外包矩形,視點參數(shù)和投影參數(shù);所述視點參數(shù)包括視點在世界坐標系中的位置0(x。,y。,z。),其中x。,y。,ζ。表示視點在世界坐標系中的三個分量、視點所觀察的目標位置A(xa,ya,za)和虛擬照相機向上的向量upUup,yup,zup);通過視點參數(shù)可以確定一個變換矩陣,將原始坐標系中的頂點坐標變換到視點坐標系下。投影參數(shù)包括正交投影和透視投影?;蛘呤峭ㄟ^上述參數(shù)得到的視圖矩陣和投影矩陣。步驟S102,接收所述請求接收端反饋的、與所述繪制數(shù)據(jù)請求對應(yīng)的繪制后數(shù)據(jù);其中,所述繪制后數(shù)據(jù)包含請求接收端根據(jù)視圖控制參數(shù)繪制三維模型數(shù)據(jù)所對應(yīng)的圖像以及所述圖像上各像素對應(yīng)的合成標識量。請求接收端在接收到相應(yīng)的繪制數(shù)據(jù)請求后,則根據(jù)所述繪制數(shù)據(jù)請求中攜帶的視圖控制參數(shù)繪制三維模型數(shù)據(jù),生成與所述視圖控制參數(shù)對應(yīng)的視圖窗口的外包矩形大小相同的圖像,同時記錄所述圖像上各像素對應(yīng)的合成標識量,所述合成標識量包含有所述圖像上像素的深度。其中,所述像素的深度用于判斷各像素所對應(yīng)的三維模型數(shù)據(jù)距離所述視圖控制參數(shù)所確定的視點的距離的遠近。最后,請求接收端將繪制三維模型數(shù)據(jù)所對應(yīng)的圖像和各像素對應(yīng)的合成標識量作為繪制后數(shù)據(jù)反饋給所述請求發(fā)送端??梢岳斫獾氖?,所述合成標識量中還可以包含三維模型的標識號、像素的透明度等信息。需要說明的是,本實施例中,依據(jù)視圖控制參數(shù)用柵格數(shù)據(jù)結(jié)構(gòu)來表示視圖窗口的像素,所述像素為視圖窗口平面劃分成的均勻網(wǎng)格單元,所述像素為柵格數(shù)據(jù)中的基本信息存儲單元,所述像素的坐標位置依據(jù)所述像素在所述視圖窗口中對應(yīng)的行號和列號確定。假設(shè)用zValue表示為像素的深度(即ζ坐標),根據(jù)不同的系統(tǒng),如果像素深度值越小離視點越近,則表示像素深度的柵格數(shù)據(jù)的初始值賦極大值;如果像素深度值越大離視點
8越近,則表示像素深度的柵格數(shù)據(jù)的初始值賦極小值。其中,像素深度為初始值時,意味著所述像素還沒有被任何三維模型所繪制。步驟S103,根據(jù)所述繪制后數(shù)據(jù)中各像素的合成標識量,對所接收到的繪制后數(shù)據(jù)進行合成,以確定合成后的圖像為三維模型數(shù)據(jù)分布式繪圖后的圖像。請求發(fā)送端在接收到請求接收端反饋的相應(yīng)的繪制后數(shù)據(jù)后,則利用繪制后數(shù)據(jù)中像素的合成標識量,對所接收的多個繪制后數(shù)據(jù)進行合成處理,也就是對多個圖像進行合成處理,使得在像素級上以近物取代遠物,并且與形體在屏幕上出現(xiàn)的順序無關(guān)。其中,根據(jù)所述繪制后數(shù)據(jù)各像素的合成標識量,對所接收到的繪制后數(shù)據(jù)進行合成,具體可以為當請求發(fā)送端接收到請求接收端反饋的繪制后數(shù)據(jù)后,判斷是否存在在先繪制后數(shù)據(jù),如果是,則將當前所接收到的繪制后數(shù)據(jù)作為當前繪制后數(shù)據(jù),并且根據(jù)所述當前繪制后數(shù)據(jù)中每個像素的合成標識量和在先繪制后數(shù)據(jù)中對應(yīng)像素的合成標識量,對所述當前繪制后數(shù)據(jù)和所述在先繪制后數(shù)據(jù)進行合成處理,并將合成后數(shù)據(jù)作為新的在先繪制后數(shù)據(jù);否則,將當前所接收到的繪制后數(shù)據(jù)作為在先繪制后數(shù)據(jù);對接收到的繪制后數(shù)據(jù)進行上述處理,并確定最終合成后的圖像為三維模型數(shù)據(jù)分布式繪圖后的圖像??梢岳斫獾氖?,可以根據(jù)實際情況對接收到的所有繪制后數(shù)據(jù)進行上述合成處理,或者對接收到的且滿足請求發(fā)送端特定需求的繪制后數(shù)據(jù)進行上述處理,都是合理的。 同時,一般將請求發(fā)送端所接收的且滿足特定需求的第一個繪制后數(shù)據(jù)作為在先繪制后數(shù)據(jù),而將后續(xù)接收到的且滿足特定需求的繪制后數(shù)據(jù)依次作為當前繪制后數(shù)據(jù),與當前存在的在先繪制后數(shù)據(jù)進行特定的合成處理,并將合成后數(shù)據(jù)作為新的在先繪制后數(shù)據(jù),直到滿足需求的繪制后數(shù)據(jù)都與在先繪制后數(shù)據(jù)合成處理后,形成三維模型數(shù)據(jù)分布式繪圖后的圖像。更進一步的,如圖2所示,以像素深度值越小離視點越近的情況為例,所述根據(jù)所述當前繪制后數(shù)據(jù)中每個像素的合成標識量和在先繪制后數(shù)據(jù)中對應(yīng)像素的合成標識量, 對所述當前繪制后數(shù)據(jù)和所述在先繪制后數(shù)據(jù)進行合成處理,可以包括步驟S201,將所述視圖控制參數(shù)所對應(yīng)的視圖窗口上的一個未分析的像素確定為當前待分析像素Pi ;繪制后數(shù)據(jù)中的圖像是請求接收端在接收到相應(yīng)的繪制數(shù)據(jù)請求后,根據(jù)所述繪制數(shù)據(jù)請求中攜帶的視圖控制參數(shù)繪制三維模型數(shù)據(jù),生成與所述視圖控制參數(shù)對應(yīng)的視圖窗口的外包矩形大小相同的圖像,也就是所述視圖控制參數(shù)所對應(yīng)的視圖窗口上的像素與所述當前繪制后數(shù)據(jù)中的圖像的像素以及所述在先繪制后數(shù)據(jù)中的圖像的像素是一一對應(yīng)的。步驟S202,將所述當前繪制后數(shù)據(jù)中當前待分析像素Pi所對應(yīng)的合成標識量確定為當前待分析合成標識量Zi ;步驟S203,判斷所述當前待分析合成標識量Zi中記錄的像素深度是否等于初始值,如果是,則執(zhí)行步驟S207 ;否則,執(zhí)行步驟S204 ;其中,本實施例所述的像素深度初始值為極大值??梢岳斫獾氖牵鶕?jù)不同的系統(tǒng),如果像素深度值越小離視點越近,則所述像素深度初始值賦極大值;如果像素深度值越大離視點越近,則所述像素深度初始值賦極小值。其中,像素深度為初始值時,意味著所述像素還沒有被任何三維模型所繪制。步驟S204,獲得所述在先繪制后數(shù)據(jù)中當前待分析像素Pi所對應(yīng)的合成標識量 Zi';步驟S205,判斷所述當前待分析合成標識量Zi中記錄的像素深度是否小于所述在先繪制后數(shù)據(jù)中當前待分析像素Pi所對應(yīng)的合成標識量Zi’所記錄的像素深度,如果是,則執(zhí)行步驟S206 ;否則,執(zhí)行步驟S207 ;步驟S206,將所述當前待分析像素Pi所對應(yīng)的在先繪制后數(shù)據(jù)中的數(shù)據(jù)替換為所述當前待分析像素Pi所對應(yīng)的當前繪制后數(shù)據(jù)中的數(shù)據(jù),執(zhí)行步驟S208 ;步驟S207,保留所述當前待分析像素Pi所對應(yīng)的在先繪制后數(shù)據(jù)中的數(shù)據(jù);步驟S208,判斷所述視圖窗口中是否存在未被分析的像素,如果是,則執(zhí)行步驟 S201 ;否則,結(jié)束。當像素深度值越小離視點越近時,通過上述方式可以完成對所述當前繪制后數(shù)據(jù)和所述在先繪制后數(shù)據(jù)進行合成處理。同時,如圖3所示,以像素深度值越大離視點越近的情況為例,所述根據(jù)所述當前繪制后數(shù)據(jù)中每個像素的合成標識量和在先繪制后數(shù)據(jù)中對應(yīng)像素的合成標識量,對所述當前繪制后數(shù)據(jù)和所述在先繪制后數(shù)據(jù)進行合成處理,可以包括步驟S301,將所述視圖控制參數(shù)所對應(yīng)的視圖窗口上的一個未分析的像素確定為當前待分析像素Pi ;繪制后數(shù)據(jù)中的圖像是請求接收端在接收到相應(yīng)的繪制數(shù)據(jù)請求后,根據(jù)所述繪制數(shù)據(jù)請求中攜帶的視圖控制參數(shù)繪制三維模型數(shù)據(jù),生成與所述視圖控制參數(shù)對應(yīng)的視圖窗口的外包矩形大小相同的圖像,也就是所述視圖控制參數(shù)所對應(yīng)的視圖窗口上的像素與所述當前繪制后數(shù)據(jù)中的圖像的像素以及所述在先繪制后數(shù)據(jù)中的圖像的像素是一一對應(yīng)的。步驟S302,將所述當前繪制后數(shù)據(jù)中當前待分析像素Pi所對應(yīng)的合成標識量確定為當前待分析合成標識量Zi ;步驟S303,判斷所述當前待分析合成標識量Zi中記錄的像素深度是否等于初始值,如果是,則執(zhí)行步驟S307 ;否則,執(zhí)行步驟S304 ;其中,本實施例所述的像素深度初始值為極小值??梢岳斫獾氖牵鶕?jù)不同的系統(tǒng),如果像素深度值越小離視點越近,則所述像素深度初始值賦極大值;如果像素深度值越大離視點越近,則所述像素深度初始值賦極小值。其中,像素深度為初始值時,意味著所述像素還沒有被任何三維模型所繪制。步驟S304,獲得所述在先繪制后數(shù)據(jù)中當前待分析像素Pi所對應(yīng)的合成標識量 Zi';步驟S305,判斷所述當前待分析合成標識量Zi中記錄的像素深度是否大于所述在先繪制后數(shù)據(jù)中當前待分析像素Pi所對應(yīng)的合成標識量Zi’所記錄的像素深度,如果是,則執(zhí)行步驟S306 ;否則,執(zhí)行步驟S307 ;步驟S306,將所述當前待分析像素Pi所對應(yīng)的在先繪制后數(shù)據(jù)中的數(shù)據(jù)替換為所述當前待分析像素Pi所對應(yīng)的當前繪制后數(shù)據(jù)中的數(shù)據(jù),執(zhí)行步驟S308 ;
步驟S307,保留所述當前待分析像素Pi所對應(yīng)的在先繪制后數(shù)據(jù)中的數(shù)據(jù);步驟S308,判斷所述視圖窗口中是否存在未被分析的像素,如果是,則執(zhí)行步驟 S301 ;否則,結(jié)束。當像素深度值越大離視點越近時,通過上述方式可以完成對所述當前繪制后數(shù)據(jù)和所述在先繪制后數(shù)據(jù)進行合成處理。可以理解的是,本實施例所提供的對多個圖像的合成處理方式僅僅是一種示例, 并不應(yīng)該構(gòu)成對本發(fā)明方案的限制。下面從請求接收端的角度,對本發(fā)明的所提供一種三維模型數(shù)據(jù)分布式繪圖方法進行介紹。如圖4所示,一種三維模型數(shù)據(jù)分布式繪圖方法,可以包括步驟S401,接收請求發(fā)送端發(fā)送的繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求攜帶視圖控制參數(shù);其中,所述視圖控制參數(shù)包括視圖窗口的外包矩形、視點參數(shù)和投影參數(shù)。步驟S402,根據(jù)所述視圖控制參數(shù)繪制三維模型數(shù)據(jù),并生成與所述視圖控制參數(shù)對應(yīng)的視圖窗口的外包矩形大小相同的圖像;步驟S403,獲取所述圖像上各像素深度,并將所述像素深度用來構(gòu)成對應(yīng)像素的合成標識量,所述像素深度用于判斷各像素所對應(yīng)的三維模型數(shù)據(jù)距離所述視圖控制參數(shù)所確定的視點的距離的遠近;可以理解的是,所述合成標識量還可以包括三維模型的標號、像素透明度等信息。其中,所述圖像上各像素深度的計算方式可以根據(jù)實際情況選擇不同的算法,例如Z緩沖器算法。下面以Z緩沖器算法為例,對像素深度的計算進行介紹Z緩沖器算法也叫深度緩沖器算法,屬于圖像空間消隱算法,其首先根據(jù)視圖控制參數(shù)將三維模型數(shù)據(jù)的原始坐標變換得到所述視圖窗口的視圖坐標,然后進行分析計算。深度緩沖器算法有兩個緩沖器深度緩沖器和幀緩沖器,對應(yīng)兩個數(shù)組深度數(shù)組cbpth (x, y)和屬性數(shù)組intensity (χ, y)。前者存放著圖像空間每個可見像素的ζ坐標, 后者用來存儲圖像空間每個可見像素的屬性(光強或顏色)值。其中,Z緩沖器算法基本思想如下將投影平面每個像素所對應(yīng)的所有面片(平面或曲面)的深度進行比較,然后取離視線最近面片的屬性值作為該像素的屬性值。算法通常沿著觀察坐標系的Z軸來計算各物體表面距觀察平面的深度,它對場景中的各個物體表面單獨進行處理,且在各面片上逐點進行。物體的描述轉(zhuǎn)化為投影坐標系之后,多邊形面上的每個點(x,y,z)均對應(yīng)于觀察平面上的正投影點(x,y)。因而,對于觀察平面上的每個像素(χ,y),其深度的比較可通過它們ζ值的比較來實現(xiàn)。對于右手坐標系,ζ值最大的點應(yīng)是可見的。如圖5所示,在觀察平面上,面si相對面s2、面s3離視點最近,因此它在該位置(x,y)可見。Z緩沖器算法步驟如下初始時,深度緩沖器所有單元均置為離視點最遠的值,幀緩沖器各單元均置為背景色,然后逐個處理多邊形表中的各面片。每掃描一行,計算該行各像素(x,y)所對應(yīng)的深度值ζ (x,y),并將結(jié)果與深度緩沖器中該像素單元所存儲的深度值d印th(x,y)進行比較。根據(jù)不同的系統(tǒng),如果像素深度值越小離視點越近若 ζ < d印 th(x,y),貝Ij d印 th(x,y) = ζ如果像素深度值越大離視點越近若 ζ > depth (χ, y),貝Ij depth (χ, y) = ζ而且將該像素的屬性值I (X,y)寫入幀緩沖器,即intensity (x, y) = I (χ, y)否則不變。其中,利用Z緩沖器算法計算像素深度可以具體如下若已知多邊形的方程,則可用增量法計算掃描線每一個像素的深度。設(shè)平面方程為Ax+By+Cz+D = 0則多邊形面上的點(X,y)所對應(yīng)的深度值為
權(quán)利要求
1.一種三維模型數(shù)據(jù)分布式繪圖方法,其特征在于,包括向多個請求接收端發(fā)送繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求中攜帶視圖控制參數(shù); 接收所述請求接收端反饋的、與所述繪制數(shù)據(jù)請求對應(yīng)的繪制后數(shù)據(jù),所述繪制后數(shù)據(jù)包含請求接收端根據(jù)視圖控制參數(shù)繪制三維模型數(shù)據(jù)所對應(yīng)的圖像以及所述圖像上各像素對應(yīng)的合成標識量;根據(jù)所述繪制后數(shù)據(jù)中各像素的合成標識量,對所接收到的繪制后數(shù)據(jù)進行合成,以確定合成后的圖像為三維模型數(shù)據(jù)分布式繪圖后的圖像。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述視圖控制參數(shù)包括 視圖窗口的外包矩形,視點參數(shù)和投影參數(shù);所述視點參數(shù)包括視點在世界坐標系中的位置、視點所觀察的目標位置和虛擬照相機向上的向量;所述投影參數(shù)包括正交投影和透視投影;或者包括當前視圖窗口的外包矩形、依據(jù)視點參數(shù)和投影參數(shù)獲得的視圖矩陣和投影矩陣。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述合成標識量包括 所述圖像上像素的深度;其中,所述像素的深度用于判斷像素所對應(yīng)的三維模型數(shù)據(jù)距離所述視圖控制參數(shù)所確定的視點的距離的遠近。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述繪制后數(shù)據(jù)中各像素的合成標識量,對所接收到的繪制后數(shù)據(jù)進行合成,具體為當接收到請求接收端反饋的繪制后數(shù)據(jù)后,判斷是否存在在先繪制后數(shù)據(jù),如果是,則將當前所接收到的繪制后數(shù)據(jù)作為當前繪制后數(shù)據(jù),并且根據(jù)所述當前繪制后數(shù)據(jù)中每個像素的合成標識量和在先繪制后數(shù)據(jù)中所對應(yīng)的像素的合成標識量,對所述當前繪制后數(shù)據(jù)和所述在先繪制后數(shù)據(jù)進行合成處理,并將合成后的數(shù)據(jù)作為新的在先繪制后數(shù)據(jù);否則,將當前所接收到的繪制后數(shù)據(jù)作為在先繪制后數(shù)據(jù);對接收到的繪制后數(shù)據(jù)進行上述處理,并確定最終合成后的圖像為三維模型數(shù)據(jù)分布式繪圖后的圖像。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述當前繪制后數(shù)據(jù)中每個像素的合成標識量和在先繪制后數(shù)據(jù)中所對應(yīng)的像素的合成標識量,對所述當前繪制后數(shù)據(jù)和所述在先繪制后數(shù)據(jù)進行合成處理,包括將所述視圖控制參數(shù)所對應(yīng)的視圖窗口上的一個未分析的像素確定為當前待分析像素;將所述當前繪制后數(shù)據(jù)中當前待分析像素所對應(yīng)的合成標識量確定為當前待分析合成標識量;當所述當前待分析合成標識量中記錄的像素深度等于初始值或者大于所述在先繪制后數(shù)據(jù)中當前待分析像素所對應(yīng)的合成標識量所記錄的像素深度時,保留所述當前待分析像素所對應(yīng)的在先繪制后數(shù)據(jù)中的數(shù)據(jù);當所述當前待分析合成標識量中記錄的像素深度小于所述在先繪制后數(shù)據(jù)中當前待分析像素所對應(yīng)的合成標識量所記錄的像素深度時,將所述當前待分析像素所對應(yīng)的在先繪制后數(shù)據(jù)中的數(shù)據(jù)替換為所述當前待分析像素所對應(yīng)的當前繪制后數(shù)據(jù)中的數(shù)據(jù);判斷所述視圖窗口中是否存在未被分析的像素,如果是,則返回執(zhí)行將所述視圖控制參數(shù)所對應(yīng)的視圖窗口上的一個未分析的像素確定為當前待分析像素的步驟;否則,結(jié)束;其中,所述初始值賦極大值,并且像素深度值越小離視點越近。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述當前繪制后數(shù)據(jù)中每個像素的合成標識量和在先繪制后數(shù)據(jù)中所對應(yīng)的像素的合成標識量,對所述當前繪制后數(shù)據(jù)和所述在先繪制后數(shù)據(jù)進行合成處理,包括將所述視圖控制參數(shù)所對應(yīng)的視圖窗口上的一個未分析的像素確定為當前待分析像素;將所述當前繪制后數(shù)據(jù)中當前待分析像素所對應(yīng)的合成標識量確定為當前待分析合成標識量;當所述當前待分析合成標識量中記錄的像素深度等于初始值或者小于所述在先繪制后數(shù)據(jù)中當前待分析像素所對應(yīng)的合成標識量所記錄的像素深度時,保留所述當前待分析像素所對應(yīng)的在先繪制后數(shù)據(jù)中的數(shù)據(jù);當所述當前待分析合成標識量中記錄的像素深度大于所述在先繪制后數(shù)據(jù)中當前待分析像素所對應(yīng)的合成標識量所記錄的像素深度時,將所述當前待分析像素所對應(yīng)的在先繪制后數(shù)據(jù)中的數(shù)據(jù)替換為所述當前待分析像素所對應(yīng)的當前繪制后數(shù)據(jù)中的數(shù)據(jù);判斷所述視圖窗口中是否存在未被分析的像素,如果是,則返回執(zhí)行將所述視圖控制參數(shù)所對應(yīng)的視圖窗口上的一個未分析的像素確定為當前待分析像素的步驟;否則,結(jié)束;其中,所述初始值賦極小值,并且像素深度值越大離視點越近。
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述視圖窗口利用數(shù)據(jù)結(jié)構(gòu)依據(jù)所述視圖控制參數(shù)進行表示,具體的表示方式為依據(jù)所述視圖控制參數(shù),用柵格數(shù)據(jù)結(jié)構(gòu)來表示所述視圖窗口的像素,所述像素為所述視圖窗口平面劃分成的均勻網(wǎng)格單元,所述像素為所述柵格數(shù)據(jù)中的基本信息存儲單元,所述像素的坐標位置依據(jù)所述像素在所述視圖窗口中對應(yīng)的行號和列號確定。
8.—種三維模型數(shù)據(jù)分布式繪圖裝置,其特征在于,包括請求發(fā)送模塊,用于向多個請求接收端發(fā)送繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求中攜帶視圖控制參數(shù);數(shù)據(jù)接收模塊,用于接收所述請求接收端反饋的、與所述繪制數(shù)據(jù)請求對應(yīng)的繪制后數(shù)據(jù),所述繪制后數(shù)據(jù)包含請求接收端根據(jù)視圖控制參數(shù)繪制三維模型數(shù)據(jù)所對應(yīng)的圖像以及所述圖像上各像素對應(yīng)的合成標識量;合并處理模塊,用于根據(jù)所述繪制后數(shù)據(jù)中各像素的合成標識量,對所接收到的繪制后數(shù)據(jù)進行合成。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述合并處理模塊包括第一判斷單元,用于當接收到請求接收端反饋的繪制后數(shù)據(jù)后,判斷是否存在在先繪制后數(shù)據(jù),如果是,則觸發(fā)合并處理單元;否則,觸發(fā)在先數(shù)據(jù)確定單元;合并處理單元,用于將當前所接收到的繪制后數(shù)據(jù)作為當前繪制后數(shù)據(jù),并且根據(jù)所述當前繪制后數(shù)據(jù)中每個像素的合成標識量和在先繪制后數(shù)據(jù)中所對應(yīng)的像素的合成標識量,對所述當前繪制后數(shù)據(jù)和所述在先繪制后數(shù)據(jù)進行合成處理,并將合成后的數(shù)據(jù)作為新的在先繪制后數(shù)據(jù);在先數(shù)據(jù)確定單元,用于將當前所接收到的繪制后數(shù)據(jù)作為在先繪制后數(shù)據(jù)。
10.一種三維模型數(shù)據(jù)分布式繪圖方法,其特征在于,包括接收請求發(fā)送端發(fā)送的繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求攜帶視圖控制參數(shù),所述視圖控制參數(shù)包括視圖窗口的外包矩形、視點參數(shù)和投影參數(shù);根據(jù)所述視圖控制參數(shù)繪制三維模型數(shù)據(jù),并生成與所述視圖控制參數(shù)對應(yīng)的視圖窗口的外包矩形大小相同的圖像;獲取所述圖像上各像素深度,并將所述像素深度用來構(gòu)成對應(yīng)像素的合成標識量,所述像素深度用于判斷各像素所對應(yīng)的三維模型數(shù)據(jù)距離所述視圖控制參數(shù)所確定的視點的距離的遠近;將所述繪制后的圖像和各像素對應(yīng)的合成標識量作為繪制后數(shù)據(jù)發(fā)送給所述請求發(fā)送端。
11.一種三維模型數(shù)據(jù)分布式繪圖裝置,其特征在于,包括請求接收模塊,用于接收請求發(fā)送端發(fā)送的繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求攜帶視圖控制參數(shù),所述視圖控制參數(shù)包括視圖窗口的外包矩形、視點參數(shù)和投影參數(shù);圖像生成模塊,用于根據(jù)所述視圖控制參數(shù)繪制三維模型數(shù)據(jù),并生成與所述視圖控制參數(shù)對應(yīng)的視圖窗口的外包矩形大小相同的圖像;標識量生成模塊,用于獲取所述圖像上各像素深度,并將所述像素深度用來構(gòu)成對應(yīng)像素的合成標識量,所述像素深度用于判斷各像素所對應(yīng)的三維模型數(shù)據(jù)距離所述視圖控制參數(shù)所確定的視點的距離的遠近;數(shù)據(jù)發(fā)送模塊,用于將所述繪制后的圖像和各像素對應(yīng)的合成標識量作為繪制后數(shù)據(jù)發(fā)送給所述請求發(fā)送端。
全文摘要
本發(fā)明公開了一種三維模型數(shù)據(jù)分布式繪圖方法及裝置。該方法包括向多個請求接收端發(fā)送繪制數(shù)據(jù)請求,所述繪制數(shù)據(jù)請求中攜帶視圖控制參數(shù);接收所述請求接收端反饋的、與所述繪制數(shù)據(jù)請求對應(yīng)的繪制后數(shù)據(jù),所述繪制后數(shù)據(jù)包含請求接收端根據(jù)視圖控制參數(shù)繪制三維模型數(shù)據(jù)所對應(yīng)的圖像以及所述圖像上各像素對應(yīng)的合成標識量;根據(jù)所述繪制后數(shù)據(jù)中各像素的合成標識量,對所接收到的繪制后數(shù)據(jù)進行合成,以確定合成后的圖像為三維模型數(shù)據(jù)分布式繪圖后的圖像。本發(fā)明所提供的方案中,通過向多個請求接收端發(fā)送相應(yīng)的繪制數(shù)據(jù)請求,并將請求接收端反饋的結(jié)果進行合成處理,以此實現(xiàn)三維模型數(shù)據(jù)的分布式繪圖。
文檔編號G06T17/00GK102306395SQ20111027492
公開日2012年1月4日 申請日期2011年9月16日 優(yōu)先權(quán)日2010年9月20日
發(fā)明者董福田 申請人:董福田