專利名稱:在屏幕上顯示三維多邊形的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到在屏幕上顯示三維多邊形的方法,其中,幾何不完整的并因此不能夠在通在三維圖形庫(kù)中用自動(dòng)三角測(cè)量的手段在屏幕上顯示的三維多邊形,能夠被顯示在屏幕上。尤其是,本發(fā)明涉及到顯示三維多邊形在屏幕上的方法,其中,通過(guò)投影三維多邊形的頂點(diǎn)在二維平面上獲得的頂點(diǎn)的二維坐標(biāo),被連接以重組三維多邊形。
背景技術(shù):
現(xiàn)在,在包括用于引導(dǎo)車(chē)輛行進(jìn)道路的導(dǎo)航系統(tǒng)和三維游戲的各個(gè)工業(yè)領(lǐng)域中,有傾向于三維顯示的趨勢(shì)。然而,實(shí)際上,由于在實(shí)現(xiàn)三維建模操作中的困難,三維顯示被緩慢地傳播到整個(gè)社會(huì)的應(yīng)用領(lǐng)域。這是因?yàn)殡y于將在許多應(yīng)用領(lǐng)域中使用的常規(guī)方法,即用于二維顯示的二維坐標(biāo)數(shù)據(jù)簡(jiǎn)單擴(kuò)展為三維坐標(biāo)數(shù)據(jù),直接應(yīng)用到三維顯示。這是由下面對(duì)于能夠在當(dāng)前廣泛使用的通用三維圖形庫(kù)中被處理的三維多邊形的要求的限制而引起的。
首先,三維多邊形的邊不應(yīng)該互相交叉,與圖1a中所示的多邊形相反。即,常規(guī)的方法僅支持簡(jiǎn)單的沒(méi)有交叉100的多邊形。
第二,不可能輸出具有如圖1b中所示的凹進(jìn)部分110的凹多邊形,而它能夠輸出的僅為具有向外突出頂點(diǎn)的凸多邊形。
第三,不可能輸出具有如在圖1c中所示的內(nèi)孔120的多邊形。
通用三維圖形庫(kù)存在這樣一些限制的原因是為了防止具有扭曲結(jié)構(gòu)的多邊形的出現(xiàn),三維多邊形的頂點(diǎn)的序列經(jīng)過(guò)自動(dòng)三角測(cè)量,以將它重組為在空間上包括具有完整幾何結(jié)構(gòu)的三角形的形狀。例如,如果具有如在圖2a中所示的扭曲結(jié)構(gòu)的網(wǎng)格進(jìn)行通用三維圖形庫(kù)中的自動(dòng)三角測(cè)量,這導(dǎo)致它被重組成如在圖2b或2c中所示的形狀。
圖3a表示通用三維圖形庫(kù)中自動(dòng)三角測(cè)量的誤差。從圖3能夠明白雖然一個(gè)“S”形的網(wǎng)格想要被顯示,但是,由于輸出是通過(guò)在通用三維圖形庫(kù)中所有頂點(diǎn)序列的相互比較進(jìn)行自動(dòng)三角測(cè)量的方式獲得的,未獲得所需的結(jié)果。
在這種情況中,誤差通過(guò)如圖3b所示細(xì)分網(wǎng)格并再次執(zhí)行輸入操作的方法解決。然而,細(xì)分網(wǎng)格的方法幾乎不能夠被用于實(shí)際的應(yīng)用,因?yàn)椴僮魅藛T應(yīng)該一個(gè)一個(gè)地人工找出幾何結(jié)構(gòu)扭曲的部分。
圖4a和圖4b是說(shuō)明在導(dǎo)航系統(tǒng)中具有二維坐標(biāo)的地圖數(shù)據(jù)簡(jiǎn)單擴(kuò)展為具有三維坐標(biāo)的地圖數(shù)據(jù)以后通過(guò)在通用三維圖形庫(kù)中的自動(dòng)三角測(cè)量輸出的結(jié)果的視圖。圖4a表示通過(guò)在屏幕上顯示具有二維坐標(biāo)的地圖數(shù)據(jù)而獲得的地圖,即,一張‘Han River’及其周?chē)貐^(qū)的地圖。具有二維坐標(biāo)的地圖數(shù)據(jù)被簡(jiǎn)單地?cái)U(kuò)展為(x,y,0)形式的具有三維坐標(biāo)的地圖數(shù)據(jù),然后,使用通用三維圖形庫(kù)顯示在屏幕上。結(jié)果,關(guān)鍵性誤差發(fā)生在自動(dòng)三角測(cè)量中,如圖4b中所示。
即,可以看到在自動(dòng)三角測(cè)量在‘Han River’和它的支流,例如‘Anyangcheon(河流)’和‘Tancheon(河流)’等的嚴(yán)重地發(fā)生關(guān)鍵性誤差。因?yàn)閳?zhí)行自動(dòng)三角測(cè)量是為了防止出現(xiàn)空間中扭曲的結(jié)構(gòu),所以,在所有的數(shù)據(jù)存在于單一平面上的地圖等的情況中,不需要使用通用三維圖形庫(kù)進(jìn)行自動(dòng)三角測(cè)量。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提供一種顯示三維多邊形在屏幕上的方法,其中,在通用三維圖形庫(kù)中不能夠被處理的幾何不完整的三維多邊形,例如具有交叉邊的多邊形、凹多邊形或具有內(nèi)孔的多邊形,能夠被精確地顯示在屏幕上。
本發(fā)明的另一個(gè)目的是提供一種顯示三維多邊形在屏幕上的方法,其中,在許多應(yīng)用領(lǐng)域中使用的具有二維圖形坐標(biāo)的數(shù)據(jù),能夠通過(guò)把它們擴(kuò)展成具有三維坐標(biāo)的數(shù)據(jù)而簡(jiǎn)單地被使用。
本發(fā)明的又一個(gè)目的是提供一種顯示三維多邊形在屏幕上的方法,其中,對(duì)于三維圖形處理不是必不可少的一些處理能夠被消除,因此減少在通用三維圖形庫(kù)中的計(jì)算量,并且改善處理時(shí)間的效率。
為了達(dá)到這些目的,在按照本發(fā)明的顯示三維多邊形在屏幕上的方法中,下面的步驟被執(zhí)行通用的三維坐標(biāo)轉(zhuǎn)換步驟,和一系列通過(guò)坐標(biāo)投影轉(zhuǎn)換將具有三維坐標(biāo)的數(shù)據(jù)投影在二維投影平面上,并相互連接投影在二維投影平面上的頂點(diǎn)的步驟。
按照本發(fā)明的第一特征,在具有三維坐標(biāo)的三維模型的數(shù)據(jù)被用于輸入。在應(yīng)用到導(dǎo)航系統(tǒng)的情況中,具有二維坐標(biāo)的地圖數(shù)據(jù),被模制成將被使用的具有三維坐標(biāo)的地圖數(shù)據(jù)。在應(yīng)用到游戲等的情況中,來(lái)自存儲(chǔ)部件等的具有三維坐標(biāo)的模型上的數(shù)據(jù)被直接地輸入和使用。
按照本發(fā)明的第二特征,在第一特征中具有三維坐標(biāo)的輸入模型被分類(lèi)成構(gòu)成多邊形的所有節(jié)點(diǎn)存在于同一平面上的具有三維坐標(biāo)的模型,和其它的構(gòu)成多邊形的所有節(jié)點(diǎn)不存在于同一平面上的具有三維坐標(biāo)的模型。
按照本發(fā)明的第三特征,在第二特征中構(gòu)成多邊形的所有節(jié)點(diǎn)存在于同一平面上的具有三維坐標(biāo)的模型的情況中,構(gòu)成具有三維坐標(biāo)的模型的多邊形的節(jié)點(diǎn)被投影,并且,投影在二維平面上的二維的點(diǎn)然后被相互連接以重組多邊形。于是,即使幾何不完整的三維多邊形,例如具有交叉的多邊形、凹多邊形或具有內(nèi)孔的多邊形,能夠被輸出和顯示在屏幕上,而它們的形狀保持不變。進(jìn)一步,在通用三維圖形處理過(guò)程中,能夠排除例如輸入模型的自動(dòng)三角測(cè)量以及根據(jù)重疊和隱藏面的多邊形之間的比較的計(jì)算處理。
按照本發(fā)明的第四特征,在第三特征中重組二維多邊形的過(guò)程中投影到投影平面上以后,存在于屏幕外的多邊形的節(jié)點(diǎn)被去除。如果多邊形部分地被屏幕的邊緣截去,那么,在截去部分處使用屏幕的邊緣的邊重組新的輸出多邊形。
按照本發(fā)明的第五特征,在第二特征里構(gòu)成多邊形的節(jié)點(diǎn)不存在于同一平面上的模型的情況中,使用通用三維圖形庫(kù)對(duì)它們進(jìn)行處理,然后顯示在屏幕上。
按照本發(fā)明的第六特征,在屏幕上顯示第三和第五特征獲得的輸出結(jié)果的情況中,其結(jié)果能夠以合適的順序通過(guò)透明操作被相互重疊,然后以整體的形式輸出。
按照本發(fā)明的第七特征,本發(fā)明的顯示方法能夠使得大量的具有二維坐標(biāo)的數(shù)據(jù),例如具有二維坐標(biāo)的還沒(méi)有通過(guò)擴(kuò)展被用于具有三維坐標(biāo)的圖形地圖數(shù)據(jù)或CAD圖形,它們,以自動(dòng)構(gòu)造成具有三維坐標(biāo)的數(shù)據(jù)。
按照本發(fā)明的一個(gè)方面,提供一種用于顯示三維多邊形在屏幕上的方法,包括一個(gè)三維模型輸入步驟接收基于參考位置坐標(biāo)的將被顯示在屏幕上的區(qū)域的具有三維坐標(biāo)的三維模型;一個(gè)多邊形重組步驟按照三維模型的多邊形的節(jié)點(diǎn)的位置把在三維模型輸入步驟中輸入的三維模型分類(lèi),并且重組分類(lèi)的模型的多邊形;和一個(gè)屏幕顯示步驟顯示在多邊形重組步驟中重組的多邊形在屏幕上。
按照本發(fā)明的另一個(gè)方面,提供一種用于顯示三維多邊形在屏幕上的方法,包括一個(gè)三維環(huán)境初始化步驟初始化三維顯示環(huán)境;一個(gè)觀察點(diǎn)設(shè)置步驟在三維環(huán)境初始化步驟以后,按照參考位置的坐標(biāo),設(shè)置觀察點(diǎn)和視線;一個(gè)投影參數(shù)設(shè)置步驟在觀察點(diǎn)設(shè)置步驟以后設(shè)置投影參數(shù);一個(gè)三維模型輸入步驟接收基于參考位置坐標(biāo)的區(qū)域的具有三維坐標(biāo)的三維模型;一個(gè)多邊形重組步驟按照三維模型的多邊形的節(jié)點(diǎn)的位置把在三維模型輸入步驟中輸入的三維模型分類(lèi),并且,使用在三維環(huán)境初始化步驟、觀察點(diǎn)設(shè)置步驟和投影參數(shù)設(shè)置步驟中設(shè)置的值,轉(zhuǎn)換節(jié)點(diǎn)的坐標(biāo)成為用于重組分類(lèi)的模型的多邊形的坐標(biāo);和一個(gè)屏幕顯示步驟顯示在多邊形重組步驟中重組的多邊形在屏幕上。
按照本發(fā)明的又一個(gè)方面,提供一種用于顯示三維多邊形在屏幕上的方法,包括一個(gè)三維環(huán)境初始化步驟初始化三維顯示環(huán)境;一個(gè)觀察點(diǎn)設(shè)置步驟在三維環(huán)境初始化步驟以后,按照參考位置的坐標(biāo),設(shè)置觀察點(diǎn)和視線;一個(gè)投影參數(shù)設(shè)置步驟在觀察點(diǎn)設(shè)置步驟以后設(shè)置投影參數(shù);一個(gè)三維建模步驟通過(guò)裝載對(duì)應(yīng)于按照參考位置的坐標(biāo)的將被顯示在屏幕上的三維地圖中的區(qū)域的具有二維坐標(biāo)的地圖數(shù)據(jù),模制三維地圖;一個(gè)多邊形重組步驟按照三維模型的多邊形的節(jié)點(diǎn)的位置,把在三維建模步驟中模制的三維模型分類(lèi),并且,使用在三維環(huán)境初始化步驟、觀察點(diǎn)設(shè)置步驟和投影參數(shù)設(shè)置步驟中設(shè)置的值,轉(zhuǎn)換節(jié)點(diǎn)的坐標(biāo)成為用于重組分類(lèi)模型的多邊形的坐標(biāo);和一個(gè)屏幕顯示步驟顯示在多邊形重組步驟中重組的多邊形在屏幕上。
由下面的與附圖一起給出的優(yōu)選實(shí)施例的說(shuō)明,將會(huì)明白本發(fā)明的上述的和其它的目的、特征和優(yōu)點(diǎn),其中圖1a到1c是表示在通用三維圖形庫(kù)中不能夠被處理的三維多邊形的示意圖;圖2a到2c是說(shuō)明空間扭曲的多邊形通過(guò)在通用三維圖形庫(kù)中的自動(dòng)三角測(cè)量轉(zhuǎn)換為完整結(jié)構(gòu)的示意圖;圖3a和3b是說(shuō)明在通用三維圖形庫(kù)的自動(dòng)三角測(cè)量的誤差,和手工劃分網(wǎng)格的輸出結(jié)果的示意圖;圖4a和圖4b是顯示使用通常的三維圖形庫(kù)簡(jiǎn)單地?cái)U(kuò)展具有二維坐標(biāo)的地圖數(shù)據(jù)為具有三維坐標(biāo)的地圖數(shù)據(jù)并輸出具有三維坐標(biāo)的地圖數(shù)據(jù)而獲得的結(jié)果的視圖以說(shuō)明在自動(dòng)三角測(cè)量的誤差。
圖5是說(shuō)明應(yīng)用按照本發(fā)明的顯示三維多邊形在屏幕上的方法的導(dǎo)航系統(tǒng)的配置的框圖;圖6a和6b是說(shuō)明按照本發(fā)明的顯示三維多邊形在屏幕上的方法的實(shí)施例的流程圖。
具體實(shí)施例方式
下面,參考附圖,特別是圖5、6a和6b,按照本發(fā)明的顯示三維多邊形在屏幕上的方法將被詳細(xì)地說(shuō)明。
圖5是示范性地顯示應(yīng)用按照本發(fā)明的顯示三維多邊形在屏幕上的方法的導(dǎo)航系統(tǒng)的配置的框圖。如在圖中所示,導(dǎo)航系統(tǒng)包括GPS(全球定位系統(tǒng))接收器202,用于接收通過(guò)多個(gè)GPS衛(wèi)星200發(fā)送的導(dǎo)航消息;一個(gè)地圖存儲(chǔ)部件204,用于預(yù)先存儲(chǔ)具有二維坐標(biāo)的地圖數(shù)據(jù);一個(gè)命令輸入部件206,用于按照用戶的操作接收操作命令;一個(gè)控制部件208,能夠控制從通過(guò)GPS接收器202接收的導(dǎo)航消息確定當(dāng)前的車(chē)輛的位置,根據(jù)確定的當(dāng)前車(chē)輛位置的從地圖存儲(chǔ)部件204讀出某一區(qū)域的具有二維坐標(biāo)的地圖數(shù)據(jù),由讀出的具有二維坐標(biāo)的地圖數(shù)據(jù)生成具有三維坐標(biāo)的地圖數(shù)據(jù),和顯示具有三維坐標(biāo)的地圖數(shù)據(jù)以引導(dǎo)車(chē)輛的行進(jìn)道路的操作;和一個(gè)顯示驅(qū)動(dòng)部件210,用于在控制部件208的控制下,使當(dāng)前車(chē)輛位置和行進(jìn)道路與三維地圖一起被顯示在顯示板212上。
如上結(jié)構(gòu)的導(dǎo)航系統(tǒng)的GPS的接收器202,接收由多個(gè)GPS衛(wèi)星200分別發(fā)送的導(dǎo)航消息,并且把它們輸入控制部件208。
當(dāng)車(chē)輛行進(jìn)時(shí),控制部件208使用通過(guò)GPS接收器202接收和輸入的導(dǎo)航消息檢測(cè)當(dāng)前的車(chē)輛位置,并根據(jù)確定的當(dāng)前車(chē)輛位置從地圖存儲(chǔ)部件204讀出特定區(qū)域的具有二維坐標(biāo)的地圖數(shù)據(jù)。然后,通過(guò)本發(fā)明的顯示方法,控制部件208由讀出的具有二維坐標(biāo)的地圖數(shù)據(jù)生成具有三維坐標(biāo)的地圖數(shù)據(jù)??刂撇考?08輸出生成的具有三維坐標(biāo)的地圖數(shù)據(jù)到顯示驅(qū)動(dòng)部件210,使得三維地圖能夠被顯示在顯示板212上。這時(shí),確定的當(dāng)前車(chē)輛位置以箭頭等的形式同時(shí)被顯示在三維地圖中,以引導(dǎo)車(chē)輛的行進(jìn)。
這里,導(dǎo)航系統(tǒng)通過(guò)被固定安裝在車(chē)輛上的方式進(jìn)行描述。相反,在這樣的導(dǎo)航系統(tǒng)被安裝在移動(dòng)裝置中的情況里,地圖存儲(chǔ)部件204的存儲(chǔ)容量有限。于是,在響應(yīng)命令輸入部件204的命令時(shí),可以進(jìn)行與地圖提供服務(wù)器的連接以下載某些地區(qū),例如漢城的整個(gè)地區(qū),的具有二維坐標(biāo)的地圖數(shù)據(jù),并且下載的具有二維坐標(biāo)的地圖數(shù)據(jù)可以被存儲(chǔ)在地圖存儲(chǔ)部件中,然后被使用。
圖6a和6b是說(shuō)明按照本發(fā)明的顯示三維多邊形在屏幕上的方法的實(shí)施例的流程圖。如在圖中所示,控制部件208設(shè)置在生成具有三維坐標(biāo)的地圖數(shù)據(jù)中使用的參考位置的坐標(biāo)(步驟300)。這里,對(duì)于在步驟300中的參考位置的坐標(biāo),控制部件208從通過(guò)GPS接收器202接收的導(dǎo)航消息檢測(cè)的當(dāng)前車(chē)輛位置的坐標(biāo),或者由用戶通過(guò)命令輸入部件206輸入的位置的坐標(biāo),可以被設(shè)置為參考位置的坐標(biāo)。
當(dāng)參考位置的坐標(biāo)已經(jīng)被完全輸入時(shí),控制部件208執(zhí)行初始化用于顯示三維圖形或三維模型在顯示板212上的三維環(huán)境的過(guò)程(步驟310)。在步驟310中執(zhí)行的初始化三維環(huán)境的過(guò)程包括下列步驟。光環(huán)境被初始化(步驟311)。在步驟311中的光環(huán)境初始化設(shè)置一個(gè)觀察點(diǎn)、視線、光源的方向、光源的強(qiáng)度、用于按照建筑物的各個(gè)邊的角度顯示建筑物的各個(gè)邊的顏色和它們的深度等。然后,深度緩沖被初始化(步驟312)。即,用于指示從觀察點(diǎn)到某一對(duì)象將被顯示位置距離的深度緩沖被初始化。然后,顯示板的屏幕的背景顏色被清理并且設(shè)置成預(yù)定的顏色(步驟313)。
當(dāng)在步驟310中的初始化三維環(huán)境的過(guò)程被完成時(shí),控制部件208執(zhí)行設(shè)置觀察點(diǎn)的過(guò)程(步驟320)。在步驟320中的設(shè)置觀察點(diǎn)的過(guò)程包括下面的步驟。第一,觀察點(diǎn)的位置被設(shè)置(步驟321)。對(duì)于觀察點(diǎn)的位置的設(shè)置,例如,由設(shè)置的參考位置坐標(biāo)處的預(yù)定高度抬升的位置的坐標(biāo),被設(shè)置為觀察點(diǎn)。
在步驟322中,指的是從觀察點(diǎn)的設(shè)置位置觀察三維地圖或模型的方向的視線,被設(shè)置。例如,車(chē)輛的行進(jìn)方向被設(shè)置為視線。
當(dāng)在步驟320中的設(shè)置觀察點(diǎn)的過(guò)程被完成時(shí),具有三維坐標(biāo)的地圖數(shù)據(jù)被投影在投影平面上的投影轉(zhuǎn)換中使用的投影參數(shù)被設(shè)置(步驟330)。
當(dāng)控制部件208按序執(zhí)行在步驟310中的三維環(huán)境初始化過(guò)程、在步驟320中的觀察點(diǎn)設(shè)置過(guò)程和在步驟330中的投影參數(shù)設(shè)置過(guò)程時(shí),控制部件按照參考位置的坐標(biāo)從地圖存儲(chǔ)部件204裝載某些區(qū)域的具有二維坐標(biāo)的地圖數(shù)據(jù)(步驟340),并且,執(zhí)行將裝載的具有二維坐標(biāo)的地圖數(shù)據(jù)模制為具有三維坐標(biāo)的地圖數(shù)據(jù)的三維建模過(guò)程(步驟350)。
在步驟350中的三維建模過(guò)程包括下面的步驟。由具有二維坐標(biāo)的地圖數(shù)據(jù)生成具有三維坐標(biāo)的三維地圖的底圖,例如,道路線、綠化帶、河流、湖泊等被設(shè)置(步驟351)。各個(gè)建筑物的節(jié)點(diǎn)的高度被設(shè)置(步驟352)。具有設(shè)置高度的各個(gè)建筑物被生成(步驟353),然后,使用箭頭或虛線,生成車(chē)輛的行進(jìn)通道(步驟354)。
這里,在步驟340中的裝載具有二維坐標(biāo)的地圖數(shù)據(jù)的過(guò)程和在步驟350中的三維建模過(guò)程已經(jīng)通過(guò)與三維地圖被顯示在導(dǎo)航系統(tǒng)屏幕上的情況有關(guān)的實(shí)施例進(jìn)行描述。然而,對(duì)于顯示三維圖形的游戲等,因?yàn)榫哂腥S坐標(biāo)的模型已經(jīng)被預(yù)先存儲(chǔ)在存儲(chǔ)裝置中,所以,基于參考位置坐標(biāo)的特定區(qū)域的具有三維坐標(biāo)的模型,能夠直接從存儲(chǔ)裝置裝載,不用執(zhí)行在步驟340中的裝載具有二維坐標(biāo)的地圖數(shù)據(jù)的過(guò)程和在步驟350中的三維建模過(guò)程。
在步驟360中,對(duì)已經(jīng)在三維建模過(guò)程中被模制的具有三維坐標(biāo)的模型,或者已經(jīng)從存儲(chǔ)部件裝載的具有三維坐標(biāo)的模型進(jìn)行重組多邊形的多邊形重組過(guò)程。在步驟360中的多邊形重組過(guò)程包括下面的步驟。一個(gè)模型被選擇(步驟361),和確定組成選擇的模型的多邊形的所有節(jié)點(diǎn)是否存在于同一平面上(步驟362)。
如果在步驟362中確定組成選擇模型的多邊形的所有節(jié)點(diǎn)存在于同一平面上,那么,三維模型的各個(gè)節(jié)點(diǎn)的三維坐標(biāo),通過(guò)沿著觀察點(diǎn)和視線的平移和旋轉(zhuǎn),被轉(zhuǎn)換成具有一個(gè)由觀察點(diǎn)定義的原點(diǎn)的三維坐標(biāo)系統(tǒng)中的三維坐標(biāo)(步驟363)。轉(zhuǎn)換成具有由觀察點(diǎn)定義的原點(diǎn)的三維坐標(biāo)系統(tǒng)中的三維坐標(biāo)的各個(gè)節(jié)點(diǎn),被投影轉(zhuǎn)換到投影平面上,以獲得投影的二維坐標(biāo)的值(步驟364)。
因?yàn)橥队暗亩S坐標(biāo)的值可以是負(fù)數(shù)或?qū)崝?shù),所以,通過(guò)在二維平面上進(jìn)行合適的比例和位置調(diào)整,它們被轉(zhuǎn)換成用于在顯示板上顯示的屏幕坐標(biāo)(步驟365)。
存在于顯示板212的屏幕區(qū)域外的所有的投影節(jié)點(diǎn)被去除(步驟366),并且,存在于屏幕的邊緣以外并因此被截去的多邊形的一部分用屏幕邊緣的邊替換以重組成一個(gè)新的多邊形(步驟367)。新的多邊形被存儲(chǔ)在緩沖器中(步驟368)。
如果在步驟362中確定組成選擇模型的多邊形的節(jié)點(diǎn)不存在于同一平面上,那么,使用通用三維圖形庫(kù)對(duì)選擇模型的多邊形進(jìn)行三維處理,并且,處理的結(jié)果被存儲(chǔ)在緩沖器中(步驟370)。
在根據(jù)選擇的模型的多邊形的節(jié)點(diǎn)是否存在于同一平面上進(jìn)行的這樣的處理已經(jīng)被執(zhí)行以后,確定對(duì)最后一個(gè)模型的處理是否已經(jīng)完成(步驟371)。如果在步驟371中確定正在被處理的模型不是最后一個(gè)模型,那么,該過(guò)程返回步驟361,并且,多邊形還未重組的另一個(gè)模型被選擇。此后,按照多邊形的所有節(jié)點(diǎn)是否存在于同一平面上而進(jìn)行的這樣的處理操作被重復(fù)地執(zhí)行。
又,如果在步驟371中確定這樣的多邊形重組模型已經(jīng)被完成到最后一個(gè),那么,控制部件208使得在步驟368和370中存儲(chǔ)在緩沖器中的值相互重迭,并輸出結(jié)果到顯示驅(qū)動(dòng)部件210以在顯示板212上顯示(步驟380)。
按照上述的本發(fā)明,在通用三維圖形庫(kù)中不能夠被處理的幾何不完整的多邊形例如具有交叉邊的多邊形、凹多邊形或具有內(nèi)孔的多邊形,能夠以三維的方式被顯示在屏幕上。進(jìn)一步,在許多應(yīng)用領(lǐng)域中廣泛使用的具有二維坐標(biāo)的數(shù)據(jù),能夠被容易地?cái)U(kuò)展成具有三維坐標(biāo)的數(shù)據(jù)以被顯示在屏幕上。另外,對(duì)三維處理不是必需的一些計(jì)算處理能夠被排除,因此減少三維處理的計(jì)算量并且改善處理時(shí)間的效率。
雖然本發(fā)明結(jié)合優(yōu)選的實(shí)施例進(jìn)行了說(shuō)明和描述,但是,對(duì)于本領(lǐng)域的熟練技術(shù)人員很容易理解能夠?qū)Ρ景l(fā)明進(jìn)行各種修改和變化,但不會(huì)偏離由權(quán)利要求確定的本發(fā)明的精神和范圍。即,雖然本發(fā)明通過(guò)被應(yīng)用到導(dǎo)航系統(tǒng)中的實(shí)例的方法已經(jīng)被描述,其中,在二維數(shù)字地圖上的數(shù)據(jù),被模制成在三維地圖上的數(shù)據(jù),并且,然后多邊形被重組和顯示,但是,本發(fā)明并不限制于此。本發(fā)明能夠被應(yīng)用到包括三維游戲的各個(gè)領(lǐng)域中。
權(quán)利要求
1.一種用于在屏幕上顯示三維多邊形的方法,包括一個(gè)三維模型輸入步驟接收基于參考位置坐標(biāo)的將被顯示在屏幕上的區(qū)域的具有三維坐標(biāo)的三維模型;一個(gè)多邊形重組步驟按照三維模型的多邊形的節(jié)點(diǎn)的位置,把在三維模型輸入步驟中輸入的三維模型分類(lèi),并且,重組分類(lèi)的模型的多邊形;和一個(gè)屏幕顯示步驟在屏幕上顯示在多邊形重組步驟中重組的多邊形。
2.按照權(quán)利要求1的方法,其中,參考位置的坐標(biāo)是從通過(guò)GPS接收器接收的信號(hào)檢測(cè)到的當(dāng)前車(chē)輛位置的坐標(biāo),或者由用戶輸入的坐標(biāo)。
3.按照權(quán)利要求1的方法,其中,通過(guò)確定三維模型的多邊形的所有節(jié)點(diǎn)是否存在于同一平面上,在多邊形重組步驟中執(zhí)行三維模型的分類(lèi)。
4.按照權(quán)利要求1的方法,其中,多邊形重組步驟包括以下步驟如果在三維模型輸入步驟中輸入的三維模型的多邊形的所有節(jié)點(diǎn)不存在于同一平面上,那么,使用通用三維圖形庫(kù),通過(guò)三維處理執(zhí)行自動(dòng)三角測(cè)量。
5.按照權(quán)利要求1的方法,還包括一個(gè)三維環(huán)境初始化步驟初始化三維顯示環(huán)境;一個(gè)觀察點(diǎn)設(shè)置步驟在三維環(huán)境初始化步驟以后,按照參考位置的坐標(biāo),設(shè)置觀察點(diǎn)和視線;一個(gè)投影參數(shù)設(shè)置步驟在觀察點(diǎn)設(shè)置步驟以后設(shè)置投影參數(shù),其中,多邊形重組步驟包括以下步驟如果在三維模型輸入步驟中輸入的三維模型的多邊形的所有節(jié)點(diǎn)存在于同一平面上,那么,使用在三維環(huán)境初始化步驟、觀察點(diǎn)設(shè)置步驟和投影參數(shù)設(shè)置步驟中設(shè)置的值轉(zhuǎn)換節(jié)點(diǎn)的坐標(biāo)為用于重組多邊形的坐標(biāo)。
6.按照權(quán)利要求5的方法,其中,多邊形重組步驟包括一個(gè)觀察點(diǎn)坐標(biāo)轉(zhuǎn)換步驟把三維模型的多邊形的節(jié)點(diǎn)的三維坐標(biāo)轉(zhuǎn)換成基于觀察點(diǎn)的三維坐標(biāo);一個(gè)投影轉(zhuǎn)換步驟將已經(jīng)在觀察點(diǎn)坐標(biāo)轉(zhuǎn)換步驟中被轉(zhuǎn)換成基于觀察點(diǎn)的三維坐標(biāo)的多邊形的節(jié)點(diǎn)的坐標(biāo)投影轉(zhuǎn)換為二維坐標(biāo);和一個(gè)屏幕坐標(biāo)轉(zhuǎn)換步驟轉(zhuǎn)換在投影轉(zhuǎn)換步驟中獲得的多邊形的節(jié)點(diǎn)的二維坐標(biāo)為屏幕坐標(biāo)。
7.按照權(quán)利要求6的方法,在屏幕坐標(biāo)轉(zhuǎn)換步驟以后,還包括一個(gè)多邊形轉(zhuǎn)換步驟根據(jù)多邊形的節(jié)點(diǎn)屏幕坐標(biāo)去除存在于屏幕區(qū)域外邊的所有節(jié)點(diǎn),并且,用屏幕邊緣的邊替換超出屏幕的邊緣以外并因此被截去的多邊形的部分。
8.按照權(quán)利要求5的方法,其中,三維環(huán)境初始化步驟包括以下步驟按照觀察點(diǎn)、視線、光源的方向、光源的強(qiáng)度和建筑物的各個(gè)邊的角度,設(shè)置在顯示建筑物的各個(gè)邊中使用的顏色和它們的深度;初始化深度緩沖,用于指示從觀察點(diǎn)到要被顯示的對(duì)象將被顯示的位置的距離;和設(shè)置預(yù)定的顏色為屏幕的背景顏色。
9.按照權(quán)利要求5的方法,其中,觀察點(diǎn)設(shè)置步驟包括設(shè)置由參考位置的坐標(biāo)處的預(yù)定高度抬升的位置為觀察點(diǎn),和設(shè)置在該設(shè)置的觀察點(diǎn)處的視線的步驟。
10.按照權(quán)利要求5的方法,其中,視線是車(chē)輛的行進(jìn)方向。
11.一種用于在屏幕上顯示三維多邊形的方法,包括一個(gè)三維環(huán)境初始化步驟初始化三維顯示環(huán)境;一個(gè)觀察點(diǎn)設(shè)置步驟在三維環(huán)境初始化步驟以后,按照參考位置的坐標(biāo),設(shè)置觀察點(diǎn)和視線;一個(gè)投影參數(shù)設(shè)置步驟在觀察點(diǎn)設(shè)置步驟以后設(shè)置投影參數(shù);一個(gè)三維模型輸入步驟接收基于參考位置坐標(biāo)的區(qū)域的具有三維坐標(biāo)的三維模型;一個(gè)多邊形重組步驟按照三維模型的多邊形的節(jié)點(diǎn)的位置把在三維模型輸入步驟中輸入的三維模型分類(lèi),并且,使用在三維環(huán)境初始化步驟、觀察點(diǎn)設(shè)置步驟和投影參數(shù)設(shè)置步驟中設(shè)置的值,將節(jié)點(diǎn)的坐標(biāo)轉(zhuǎn)換成為用于重組分類(lèi)的模型的多邊形的坐標(biāo);和一個(gè)屏幕顯示步驟在屏幕上顯示在多邊形重組步驟中重組的多邊形。
12.按照權(quán)利要求11的方法,其中,參考位置的坐標(biāo)是是從通過(guò)GPS接收器接收的信號(hào)檢測(cè)到的當(dāng)前車(chē)輛位置的坐標(biāo),或者由用戶輸入的坐標(biāo)。
13.按照權(quán)利要求11的方法,其中,三維環(huán)境初始化步驟包括以下步驟按照觀察點(diǎn)、視線、光源的方向、光源的強(qiáng)度和建筑物的各個(gè)邊的角度,設(shè)置在顯示建筑物的各個(gè)邊中使用的顏色和它們的深度;初始化深度緩沖,用于指示從觀察點(diǎn)到要被顯示的對(duì)象將被顯示的位置的距離;和設(shè)置預(yù)定的顏色為屏幕的背景顏色。
14.按照權(quán)利要求11的方法,其中,觀察點(diǎn)設(shè)置步驟包括設(shè)置由參考位置的坐標(biāo)處的預(yù)定高度抬升的位置為觀察點(diǎn),和設(shè)置在該設(shè)置的觀察點(diǎn)處的視線的步驟。
15.按照權(quán)利要求14的方法,其中,視線是在車(chē)輛的行進(jìn)方向上。
16.按照權(quán)利要求11的方法,其中,通過(guò)確定三維模型的多邊形的所有節(jié)點(diǎn)是否存在于同一平面上,在多邊形重組步驟中執(zhí)行三維模型的分類(lèi)。
17.按照權(quán)利要求11的方法,其中,多邊形重組步驟包括以下步驟如果在三維模型輸入步驟中輸入的三維模型的多邊形的所有節(jié)點(diǎn)不存在于同一平面上,那么,使用通用三維圖形庫(kù),通過(guò)三維處理執(zhí)行自動(dòng)三角測(cè)量。
18.按照權(quán)利要求11的方法,其中,多邊形重組步驟包括一個(gè)觀察點(diǎn)坐標(biāo)轉(zhuǎn)換步驟如果三維模型的多邊形的所有節(jié)點(diǎn)存在于同一平面上,那么,把三維模型的多邊形的節(jié)點(diǎn)的三維坐標(biāo)轉(zhuǎn)換成基于觀察點(diǎn)的三維坐標(biāo);一個(gè)投影轉(zhuǎn)換步驟投影轉(zhuǎn)換已經(jīng)在觀察點(diǎn)坐標(biāo)轉(zhuǎn)換步驟中被轉(zhuǎn)換成基于觀察點(diǎn)的三維坐標(biāo)的多邊形的節(jié)點(diǎn)的坐標(biāo)為二維坐標(biāo);和一個(gè)屏幕坐標(biāo)轉(zhuǎn)換步驟轉(zhuǎn)換在投影轉(zhuǎn)換步驟中獲得的多邊形的節(jié)點(diǎn)的二維坐標(biāo)為屏幕坐標(biāo)。
19.按照權(quán)利要求18的方法,在屏幕坐標(biāo)轉(zhuǎn)換步驟以后,還包括一個(gè)多邊形轉(zhuǎn)換步驟根據(jù)多邊形的節(jié)點(diǎn)屏幕坐標(biāo)去除存在于屏幕區(qū)域外的所有節(jié)點(diǎn),并且,用屏幕邊緣的邊替換超出屏幕的邊緣并因此被截去的多邊形的部分。
20.一種用于在屏幕上顯示三維多邊形的方法,包括一個(gè)三維環(huán)境初始化步驟初始化三維顯示環(huán)境;一個(gè)觀察點(diǎn)設(shè)置步驟在三維環(huán)境初始化步驟以后,按照參考位置的坐標(biāo),設(shè)置觀察點(diǎn)和視線;一個(gè)投影參數(shù)設(shè)置步驟在觀察點(diǎn)設(shè)置步驟以后設(shè)置投影參數(shù);一個(gè)三維建模步驟通過(guò)裝載對(duì)應(yīng)于按照參考位置的坐標(biāo)將在屏幕上顯示的三維地圖中的區(qū)域的具有二維坐標(biāo)的地圖數(shù)據(jù),模制三維地圖;一個(gè)多邊形重組步驟按照三維模型的多邊形的節(jié)點(diǎn)的位置,把在三維建模步驟中模制的三維模型分類(lèi),并且,使用在三維環(huán)境初始化步驟、觀察點(diǎn)設(shè)置步驟和投影參數(shù)設(shè)置步驟中設(shè)置的值,轉(zhuǎn)換節(jié)點(diǎn)的坐標(biāo)成為用于重組分類(lèi)的模型的多邊形的坐標(biāo);和一個(gè)屏幕顯示步驟顯示在多邊形重組步驟中重組的多邊形在屏幕上。
21.按照權(quán)利要求20的方法,其中,參考位置的坐標(biāo)是從通過(guò)GPS接收器接收的信號(hào)檢測(cè)到的當(dāng)前車(chē)輛位置的坐標(biāo),或者由用戶輸入的坐標(biāo)。
22.按照權(quán)利要求20的方法,其中,三維環(huán)境初始化步驟包括以下步驟按照觀察點(diǎn)、視線、光源的方向、光源的強(qiáng)度和建筑物的各個(gè)邊的角度,設(shè)置在顯示建筑物的各個(gè)邊中使用的顏色和它們的深度;初始化深度緩沖,用于指示從觀察點(diǎn)到要被顯示的對(duì)象將被顯示的位置的距離;和設(shè)置預(yù)定的顏色為屏幕的背景顏色。
23.按照權(quán)利要求20的方法,其中,觀察點(diǎn)設(shè)置步驟包括按照參考位置的坐標(biāo)設(shè)置觀察點(diǎn),和設(shè)置在該設(shè)置的觀察點(diǎn)處的視線的步驟。
24.按照權(quán)利要求20的方法,其中,三維建模步驟包括以下步驟由裝載的具有二維坐標(biāo)的地圖數(shù)據(jù)生成具有三維坐標(biāo)的底圖;在底圖生成步驟以后設(shè)置各個(gè)建筑物的節(jié)點(diǎn)的高度,并且,生成具有設(shè)置高度的建筑物;和在建筑物生成步驟以后生成車(chē)輛的行進(jìn)通道。
25.按照權(quán)利要求20的方法,其中,通過(guò)確定三維模型的多邊形的所有節(jié)點(diǎn)是否存在于同一平面上,在多邊形重組步驟中執(zhí)行三維模型的分類(lèi)。
26.按照權(quán)利要求20的方法,其中,多邊形重組步驟包括以下步驟如果在三維模型輸入步驟中輸入的三維模型的多邊形的所有節(jié)點(diǎn)不存在于同一平面上,那么,使用通用三維圖形庫(kù),通過(guò)三維處理,執(zhí)行自動(dòng)三角測(cè)量。
27.按照權(quán)利要求20的方法,其中,多邊形重組步驟包括一個(gè)觀察點(diǎn)坐標(biāo)轉(zhuǎn)換步驟如果三維模型的多邊形的所有節(jié)點(diǎn)存在于同一平面上,那么,把三維模型的多邊形的節(jié)點(diǎn)的三維坐標(biāo)轉(zhuǎn)換成基于觀察點(diǎn)的三維坐標(biāo);一個(gè)投影轉(zhuǎn)換步驟投影轉(zhuǎn)換已經(jīng)在觀察點(diǎn)坐標(biāo)轉(zhuǎn)換步驟中被轉(zhuǎn)換成基于觀察點(diǎn)的三維坐標(biāo)的多邊形的節(jié)點(diǎn)的坐標(biāo)為二維坐標(biāo);和一個(gè)屏幕坐標(biāo)轉(zhuǎn)換步驟轉(zhuǎn)換在投影轉(zhuǎn)換步驟中獲得的多邊形的節(jié)點(diǎn)的二維坐標(biāo)為屏幕坐標(biāo)。
28.按照權(quán)利要求27的方法,在屏幕坐標(biāo)轉(zhuǎn)換步驟以后,還包括一個(gè)多邊形轉(zhuǎn)換步驟根據(jù)多邊形的節(jié)點(diǎn)的屏幕坐標(biāo)去除存在于屏幕區(qū)域以外的所有節(jié)點(diǎn),并且,用屏幕邊緣的邊替換超出屏幕的邊緣以外并因此被截去的多邊形的部分。
全文摘要
二維坐標(biāo)的數(shù)據(jù)能夠通過(guò)簡(jiǎn)單地?cái)U(kuò)展為三維坐標(biāo)的數(shù)據(jù)而使用,且三維多邊形能夠精確地顯示在屏幕上?;趨⒖嘉恢米鴺?biāo)要在屏幕上顯示的某一區(qū)域的三維坐標(biāo)的三維模型被接收,并按照模型的多邊形的節(jié)點(diǎn)的位置被分類(lèi)。對(duì)于多邊形的節(jié)點(diǎn)存在于同一平面上的三維模型,使用通用三維圖形庫(kù),通過(guò)自動(dòng)三角測(cè)量顯示在屏幕上。對(duì)于節(jié)點(diǎn)不在同一平面上的三維模型,轉(zhuǎn)換多邊形節(jié)點(diǎn)的三維坐標(biāo)為基于觀察點(diǎn)的三維坐標(biāo),通過(guò)到投影平面上的投影轉(zhuǎn)換,將該轉(zhuǎn)換的三維坐標(biāo)轉(zhuǎn)換為二維坐標(biāo),并轉(zhuǎn)換該二維坐標(biāo)為屏幕坐標(biāo)而顯示在屏幕上。按照本發(fā)明,在通用三維圖形庫(kù)中計(jì)算量減少,縮短處理時(shí)間。在通用三維圖形庫(kù)中不能處理的三維多邊形被精確地處理。
文檔編號(hào)G06T17/20GK1614637SQ200410088499
公開(kāi)日2005年5月11日 申請(qǐng)日期2004年11月3日 優(yōu)先權(quán)日2003年11月8日
發(fā)明者趙恒新 申請(qǐng)人:Lg電子有限公司