本發(fā)明涉及生成表示地物外觀的紋理的紋理生成系統(tǒng)。
背景技術(shù):
作為導(dǎo)航裝置或計(jì)算機(jī)的畫面等所用的電子地圖,有三維地表現(xiàn)建筑物等地物的三維地圖。三維地圖中,通過三維模型表示地物的三維形狀,在其表面貼附表示地物外觀的紋理,從而提高真實(shí)感。紋理并非地物的整體外觀,有時(shí)也僅對(duì)于窗等部分生成。專利文獻(xiàn)1揭示了,對(duì)于樓宇之類的建筑物,以各層等要素單位事先準(zhǔn)備紋理,根據(jù)層數(shù)重復(fù)適用該紋理,從而形成整個(gè)壁面的紋理的技術(shù)。
近年來,對(duì)于提高三維地圖的真實(shí)感的要求越來越高,還要求在三維地圖中不僅表示晝景(白天的情景),還表示夜景。夜景的情況下,樓宇的窗會(huì)混合存在燈光點(diǎn)亮的部分和燈光熄滅的部分。為了提高夜景的真實(shí)感,需要準(zhǔn)備使燈光點(diǎn)亮、燈光熄滅混合存在的紋理。
現(xiàn)有技術(shù)文獻(xiàn)
專利文獻(xiàn)
專利文獻(xiàn)1:日本特開2004-362184號(hào)公報(bào)。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明所要解決的技術(shù)問題
為了提高夜景的真實(shí)感,希望隨機(jī)地配置燈光點(diǎn)亮、燈光熄滅。作為一種方法,如果準(zhǔn)備分別表示建筑物的窗的點(diǎn)燈/熄燈的2種類的紋理,對(duì)于每個(gè)窗利用隨機(jī)數(shù)選擇點(diǎn)燈/熄燈的2種類的紋理并進(jìn)行配置,那么能夠表現(xiàn)整體上隨機(jī)的點(diǎn)燈狀態(tài)。但是,三維地圖包含大量的建筑物,因此這樣的方法中,用于表現(xiàn)夜景的處理負(fù)荷巨大。
作為減輕所述處理負(fù)荷的方法,考慮了以多個(gè)窗排列的組單位,準(zhǔn)備多種類的表示點(diǎn)燈/熄燈的圖案的紋理,通過隨機(jī)數(shù)分開使用的方法。以下示出具體例子。
圖11是示例使用2種類的點(diǎn)燈圖案的夜景的三維地圖的說明圖。這個(gè)例子中,如圖的上側(cè)所示,將橫2列×縱4層的8個(gè)窗作為組。圖中以陰影線表示的窗表示熄燈。圖案a是最下面的層和倒數(shù)第2層右側(cè)的窗熄燈,其他窗點(diǎn)燈的狀態(tài)的紋理。圖案b是下面2層的窗熄燈,其他窗點(diǎn)燈的狀態(tài)的紋理。在圖的下側(cè)示出了通過隨機(jī)數(shù)配置這些點(diǎn)燈圖案來表示夜景的例子。但是,如果仔細(xì)地觀察這個(gè)例子,在建筑物的加框的部分看出圖案a、圖案b,由此而在很大程度上破壞真實(shí)感。
即,如果為了提高真實(shí)感而對(duì)于每個(gè)作為最小單位的窗使用隨機(jī)數(shù)則會(huì)使處理負(fù)荷巨大,相反地,如果為了減輕處理負(fù)荷而以多個(gè)窗排列的組單位分開使用紋理則會(huì)破壞真實(shí)感。同樣的問題不僅限于以窗為對(duì)象的情況,也不僅限于夜景。對(duì)于樹木,也可以準(zhǔn)備表示枝條或葉子的紋理等可適用于樹木的部分的多種類的單位紋理,在隨機(jī)地選擇單位紋理的同時(shí)生成整體的紋理。對(duì)于山、田地、云等也同樣。上述的問題在選擇多種類的紋理并且可適用的各種地物中都同樣會(huì)產(chǎn)生。
本發(fā)明鑒于上述問題,目的在于提供一種紋理的生成方法,該方法兼顧了“處理負(fù)荷的抑制”和“由避免規(guī)律性帶來的真實(shí)感的提高”。
解決技術(shù)問題用的手段
本發(fā)明可作為紋理生成系統(tǒng)而構(gòu)成,該紋理生成系統(tǒng)是生成在三維地圖中表示地物外觀的紋理的紋理生成系統(tǒng),其中,具備:
地圖數(shù)據(jù)庫,存儲(chǔ)表示所述地物的三維形狀的三維模型和選擇性地能夠適用于該地物的多種類的單位紋理;
矩陣存儲(chǔ)部,存儲(chǔ)對(duì)于每個(gè)像素存儲(chǔ)了控制所述單位紋理的選擇的控制值的規(guī)定尺寸的矩陣;以及
紋理生成部,通過將多個(gè)所述單位紋理排列并貼附,從而生成構(gòu)成所述三維模型的多邊形的紋理,
該紋理生成部
使所述多邊形中的所述排列的各位置與所述矩陣的像素具有對(duì)應(yīng)關(guān)系,
基于與所述各位置對(duì)應(yīng)的所述矩陣的控制值,選擇多種類的所述單位紋理的任一種,
在所述各位置將分別選擇的單位紋理排列并貼附。
如果采用本發(fā)明,則作為表示三維模型的外觀的紋理,可生成單位紋理隨機(jī)配置的紋理。此外,單位紋理的選擇中使用存儲(chǔ)于矩陣的控制值,因此不需要進(jìn)行對(duì)于每個(gè)三維模型的部位產(chǎn)生隨機(jī)數(shù)等的處理,可抑制處理負(fù)荷。其結(jié)果是,對(duì)于單位紋理的配置,不易察覺規(guī)律性,對(duì)于地物可表現(xiàn)出更自然的外觀。
三維地圖中,存在大量需要適用紋理的三維模型,因此通過使用矩陣而產(chǎn)生的處理負(fù)荷的減輕效果非常大。
矩陣的尺寸可任意地設(shè)定。如果增大其尺寸,則多邊形上的各位置與矩陣的像素的對(duì)應(yīng)關(guān)系變得多樣,因此也可使所選擇的單位紋理的配置圖案更多樣化。
可采用各種方法來使多邊形上的各位置與矩陣的像素具有對(duì)應(yīng)關(guān)系。例如,可以在矩陣上確定基準(zhǔn)點(diǎn),使其與多邊形上的與排列相應(yīng)的區(qū)域?qū)?yīng)。將單位像素在多邊形上以橫2×縱3的排列進(jìn)行配置的情況下,是使基準(zhǔn)點(diǎn)周圍的2×3像素與各位置分別對(duì)應(yīng)的方法。對(duì)于多邊形上的各位置,不需要分配矩陣上的連續(xù)的區(qū)域。例如,可采用將多邊形上的各位置以規(guī)定的函數(shù)進(jìn)行坐標(biāo)變換成矩陣上的像素的方法。
矩陣不一定是單一種類,可以分開使用多種類。但是,從減輕自存儲(chǔ)器讀出矩陣的處理的觀點(diǎn)來看,與準(zhǔn)備多個(gè)矩陣相比,較好是準(zhǔn)備單一的大尺寸的矩陣。
本發(fā)明中的紋理的“生成”包括:生成將單位紋理排列而成的1張紋理圖像的形態(tài)、和選擇單位紋理并直接貼附于三維模型的形態(tài)這兩者。
作為可適用本發(fā)明的三維模型,例如可考慮如圖11中例示的建筑物、樹木、山、田地、云等。建筑物的情況下,作為單位紋理,可準(zhǔn)備表示窗的點(diǎn)燈/熄燈狀態(tài)的紋理??蓽?zhǔn)備點(diǎn)燈、熄燈這2種類的紋理,也可準(zhǔn)備表示多個(gè)窗的點(diǎn)燈圖案的3種類以上的紋理。樹木的情況下,作為單位紋理,可準(zhǔn)備表示各種狀態(tài)的枝條或葉子等的紋理。并且,通過在樹木的樹干周圍選擇這些單位紋理并進(jìn)行配置,從而可表現(xiàn)多種多樣的樹木。可以將單位紋理彼此重疊配置。山和田地也同樣,準(zhǔn)備表示樹木和作物等的各種狀態(tài)的單位紋理即可。云的情況下,可準(zhǔn)備表示白色、灰色等一片云的各部位的各種顏色的紋理。如果對(duì)于云的各部分選擇這些紋理來進(jìn)行配置,則可容易地表現(xiàn)混雜了各種顏色的多種多樣的云??梢詫挝患y理彼此重疊配置。除此之外,本發(fā)明還可適用于多種多樣的三維模型。
本發(fā)明中,保存于矩陣的控制值可采用各種各樣的形態(tài)。
例如,所述矩陣可以存儲(chǔ)與所述單位紋理的各種類一一對(duì)應(yīng)的控制值。
例如,準(zhǔn)備2種類的單位紋理時(shí),是控制值也為2種類的形態(tài)。并不一定需要是像0和1這樣連續(xù)的值,可采用10和100等任意的值。準(zhǔn)備3種類的單位紋理時(shí),控制值也為3種類即可。
如果像這樣事先使單位紋理與控制值一一對(duì)應(yīng),則可根據(jù)矩陣的控制值迅速唯一地確定單位紋理,因此能夠進(jìn)一步減輕處理負(fù)荷。
此外,本發(fā)明中可以是:
所述矩陣存儲(chǔ)著比所述單位紋理的種類數(shù)更寬數(shù)值范圍的控制值,
所述紋理生成部通過所述控制值與規(guī)定的閾值的比較,將所述控制值量化為所述單位紋理的種類數(shù)并進(jìn)行所述選擇。
例如,是保存0~255的范圍內(nèi)的任一值作為控制值的形態(tài)。準(zhǔn)備2種類的單位紋理的情況下,根據(jù)閾值與控制值的大小關(guān)系,選擇任一單位紋理即可。準(zhǔn)備3種類的單位紋理的情況下,準(zhǔn)備值不同的第一閾值、第二閾值(第一閾值<第二閾值),分成(1)控制值<第一閾值的情況、(2)第一閾值≤控制值<第二閾值的情況、(3)第二閾值≤控制值的情況,對(duì)3種類的單位紋理進(jìn)行選擇即可。上述形態(tài)中具有如下優(yōu)點(diǎn):控制值的范圍和閾值可任意地設(shè)定,可根據(jù)這些設(shè)定而靈活地設(shè)定使用單位紋理的比例。
使用閾值的情況下,
所述紋理生成部可以根據(jù)規(guī)定的條件改變所述閾值來進(jìn)行所述選擇。
通過這樣操作,具有可根據(jù)條件改變使用單位紋理的比例,能夠生成多種多樣的紋理的優(yōu)點(diǎn)。例如,對(duì)于建筑物準(zhǔn)備表示窗的點(diǎn)燈/熄燈的2種類的紋理的情況下,通過根據(jù)時(shí)間改變閾值,可以表現(xiàn)幾乎所有窗都點(diǎn)燈的黃昏后的狀態(tài)、或幾乎所有窗都熄燈的夜間的狀態(tài)等多種多樣的夜景。
與怎樣選擇單位紋理無關(guān)地,
所述紋理生成部都可以對(duì)于每次所述紋理的生成,使所述排列的各位置與所述矩陣的像素的對(duì)應(yīng)關(guān)系改變。
通過這樣操作,每次生成紋理時(shí),可使用矩陣的不同像素、即不同的控制值,能夠使單位紋理的排列更多樣地變化。對(duì)于對(duì)應(yīng)關(guān)系而言,例如,可按照作為生成紋理的對(duì)象的地物不同而改變,對(duì)于同一地物也可按照生成紋理的多邊形不同而改變。
使對(duì)應(yīng)關(guān)系改變的方法也可采用各種形態(tài)。例如,將矩陣的基準(zhǔn)點(diǎn)周圍的像素對(duì)應(yīng)的形態(tài)中,改變基準(zhǔn)點(diǎn)的位置即可?;鶞?zhǔn)點(diǎn)的位置可規(guī)律地改變,也可基于隨機(jī)數(shù)等改變。此外,通過函數(shù)將排列的各位置與像素對(duì)應(yīng)的情況下,可改變用于確定對(duì)應(yīng)關(guān)系的函數(shù)。
此外,本發(fā)明中,單位紋理的形態(tài)也多種多樣。
所述單位紋理作為將多種類的所述單位紋理以不相互重疊的方式配置而成的單一的整合(統(tǒng)合)紋理被存儲(chǔ),
所述紋理生成部可以根據(jù)所述選擇,將所述整合紋理中與所選擇的單位紋理對(duì)應(yīng)的部分貼附。
假設(shè)多種類的單位紋理作為個(gè)別的圖像數(shù)據(jù)準(zhǔn)備的情況下,有時(shí)需要根據(jù)選擇結(jié)果讀出各個(gè)單位紋理的處理。相對(duì)于此,上述形態(tài)中,準(zhǔn)備將多種類的單位紋理配置而成的整合紋理,因此只要將整合紋理讀入存儲(chǔ)器,就不需要反復(fù)進(jìn)行與單位紋理的選擇結(jié)果對(duì)應(yīng)的讀入操作,可減輕處理負(fù)荷。
整合紋理中,單位紋理并不一定要無間隙地配置,單位紋理之間可存在間隙。
整合紋理不僅限于1個(gè)。使用非常多的單位紋理的情況下,可將單位紋理分成多個(gè)組,對(duì)于每組準(zhǔn)備整合紋理。
本發(fā)明中,并不一定要具備所有上述的各種特征,可適當(dāng)將其一部分省略或組合而構(gòu)成。
本發(fā)明不僅是作為紋理生成系統(tǒng)的構(gòu)成,還可作為伴有這樣的紋理生成的三維地圖顯示系統(tǒng)而構(gòu)成。此外,也可作為通過計(jì)算機(jī)生成紋理的紋理生成方法或者三維地圖的顯示方法而構(gòu)成。本發(fā)明還可作為用于讓計(jì)算機(jī)執(zhí)行紋理的生成或三維地圖的顯示的計(jì)算機(jī)程序而構(gòu)成。此外,也可作為記錄了所述計(jì)算機(jī)程序的計(jì)算機(jī)可讀取的記錄介質(zhì)而構(gòu)成。
附圖說明
圖1是表示三維地圖顯示系統(tǒng)的構(gòu)成的說明圖;
圖2是表示地圖數(shù)據(jù)庫的結(jié)構(gòu)的說明圖;
圖3是三維地圖顯示處理的流程圖;
圖4是夜景紋理生成處理的流程圖;
圖5是表示單位紋理的選擇方法的說明圖;
圖6是表示三維地圖的顯示例(1)的說明圖;
圖7是表示三維地圖的顯示例(2)的說明圖;
圖8是表示變形例(1)中的單位紋理的選擇方法的說明圖;
圖9是表示變形例(2)中的單位紋理的選擇方法的說明圖;
圖10是表示作為變形例的單位紋理的配置方法的說明圖;
圖11是示例使用2種類的點(diǎn)燈圖案的夜景的三維地圖的說明圖。
符號(hào)說明
10…三維地圖顯示系統(tǒng)
11…指令輸入部
12…地圖顯示控制部
13…三維多邊形生成部
14…紋理生成部
15…晝景紋理生成部
16…夜景紋理生成部
17…矩陣存儲(chǔ)部
20…地圖數(shù)據(jù)庫
21…三維模型
22…紋理數(shù)據(jù)
23…晝用紋理
24…夜景紋理。
具體實(shí)施方式
實(shí)施例1
對(duì)于本發(fā)明,對(duì)作為在計(jì)算機(jī)的顯示器上顯示三維地圖的三維地圖顯示系統(tǒng)而構(gòu)成的實(shí)施例進(jìn)行說明。本發(fā)明的紋理生成系統(tǒng)以組入三維地圖顯示系統(tǒng)內(nèi)的形式實(shí)施。除了計(jì)算機(jī)之外,三維地圖顯示系統(tǒng)還可使用智能手機(jī)、移動(dòng)電話、平板終端等移動(dòng)終端、導(dǎo)航裝置等各種裝置而構(gòu)成。
此外,在本實(shí)施例中示例以單機(jī)運(yùn)行的系統(tǒng),但可作為將圖中所示的地圖數(shù)據(jù)庫20等保存于服務(wù)器并通過網(wǎng)絡(luò)連接服務(wù)器與導(dǎo)航裝置而成的系統(tǒng)構(gòu)成。
a.系統(tǒng)構(gòu)成:
圖1是表示三維地圖顯示系統(tǒng)的構(gòu)成的說明圖。作為實(shí)施例的三維顯示系統(tǒng)10通過向具備cpu、ram、rom的計(jì)算機(jī)中安裝用于實(shí)現(xiàn)圖示的各功能的計(jì)算機(jī)程序而以軟件方式實(shí)現(xiàn)。也可以各功能的至少一部分以硬件方式構(gòu)成。此外,為了進(jìn)行三維地圖的圖形處理,除了cpu,計(jì)算機(jī)還可搭載gpu(graphicsprocessingunit,圖形處理單元)。
對(duì)圖中的各功能塊的功能進(jìn)行說明。
地圖數(shù)據(jù)庫20保存用于顯示三維地圖所需的數(shù)據(jù)。圖中的例中,示出了三維模型21和紋理數(shù)據(jù)22。除此之外,還可具備例如存儲(chǔ)地圖中顯示的文字的文字?jǐn)?shù)據(jù)庫。此外,還可具備用于路徑搜索的網(wǎng)絡(luò)數(shù)據(jù),即用鏈路(link)、節(jié)點(diǎn)(node)表示道路的數(shù)據(jù)庫。
三維模型21保存表示建筑物等地物的三維形狀的多邊形數(shù)據(jù)等。
紋理數(shù)據(jù)22將表示地物外觀的圖像數(shù)據(jù)作為用于貼附于多邊形的紋理進(jìn)行存儲(chǔ)。晝用(白天用)紋理23是顯示晝景的三維地圖時(shí)所用的紋理。夜景紋理24是顯示夜景的三維地圖時(shí)所用的紋理。對(duì)于樓宇這樣的建筑物,作為晝用紋理23準(zhǔn)備表示窗的形狀的圖像,作為夜景紋理24準(zhǔn)備表示窗的點(diǎn)燈狀態(tài)的圖像、表示熄燈狀態(tài)的圖像等。
紋理數(shù)據(jù)22中如下進(jìn)行準(zhǔn)備:混合存在貼附于多邊形整體的紋理、和排列并貼附于多邊形的單位紋理。對(duì)于紋理數(shù)據(jù)等的結(jié)構(gòu),在后文中說明。
指令輸入部11介以鍵盤和鼠標(biāo)等操作部或者網(wǎng)絡(luò)輸入用戶的指令。作為指令,可例舉顯示三維地圖時(shí)的顯示范圍、視點(diǎn)、視線方向、顯示模式等。本實(shí)施例中,能夠以晝景或夜景顯示三維地圖,因此可包括對(duì)兩者進(jìn)行切換的指令。
地圖顯示控制部12控制三維地圖的顯示。此外,還從地圖數(shù)據(jù)庫進(jìn)行所需數(shù)據(jù)的讀入等。
三維多邊形生成部13為了顯示三維地圖而在假想三維空間內(nèi)配置各地物的三維模型21。
紋理生成部14在三維多邊形的表面貼附紋理。晝用紋理生成部15使用晝用紋理23進(jìn)行表示晝景的紋理的貼附。夜用紋理生成部16使用夜用紋理24進(jìn)行表示夜景的紋理的貼附。本實(shí)施例中,表示夜景時(shí),通過對(duì)表示窗的點(diǎn)燈/熄燈狀態(tài)的2種類的單位紋理隨機(jī)地進(jìn)行選擇并配置,從而生成建筑物的窗隨機(jī)點(diǎn)燈的狀態(tài)的紋理。該處理中使用保存了用于單位紋理的選擇的控制值的矩陣。矩陣存儲(chǔ)部17存儲(chǔ)該矩陣。
本說明書中,提到紋理的“生成”時(shí),包括配置多個(gè)單位紋理而生成1張紋理的形態(tài)、和將多個(gè)單位紋理依次貼附于多邊形上的形態(tài)這兩者。本實(shí)施例中,紋理生成部14以后者的形態(tài)、即將單位紋理依次貼附于多邊形上的形態(tài)生成多邊形的紋理。
以上說明的功能塊中,本實(shí)施例中,地圖數(shù)據(jù)庫20、紋理生成部14、矩陣存儲(chǔ)部17構(gòu)成本發(fā)明中的紋理生成系統(tǒng)。
圖2是表示地圖數(shù)據(jù)庫的結(jié)構(gòu)的說明圖。
在圖的上側(cè)示出三維模型21的數(shù)據(jù)例。三維模型21中保存地物id、類別、多邊形等數(shù)據(jù)。
地物id是地物的識(shí)別信息,右側(cè)所示的建筑物的例子中,作為地物id被賦予“b01”。
類別是地物的種類,右側(cè)所示的例子為“建筑物”。作為類別,除此之外,還可使用道路、鐵路、山、田等各種信息。此外,類別還可包含樹木、云等。
多邊形中保存圖示的數(shù)據(jù)。
多邊形id是構(gòu)成三維模型的各多邊形的識(shí)別信息,右側(cè)所示的例子中,建筑物的正面的多邊形被賦予pol1。
形狀是對(duì)多邊形的形狀進(jìn)行特別限定的數(shù)據(jù),本實(shí)施例中存儲(chǔ)頂點(diǎn)的坐標(biāo)值。右側(cè)所示的例子中,對(duì)于多邊形的頂點(diǎn)pp1、pp2、pp3、pp4分別保存三維的坐標(biāo)值。坐標(biāo)值可使用以三維地圖整體的原點(diǎn)為基準(zhǔn)的絕對(duì)坐標(biāo),也可使用以針對(duì)每個(gè)地物設(shè)定的基準(zhǔn)點(diǎn)為原點(diǎn)的相對(duì)坐標(biāo)。后者的情況下,三維模型21另外保存基準(zhǔn)點(diǎn)的絕對(duì)坐標(biāo)值。
紋理重復(fù)數(shù)是對(duì)貼附于多邊形的紋理的排列進(jìn)行規(guī)定的信息。右圖的例子中,將建筑物的表面分成橫2×縱3的區(qū)域,將窗的紋理重復(fù)貼附于此。因此,紋理重復(fù)數(shù)中保存(2,3)這樣的數(shù)據(jù)。在多邊形整體將一個(gè)紋理不重復(fù)地配置的情況下,紋理重復(fù)數(shù)為(1,1)。
晝用紋理和夜用紋理分別保存多邊形所用的紋理的識(shí)別信息。
三維模型21中也可包括表示地物的屬性的屬性數(shù)據(jù)。例如,對(duì)于建筑物,可將表示名稱、層數(shù)等的數(shù)據(jù)作為屬性數(shù)據(jù)。
圖的下側(cè)示出紋理數(shù)據(jù)22的例子。紋理數(shù)據(jù)22中存儲(chǔ)晝用紋理、夜用紋理。各紋理由作為識(shí)別信息的紋理id和圖像數(shù)據(jù)構(gòu)成。
圖的例子中,對(duì)于晝用紋理,作為紋理id被賦予“tex1”,準(zhǔn)備了表示窗的形狀的圖像。前面說明的三維模型21中,作為晝用紋理,指定“tex1”,所以對(duì)于圖右側(cè)所示的建筑物(b01)表示晝景時(shí),以紋理數(shù)據(jù)22的tex1表示的圖像以橫2×縱3重復(fù)排列。
圖的例子中,對(duì)于夜用紋理,作為紋理id被賦予“tex2”,準(zhǔn)備了窗呈熄燈狀態(tài)的off圖像、窗呈點(diǎn)燈狀態(tài)的on圖像這2種類圖像。前面說明的三維模型21中,作為夜用紋理,指定“tex2”,所以對(duì)于圖右側(cè)所示的建筑物(b01)表示夜景時(shí),對(duì)以紋理數(shù)據(jù)22的tex2表示的on圖像和off圖像進(jìn)行選擇并以橫2×縱3重復(fù)排列。
針對(duì)夜用紋理,對(duì)off圖像、on圖像可像“tex2off”、“tex2on”這樣賦予個(gè)別的紋理id。所述情況下,可在紋理數(shù)據(jù)22中準(zhǔn)備將兩者作為夜用紋理相關(guān)聯(lián)的信息,也可作為三維模型21的夜用紋理保存“tex2off”、“tex2on”這樣的2個(gè)紋理id。
夜用紋理并不一定需要對(duì)各三維模型如off圖像、on圖像那樣事先準(zhǔn)備多種類的圖像,也可事先準(zhǔn)備單一的圖像。
b.三維地圖顯示處理:
下面,對(duì)實(shí)施例的三維地圖顯示系統(tǒng)10中顯示三維地圖時(shí)的處理內(nèi)容進(jìn)行說明。
圖3是三維地圖顯示處理的流程圖。如果開始處理,則三維地圖顯示系統(tǒng)10設(shè)定地圖顯示范圍(步驟s10)。地圖的顯示范圍可以是例如由用戶的指令產(chǎn)生的范圍。此外,三維地圖顯示系統(tǒng)組入路徑引導(dǎo)系統(tǒng)中的情況下,可根據(jù)路徑搜索的結(jié)果、現(xiàn)在位置等設(shè)定。三維地圖顯示系統(tǒng)10根據(jù)地圖的顯示范圍從地圖數(shù)據(jù)庫20讀入地圖顯示所需的三維模型,配置于假想三維空間內(nèi)(步驟s12)。
接著,根據(jù)地圖的顯示模式,進(jìn)行背景和紋理的顯示。
晝景的情況下(步驟s14),三維地圖顯示系統(tǒng)10設(shè)定晝用的背景、天空和遠(yuǎn)方的景色等(步驟s16)。然后,對(duì)于地物顯示晝用紋理(步驟s18)。從紋理數(shù)據(jù)22讀入三維模型21中所指定的晝用紋理,貼附于各多邊形。
夜景模式的情況下(步驟s14),設(shè)定暗的天空等夜景用的背景(步驟s20),對(duì)于地物實(shí)施夜景紋理生成處理(步驟s22)。該處理是從紋理數(shù)據(jù)22讀入三維模型21中所指定的夜用紋理,根據(jù)多邊形的部位隨機(jī)選擇并貼附on圖像、off圖像的處理。處理的內(nèi)容在后面進(jìn)行說明。
三維地圖顯示系統(tǒng)10通過對(duì)各地物進(jìn)行以上的處理而顯示三維地圖。
c.夜景紋理生成處理:
圖4是夜景紋理生成處理的流程圖。是相當(dāng)于三維地圖顯示處理(圖3)的步驟s22的處理。
如果開始處理,則三維地圖顯示系統(tǒng)10從矩陣存儲(chǔ)部17讀入矩陣(步驟s50)。矩陣中對(duì)于各像素存儲(chǔ)有用于對(duì)on圖像、off圖像進(jìn)行選擇的控制值。本實(shí)施例中,作為選擇對(duì)象的單位紋理為on圖像、off圖像這2種類,因此矩陣為存儲(chǔ)0、1這2個(gè)值的矩陣。
接著,三維地圖顯示系統(tǒng)10將作為處理對(duì)象的地物作為對(duì)象模型進(jìn)行選擇(步驟s51)。對(duì)象模型從紋理的生成未處理的對(duì)象中選擇即可。
對(duì)象模型不是建筑物的情況下(步驟s52),三維地圖顯示系統(tǒng)10對(duì)on圖像、off圖像的分開使用判斷為不需要,貼附三維模型21中所指定的夜用紋理(步驟s53)。夜用紋理有在多邊形整體不重復(fù)地貼附的情況,也有以如圖2所示重復(fù)的配置進(jìn)行貼附的情況。
對(duì)象模型為建筑物的情況下(步驟s52),三維地圖顯示系統(tǒng)10按照三維模型21的紋理重復(fù)數(shù)來設(shè)定重復(fù)數(shù)(步驟s54)。圖中示出了進(jìn)行橫2×縱3的重復(fù)的情況的設(shè)定例。本實(shí)施例中,作為用于貼附紋理的二維坐標(biāo)系(u,v),賦予與重復(fù)數(shù)對(duì)應(yīng)的坐標(biāo)值。如圖所示,將多邊形的左下作為原點(diǎn)(0,0),賦予如下的uv坐標(biāo)值:右下為(2,0)、左上為(0,3)、右上為(2,3)。所指定的紋理圖像以收納在以u(píng)v坐標(biāo)值中(0,0)-(1,1)的頂點(diǎn)表示的矩形區(qū)域內(nèi)的方式貼附,作為uv坐標(biāo)值設(shè)定超過1的值時(shí),根據(jù)值而重復(fù)貼附。因此,如果設(shè)定圖中的各坐標(biāo)值,則可規(guī)定橫2×縱3的排列。不同的排列中也可同樣地以u(píng)v坐標(biāo)值規(guī)定重復(fù)數(shù)。
接著,三維地圖顯示系統(tǒng)10設(shè)定確定矩陣的使用區(qū)域的基準(zhǔn)點(diǎn)(步驟s55)?;鶞?zhǔn)點(diǎn)可以是矩陣的左下等任意設(shè)定的固定點(diǎn),也可在每次執(zhí)行該處理時(shí)通過一定的規(guī)律或隨機(jī)數(shù)進(jìn)行選擇。本實(shí)施例中,使得生成隨機(jī)數(shù)來設(shè)定基準(zhǔn)點(diǎn)的x坐標(biāo)、y坐標(biāo)。
如果設(shè)定基準(zhǔn)點(diǎn),則三維地圖顯示系統(tǒng)10根據(jù)矩陣的控制值而選擇單位紋理并進(jìn)行貼附(步驟s56)。本實(shí)施例中,矩陣的各像素中保存有0、1這2個(gè)值,因此值為1時(shí)選擇on圖像,值為0時(shí)選擇off圖像。
對(duì)于步驟s55、s56中使用矩陣的單位紋理的選擇,后文中基于具體例子更詳細(xì)地進(jìn)行說明。
三維地圖顯示系統(tǒng)10通過以上的處理而對(duì)于對(duì)象模型貼附夜用的紋理。重復(fù)執(zhí)行該處理,直至對(duì)于所有的對(duì)象模型完成處理為止(步驟s57)。
本實(shí)施例中,根據(jù)對(duì)象模型是否是建筑物來分開處理(參照步驟s52),這是因?yàn)閮H對(duì)建筑物進(jìn)行on圖像、off圖像這2種類的單位紋理的分開使用。對(duì)于建筑物以外的地物,也對(duì)多種類的單位紋理進(jìn)行選擇使用的情況下,對(duì)于所述地物也進(jìn)行與建筑物同樣的處理(步驟s54~s56)即可。
圖5是表示單位紋理的選擇方法的說明圖。在圖的上側(cè)示出矩陣的例子。本實(shí)施例中,采用256×256像素的尺寸,但矩陣的尺寸可任意地設(shè)定。矩陣的各像素中保存有0、1這2個(gè)值。圖的例子中,保存的值為0的像素以黑色表示,保存的值為1的像素以白色表示。圖的例子中,值0、1以數(shù)量大致相同且均勻分布的方式設(shè)定,但值0、1的比例和分布也可任意地設(shè)定。所述矩陣可使用操作人員指定各像素的值的方法、通過函數(shù)或隨機(jī)數(shù)確定各像素的值的方法等。
圖中一并示出夜景紋理生成處理(圖4)的步驟s55中所設(shè)定的基準(zhǔn)點(diǎn)。將矩陣的左下作為原點(diǎn)o,橫向位于mx的位置、縱向位于my的位置的像素為基準(zhǔn)點(diǎn)?;鶞?zhǔn)點(diǎn)(mx,my)的坐標(biāo)可通過隨機(jī)數(shù)、函數(shù)等確定。
圖的中段為矩陣的一部分的放大圖。示出將基準(zhǔn)點(diǎn)(mx,my)設(shè)為左下的矩形區(qū)域。圖中的各方塊表示矩陣的像素,其中保存有0或1的控制值。
夜景紋理生成處理(圖4)的步驟s56中,三維地圖顯示系統(tǒng)10以矩陣的基準(zhǔn)點(diǎn)(mx,my)為原點(diǎn),將與單位紋理的重復(fù)數(shù)對(duì)應(yīng)的區(qū)域a的各像素與多邊形的各部位對(duì)應(yīng)。如圖4所示,以橫2×縱3的重復(fù)數(shù)配置單位紋理的情況下,各部位對(duì)應(yīng)由矩陣的橫2×縱3的像素形成的區(qū)域a。
圖的下段示出on圖像、off圖像的選擇結(jié)果。區(qū)域a的左下的像素中作為控制值保存0,所以選擇off圖像(參照?qǐng)D4的步驟s56)。右下的像素也同樣。對(duì)于中段,左側(cè)的控制值為1,右側(cè)的控制值為0,所以左側(cè)選擇on圖像,右側(cè)選擇off圖像。對(duì)于上段,左側(cè)的控制值為0,右側(cè)的控制值為1,所以左側(cè)選擇off圖像,右側(cè)選擇on圖像。通過像這樣根據(jù)像素的控制值選擇on圖像、off圖像,貼附于多邊形的對(duì)應(yīng)的部位,由此可生成圖的下段所示的建筑物整體的紋理。
矩陣內(nèi)的控制值的分布根據(jù)區(qū)域而不同,所以如果基準(zhǔn)點(diǎn)不同,則用于單位紋理的選擇的區(qū)域就改變,所得的結(jié)果也不同。此外,即使在一直使用固定的基準(zhǔn)點(diǎn)的情況下,如果重復(fù)數(shù)不同,則適用于選擇的區(qū)域的大小也會(huì)變化,因此對(duì)于所得結(jié)果的印象也不同。
圖5中說明的處理在利用gpu時(shí)特別有用。一般來說,gpu以可高速進(jìn)行較單純的處理的方式設(shè)計(jì),具有對(duì)于條件轉(zhuǎn)移處理速度較慢的特性。圖5的處理中,可獲取矩陣的各像素的控制值,根據(jù)其結(jié)果,唯一地確定on圖像、off圖像,因此能夠?qū)崿F(xiàn)高速化。例如,如果將所得的0或1的控制值直接作為用于指定on圖像、off圖像的自變量使用,則可不經(jīng)條件轉(zhuǎn)移而對(duì)兩者分開使用。
圖5的例子中,對(duì)于設(shè)定于基準(zhǔn)點(diǎn)周圍的區(qū)域a,與多邊形的各部位形成對(duì)應(yīng)關(guān)系,但兩者的對(duì)應(yīng)也可基于函數(shù)進(jìn)行。只要是對(duì)于多邊形的各部位可分配矩陣的任一像素的方法,并不一定必須分配與多邊形同一形狀的區(qū)域。
d.地圖顯示例:
圖6是表示三維地圖的顯示例(1)的說明圖。示出以與作為現(xiàn)有技術(shù)示于圖11的例子同樣條件顯示夜景的三維地圖的例子。圖11中,可辨別出圖案a、圖案b等點(diǎn)燈/熄燈狀態(tài)規(guī)律地配置的部位,相對(duì)而言,圖6的顯示例(1)中看不出這樣的規(guī)律性。如上所述,如果采用本實(shí)施例,作為夜景中的建筑物的點(diǎn)燈/熄燈狀態(tài),可顯示更自然的狀態(tài)。
圖7是表示三維地圖的顯示例(2)的說明圖。示出從比圖6的顯示例更靠上方的視點(diǎn)俯瞰的例子。通過升高視點(diǎn)位置,可辨別更多的建筑物的窗,但即使在所述狀態(tài)下,對(duì)于建筑物的窗,還是能夠顯示毫無不協(xié)調(diào)感的點(diǎn)燈/熄燈狀態(tài)。
e.效果及變形例:
如果采用以上說明的實(shí)施例,通過利用矩陣,可在抑制處理負(fù)荷的同時(shí),分開使用on圖像、off圖像,實(shí)現(xiàn)無不協(xié)調(diào)感的夜景顯示。
實(shí)施例中,將2個(gè)窗用作單位紋理,但單位紋理的形狀等可任意地設(shè)定。可將一個(gè)窗作為單位紋理,也可將更多的窗作為單位紋理。但是,如果像圖11所示的圖案a、圖案b那樣將二維地配置有較多窗的組作為單位紋理,則容易辨別出各單位紋理的圖案。因此,單位紋理較好是盡可能接近最小的要素單位、即建筑物的例子中的一個(gè)窗,即使在包括多個(gè)窗的情況下,也較好是一維地配置。
本實(shí)施例是用于對(duì)于三維模型選擇并配置多個(gè)單位紋理的技術(shù),不是僅限于建筑物的夜景表現(xiàn)的技術(shù)。對(duì)于各種各樣的地物,通過適用本實(shí)施例,可在抑制處理負(fù)荷的同時(shí),使多種多樣的地物顯示成為可能,能夠進(jìn)一步使三維地圖的真實(shí)感提高。例如,對(duì)于樹木,如果對(duì)枝條和葉子的狀態(tài)不同的多個(gè)單位紋理進(jìn)行選擇適用,則可表現(xiàn)出多種多樣的樹木。對(duì)于云,如果對(duì)白色、灰色等多種顏色的單位紋理進(jìn)行選擇適用,則可表現(xiàn)出各種形狀、顏色的云。實(shí)施例中,示出了單位紋理彼此不重疊地配置的例子,但根據(jù)適用本技術(shù)的地物的不同,也可以單位紋理彼此重疊的方式貼附。
對(duì)于本實(shí)施例,對(duì)處理也還可以考慮各種各樣的變形例。以下進(jìn)行說明。
(1)針對(duì)單位紋理的選擇方法的變形例(1):
圖8是表示變形例(1)中的單位紋理的選擇方法的說明圖。實(shí)施例中,使用了on圖像、off圖像這2種類的單位紋理,但變形例(1)中,使用示于右下的3種類的單位紋理。0圖像是2個(gè)窗熄燈的單位紋理。1圖像是左側(cè)熄燈、右側(cè)點(diǎn)燈的單位紋理。2圖像是2個(gè)窗點(diǎn)燈的單位紋理。
矩陣中,如上段所示,保存0、1、2這3個(gè)值。通過這樣操作,與實(shí)施例同樣,可根據(jù)矩陣的各像素,分開使用3種類的單位紋理而進(jìn)行配置。即,對(duì)保存0的控制值的像素配置0圖像,對(duì)保存1的控制值的像素配置1圖像,對(duì)保存2的控制值的像素配置2圖像即可。其結(jié)果是,如左下所示,可表現(xiàn)比實(shí)施例更多樣的點(diǎn)燈狀態(tài)。
準(zhǔn)備4種以上單位紋理的情況下,也可與變形例(1)同樣地進(jìn)行處理。
(2)針對(duì)單位紋理的選擇方法的變形例(2):
圖9是表示變形例(2)中的單位紋理的選擇方法的說明圖。該例子中,使用了on圖像、off圖像這2種類的單位紋理。但是,矩陣中并不是0、1這2個(gè)值的控制值,而是保存0~255的范圍的控制值、即比單位紋理的種類數(shù)更寬數(shù)值范圍的控制值??刂浦档姆秶扇我獾卦O(shè)定。
變形例(2)中,基于各像素中保存的控制值與閾值th的大小關(guān)系進(jìn)行on圖像、off圖像的選擇。即,控制值≤th時(shí)使用off圖像,控制值>th時(shí)使用on圖像。
下段對(duì)于閾值th=50的情況、150的情況顯示了結(jié)果。
閾值th=50的情況下,左下的像素p00的控制值為0,控制值≤th,所以選擇off圖像。右下的像素p10的控制值為96,控制值>th,所以選擇on圖像。同樣地,像素p01選擇off圖像,像素p11、p02、p12選擇on圖像。其結(jié)果是,閾值th=50的情況下,如左下所示獲得點(diǎn)燈狀態(tài)的窗較多的紋理。
接著,閾值th=150的情況下,如果同樣地選擇單位紋理,則像素p00、p10、p01、p12選擇off圖像,像素p11、p02選擇on圖像。其結(jié)果是,閾值th=100的情況下,如右下所示獲得熄燈狀態(tài)的窗較多的紋理。
如果采用如這樣的變形例(2),則即使是同樣的建筑物,也可通過改變閾值th,從而改變所得的紋理。閾值th可由用戶指定,也可根據(jù)顯示三維地圖的時(shí)刻等條件而改變。例如,如果在黃昏后等時(shí)刻采用閾值th=50,在深夜使用閾值th=150,則可表現(xiàn)與時(shí)域?qū)?yīng)的夜景。
在變形例(2)中,也可使用3種類以上的單位紋理。例如,像變形例(1)(圖8)那樣使用3種類的單位紋理(0圖像、1圖像、2圖像)的情況下,使用2個(gè)閾值th1、th2(th1<th2)即可??梢园凑湛刂浦怠躷h1的情況為0圖像、th1<控制值≤th2的情況為1圖像、th2<控制值的情況為2圖像的方式分開使用。該情況下,通過改變閾值th1、th2中的至少一方的值,從而可改變3種類的單位紋理的比例。
(3)針對(duì)單位紋理的配置方法的變形例:
圖10是表示作為變形例的單位紋理的配置方法的說明圖。該例子中,不是作為個(gè)別的圖像數(shù)據(jù)準(zhǔn)備單位紋理,而是作為排列成一個(gè)的整合紋理準(zhǔn)備。中段示出了整合紋理的例子。該例子中,一個(gè)圖像的上段配置晝用圖像,下段的左側(cè)配置夜用的off圖像,下段的右側(cè)配置夜用的on圖像。3個(gè)單位紋理無間隙地配置,但也可設(shè)置間隙。整合紋理的圖像的位置以整合紋理所定義的坐標(biāo)系(tu,tv)表示。
圖的上側(cè)示出了顯示晝景時(shí)的紋理的利用方法。建筑物的紋理定義了uv坐標(biāo)系。在建筑物上貼附晝用圖像,所以按照使晝用圖像的點(diǎn)tp3與作為配置單位的左下的點(diǎn)p3對(duì)應(yīng)、晝用圖像的點(diǎn)tp6與右上的點(diǎn)p6對(duì)應(yīng)的方式進(jìn)行坐標(biāo)變換。按照點(diǎn)p3在uv坐標(biāo)系為(0,0),點(diǎn)p6為(1,1),則點(diǎn)tp3的坐標(biāo)為(0,0),點(diǎn)tp6的坐標(biāo)為(1,1)的方式,將(tu,tv)的坐標(biāo)系平行移動(dòng)并放大/縮小即可。
圖的下側(cè)示出了顯示夜景時(shí)的紋理的利用方法。在建筑物上選擇并貼附off用圖像和on圖像,所以按照對(duì)于每個(gè)作為配置單位的區(qū)域,off圖像、on圖像的頂點(diǎn)對(duì)應(yīng)的方式進(jìn)行坐標(biāo)變換。如圖所示,考慮多邊形的最上段的左側(cè)貼附off圖像,右側(cè)貼附on圖像的情況。在左側(cè),按照off圖像的點(diǎn)tp1、tp4分別與點(diǎn)p1、p4對(duì)應(yīng)的方式進(jìn)行坐標(biāo)變換即可。這時(shí),需要按照所貼附的多邊形的點(diǎn)p1、p4也分別在uv坐標(biāo)系中為(0,0)、(1,1)的方式進(jìn)行坐標(biāo)變換。這是因?yàn)閡v坐標(biāo)超過1時(shí),與(0,0)、(1,1)的范圍對(duì)應(yīng)的紋理被重復(fù)適用。同樣地,在右側(cè),按照點(diǎn)p2、p5在uv坐標(biāo)系中為(0,0)、(1,1)的方式進(jìn)行坐標(biāo)變換的基礎(chǔ)上,按照這2點(diǎn)與on圖像的點(diǎn)tp2、tp5對(duì)應(yīng)的方式進(jìn)行坐標(biāo)變換即可。
通過像這樣按照要貼附的單位紋理的選擇結(jié)果,移動(dòng)在整合紋理中使用的部位,可獲得與實(shí)施例同樣的圖像。作為個(gè)別的圖像保存單位紋理的情況下,需要每次根據(jù)選擇結(jié)果讀入單位紋理,相對(duì)而言,如果采用變形例的方法,則只要讀入整合紋理,在生成紋理的處理中就不需要進(jìn)行新的紋理的讀入,因此可進(jìn)一步實(shí)現(xiàn)處理的高速化。
該變形例中,也可在夜用中使用3種類以上的單位紋理。
以上,示出了本實(shí)施例的各種變形例。對(duì)于本發(fā)明,并不僅限于這里記載的實(shí)施例和變形例,還可構(gòu)成各種各樣的變形例。
工業(yè)上的可利用性
本發(fā)明可用于生成表示地物外觀的紋理。