專利名稱:一種3維地圖的實現(xiàn)方法及裝置的制作方法
技術領域:
本發(fā)明涉及一種導航技術領域,尤其涉及一種3維地圖的實現(xiàn)方法及裝置。
背景技術:
目前,導航領域內應用的電子地圖較常見的為2維地圖,2維地圖中的所有元素 (如道路,河流等)都在一個平面(簡稱地圖平面)上,沒有高度差別。如圖1所示,在繪制2維地圖的時候,是在地圖平面11的中心點13上空位置往下看的,即視點12(即人眼)與中心點13的連線與地圖平面是垂直的。因此,2維地圖無法提供元素的遠近、大小等區(qū)別,不具有3維效果,視覺效果不好。
發(fā)明內容
本發(fā)明的目的是提供一種3維地圖的實現(xiàn)方法及裝置,對2維地圖實現(xiàn)3維的視覺效果。本發(fā)明的目的是通過以下技術方案實現(xiàn)的一種3維地圖的實現(xiàn)方法,包括2維地圖的地圖平面的中心點與視點之間連線垂直于所述地圖平面,旋轉所述地圖平面,使旋轉后的所述地圖平面與所述連線之間夾角為預定角度;將旋轉后的所述地圖平面包含的點投影到投影平面獲得3維地圖,所述投影平面位于所述地圖平面與所述視點之間且所述投影平面的中心點與所述視點之間連線垂直于所述投影平面。一種3維地圖的實現(xiàn)裝置,包括旋轉單元,用于2維地圖的地圖平面的中心點與視點之間連線垂直于所述地圖平面,旋轉所述地圖平面,使旋轉后的所述地圖平面與所述連線之間夾角為預定角度;投影單元,用于將所述旋轉單元旋轉后的所述地圖平面包含的點投影到投影平面獲得3維地圖,所述投影平面位于所述地圖平面與所述視點之間且所述投影平面的中心點與所述視點之間連線垂直于所述投影平面。由上述本發(fā)明提供的技術方案可以看出,旋轉2維地圖的地圖平面,將旋轉后的地圖平面包含的點投影到投影平面獲得3維地圖,從而對2維地圖實現(xiàn)3維的視覺效果。
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域的普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。圖1為現(xiàn)有技術中2維地圖示意圖。
4
圖2為本發(fā)明實施例提供的3維地圖的實現(xiàn)方法流程示意圖。圖3為本發(fā)明實施例提供的3維地圖的實現(xiàn)方法中地圖旋轉示意圖。圖4為本發(fā)明實施例提供的3維地圖的實現(xiàn)方法中地圖投影示意圖。圖5為本發(fā)明實施例提供的3維地圖的實現(xiàn)裝置構成示意圖一。圖6為本發(fā)明實施例提供的3維地圖的實現(xiàn)裝置構成示意圖二。
具體實施例方式下面結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。下面將結合附圖對本發(fā)明實施例提供進一步地詳細描述。如圖2所示,本發(fā)明實施例提供一種3維地圖的實現(xiàn)方法,包括21、2維地圖的地圖平面的中心點與視點之間連線垂直于地圖平面,旋轉地圖平面,使旋轉后的地圖平面與連線之間夾角為預定角度。22、將旋轉后的地圖平面包含的點投影到投影平面獲得3維地圖,投影平面位于地圖平面與視點之間且投影平面的中心點與視點之間連線垂直于投影平面。由上述本發(fā)明提供的技術方案可以看出,旋轉2維地圖的地圖平面,將旋轉預定角度后的地圖平面包含的點投影到投影平面獲得3維地圖,從而對2維地圖實現(xiàn)3維的視覺效果??蛇x的,在步驟21旋轉地圖平面,使旋轉后的地圖平面與連線之間夾角為預定角度,可以包括根據(jù)需要設置預定角度,旋轉地圖平面使旋轉后的地圖平面與連線之間夾角為預定角度??蛇x的,在步驟21旋轉地圖平面之前,本發(fā)明實施例3維地圖的實現(xiàn)方法還可以包括以視點為坐標原點建立三維坐標系,三維坐標系包括擁有共同原點且彼此相互正交的X軸,Y軸,Z軸,在三維坐標系下,X,Y,Z分別為X軸的坐標值,Y軸的坐標值,Z軸的坐標值。示例性的,如圖3所示,以視點31為坐標原點建立三維坐標系,三維坐標系包括擁有共同原點且彼此相互正交的X軸,Y軸,Z軸。雖然圖3中沒有示意出X軸,但是本領域技術人員可以根據(jù)Y軸,Z軸確定出X軸。在所述三維坐標系下,X,Y,Z分別為X軸的坐標值,Y軸的坐標值,Z軸的坐標值,視點的坐標為(0,0,0)。示例性的,圖3中,旋轉2維地圖的地圖平面32之前,視點31與地圖平面32的中心點33的連線垂直于地圖平面32,且地圖平面32垂直于Z軸,地圖平面32上的點離視點 31的距離相同。2維地圖的地圖平面32旋轉預定角度,旋轉后的地圖平面32不再與Z軸垂直,則地圖平面32上的點離視點31的距離不再相同,因此產(chǎn)生了遠近的現(xiàn)象,形成了 3 維地圖效果。同時,地圖平面32旋轉預定角度后,視點的視線可以看到更遠處的地圖,即旋轉的角度越大,可以看到的地方越遠。
但是二維屏幕只能顯示二維效果,則利用在視點與地圖平面之間有一個與Z軸垂直的二維窗口,把這個二維窗口看成是二維屏幕,視點的視線通過這個二維窗口去看旋轉后的地圖平面,視點的視線所看到的即為3維地圖效果。因此,可以將二維窗口作為投影平面,將旋轉后的地圖平面包含的點投影到投影平面獲得3維地圖效果,也就是根據(jù)旋轉后的地圖平面上的點坐標計算出對應的二維屏幕坐標。圖3中,投影平面垂34直于Z軸,位于視點31和地圖平面32之間且視點31與投影平面34的中心點的連線垂直于投影平面34,投影平面34上的點離視點31的距離相同。具體的,步驟22將旋轉后的地圖平面包含的點投影到投影平面獲得3維地圖,可以包括通過旋轉后的地圖平面包含的點坐標獲得投影平面上的投影點坐標,其中,根據(jù)視點與旋轉預定角度后的地圖平面包含的點之間的連接線,確定連接線與投影平面的交點為旋轉預定角度后的地圖平面包含的點投影到投影平面上的投影點。進一步的,通過旋轉后的地圖平面包含的點坐標獲得投影平面上的投影點坐標, 可以包括獲取旋轉后的地圖平面上的第一點的坐標值(Xm,Ym, Zm)。當投影平面垂直于Z軸時,獲取投影平面的Z軸坐標值h。當?shù)谝稽c的投影點為第二點,根據(jù)k/h = Ym/Zm,得到第二點的Y軸坐標值^ = Ym * Zs/Sn,且根據(jù)Xs/Zs = Xm/Zm,得到第二點的X軸坐標值Xs = Xm * Zs/Zm0其中,可以根據(jù)地圖平面旋轉之前第一點的坐標值,以及預定旋轉角度,計算獲得地圖平面旋轉后第一點的坐標值(Xm,Ym, Zm)。示例性的,下面如圖4所示,說明通過旋轉后的地圖平面上的點坐標獲得投影平面上的投影點坐標旋轉后的地圖平面32上的第一點(Xm,Ym,Zm),第一點(Xm,Ym,Zm)投影到投影平面34得到第二點(Xs,Ys,h),根據(jù)線段比例關系,可以看出Ys/Zs = Ym/Zm, Xs/Zs = Xm/Zm由于投影平面34垂直于Z軸,投影平面34上的所有投影點的Z軸坐標值均相同, 且等于投影平面34的Z軸坐標值,如均等于&。根據(jù)Ys/Zs = Ym/Zm,得到 Ys = Ym * Zs/Zm,且根據(jù) Xs/Zs = Xm/Zm,得到 Xs = Xm ~k Zs/Zm??梢灾?,上述公式僅僅是以投影平面垂直于Z軸為例,根據(jù)上述公式,可以擴展得到地圖平面上的點坐標計算投影平面坐標的關系式,在此不作贅述??蛇x的,步驟22將旋轉后的地圖平面包含的點投影到投影平面獲得3維地圖,還可以包括通過旋轉后的地圖平面包含的線段寬度獲得投影平面上的投影線段寬度。進一步的,通過旋轉后的地圖平面包含的線段寬度獲得投影平面上的投影線段寬度,可以包括獲取旋轉后的地圖平面上第一線段的Z軸坐標值Znear,以及第一線段寬度W。當投影平面垂直于Z軸時,獲取投影平面的Z軸坐標值&。根據(jù)Wl =W* h/Znear,得到第一線段投影到投影平面后的投影線段寬度W1,當 Siear越小時,Wl越大。
示例性的,下面以地圖平面上2條相同寬度的線段,說明地圖平面繞視點旋轉后, 在投影平面上,離視點近的線段會比離視點遠的線段的寬地圖平面上第一線段寬度W,地圖平面旋轉后,第一線段的Z軸坐標值Siear。地圖平面上第二線段寬度W,即第一線段與第二線段2條相同寬度的線段,地圖平面旋轉后,第二線段的Z軸坐標值Zfar。第一線段投影到投影平面后的投影線段寬度Wl = W * h/Znear,第二線段投影到投影平面后的投影線段寬度W2 =W* Zs/Zfar0當 Znear < Zfar 時,則 Wl > W2??梢?,地圖平面上2條相同寬度的線段,在投影平面上看起來,近處的會比遠處的要寬。同理,相同大小的物體,透視投影后則近處的會比遠處的要大。如圖5所示,對應于上述實施例的3維地圖的實現(xiàn)方法,本發(fā)明實施例提供一種3 維地圖的實現(xiàn)裝置,包括旋轉單元51,用于2維地圖的地圖平面的中心點與視點之間連線垂直于地圖平面,旋轉地圖平面,使旋轉后的地圖平面與連線之間夾角為預定角度。投影單元52,用于將旋轉單元51旋轉后的地圖平面包含的點投影到投影平面獲得3維地圖,投影平面位于地圖平面與視點之間且投影平面的中心點與視點之間連線垂直于投影平面。由上述本發(fā)明提供的技術方案可以看出,旋轉2維地圖的地圖平面,將旋轉后的地圖平面包含的點投影到投影平面獲得3維地圖,從而對2維地圖實現(xiàn)3維的視覺效果??蛇x的,如圖6所示,本發(fā)明實施例3維地圖的實現(xiàn)裝置,還可以包括建立單元61,用于以視點為坐標原點建立三維坐標系,三維坐標系包括擁有共同原點且彼此相互正交的X軸,Y軸,Z軸,在三維坐標系下,X,Y,Z分別為X軸的坐標值,Y軸的坐標值,Z軸的坐標值。示例性的,參見圖3所示,建立單元61以視點為坐標原點建立三維坐標系,地圖平面32旋轉之前垂直于Z軸,投影平面34垂直于Z軸,相同內容在此不在展開描述??梢?, 2維地圖的地圖平面旋轉了一定角度,地圖平面不再與Z軸垂直,則地圖平面上的點離視點的距離不再相同,因此產(chǎn)生了遠近的現(xiàn)象,形成了 3維地圖效果。將地圖平面包含的點投影到投影平面獲得3維地圖,也就是根據(jù)地圖平面上的點坐標計算出對應的二維屏幕坐標。具體的,投影單元52,可以用于通過旋轉后的地圖平面包含的點坐標獲得投影平面上的投影點坐標,其中,投影平面上的投影點為根據(jù)視點與旋轉后的地圖平面包含的點之間的連接線,確定連接線與投影平面的交點為旋轉后的地圖平面包含的點投影到投影平面上的投影點。如圖6所示,投影單元52,可以包括第一投影子單元62,用于獲取旋轉后的地圖平面上的第一點的坐標值(Xm,Ym, Zm),當投影平面垂直于所述Z軸時,獲取投影平面的Z軸坐標值Zs,當?shù)谝稽c的投影點為第二點,根據(jù)\條=Ym/Zm,得到第二點的Y軸坐標值k = Ym * Zs/Zm,且根據(jù)Xs/h = Xm/Sn,得到第二點的X軸坐標值Xs =伽* Zs/Sn。示例性的,參見圖4所示,下面說明通過旋轉后的地圖平面上的點坐標獲得投影平面上的投影點坐標
旋轉后的地圖平面32上的第一點(Xm,Ym,Zm),第一點(Xm,Ym,Zm)投影到投影平面34得到第二點(Xs,Ys,h),根據(jù)線段比例關系,可以看出Ys/Zs = Ym/Zm, Xs/Zs = Xm/Zm由于投影平面34垂直于Z軸,投影平面34上的所有投影點的Z軸坐標值均相同, 且等于投影平面34的Z軸坐標值,如均等于&。從而,第一投影子單元62根據(jù)=Ym/Zm,得到k = Ym * Zs/Zm,且根據(jù)Xs/ Zs = Xm/Zm,得至Ij Xs = Xm * Zs/Zm??梢姡梢酝ㄟ^旋轉后的地圖平面上的點坐標計算投影平面上的投影點坐標??蛇x的,投影單元52,還可以包括第二投影子單元63,用于獲取旋轉后的地圖平面上第一線段的Z軸坐標值Znear, 以及第一線段寬度W,當投影平面垂直于Z軸時,獲取投影平面的Z軸坐標值h,根據(jù)Wl = W女h/znear,得到第一線段投影到投影平面后的投影線段寬度W1,當Siear越小時,Wl越大。示例性的,下面以地圖平面上2條相同寬度的線段,說明地圖平面旋轉后,在投影平面上,離視點近的線段會比離視點遠的線段的寬地圖平面上第一線段寬度W,地圖平面旋轉后,第一線段的Z軸坐標值Siear。地圖平面上第二線段寬度W,即第一線段與第二線段2條相同寬度的線段,地圖平面點旋轉后,第二線段的Z軸坐標值Zfar。從而,第二投影子單元63獲得第一線段投影到投影平面后的投影線段寬度Wl = W女h/Znear,獲得第二線段投影到投影平面后的投影線段寬度W2 =W* Zs/Zfar。
當 Znear < Zfar 時,貝Ij Wl > W2??梢?,地圖平面上2條相同寬度的線段,在投影平面上看起來,近處的會比遠處的要寬。同理,相同大小的物體,透視投影后則近處的會比遠處的要大。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形
8式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。 以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發(fā)明披露的技術范圍內,可輕易想到的變化或替換, 都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求書的保護范圍為準。
權利要求
1.一種3維地圖的實現(xiàn)方法,其特征在于,包括2維地圖的地圖平面的中心點與視點之間連線垂直于所述地圖平面,旋轉所述地圖平面,使旋轉后的所述地圖平面與所述連線之間夾角為預定角度;將旋轉后的所述地圖平面包含的點投影到投影平面獲得3維地圖,所述投影平面位于所述地圖平面與所述視點之間且所述投影平面的中心點與所述視點之間連線垂直于所述投影平面。
2.根據(jù)權利要求1所述的實現(xiàn)方法,其特征在于,所述將旋轉后的所述地圖平面包含的點投影到投影平面獲得3維地圖,包括通過旋轉后的所述地圖平面包含的點坐標獲得所述投影平面上的投影點坐標,其中, 根據(jù)所述視點與旋轉后的所述地圖平面包含的點之間的連接線,確定所述連接線與所述投影平面的交點為旋轉后的所述地圖平面包含的點投影到投影平面上的投影點。
3.根據(jù)權利要求2所述的實現(xiàn)方法,其特征在于,所述旋轉所述地圖平面之前,所述方法還包括以所述視點為坐標原點建立三維坐標系,所述三維坐標系包括擁有共同原點且彼此相互正交的X軸,Y軸,Z軸,在所述三維坐標系下,X,Y,Z分別為所述X軸的坐標值,所述Y軸的坐標值,所述Z軸的坐標值。
4.根據(jù)權利要求3所述的實現(xiàn)方法,其特征在于,所述通過旋轉后的所述地圖平面包含的點坐標獲得所述投影平面上的投影點坐標,包括獲取旋轉后的所述地圖平面上的第一點的坐標值(Xm,Ym,Zm);當所述投影平面垂直于所述Z軸時,獲取所述投影平面的Z軸坐標值^ ;當所述第一點的投影點為第二點,根據(jù)YsAs = YmAm,得到所述第二點的Y軸坐標值 Ys = Ym Zs/Sn,且根據(jù)XsAs = Xm/Sn,得到所述第二點的X軸坐標值Xs = Xm Zs/Zm0
5.根據(jù)權利要求3所述的實現(xiàn)方法,其特征在于,所述旋轉后的所述地圖平面包含的點投影到投影平面獲得3維地圖,還包括通過旋轉后的所述地圖平面包含的線段寬度獲得所述投影平面上的投影線段寬度,具體包括獲取旋轉后的所述地圖平面上第一線段的Z軸坐標值Znear,以及所述第一線段寬度W ;當所述投影平面垂直于所述Z軸時,獲取所述投影平面的Z軸坐標值^ ;根據(jù)Wl =W* h/Znear,得到所述第一線段投影到所述投影平面后的投影線段寬度 Wl,當所述Znear越小時,所述Wl越大。
6.一種3維地圖的實現(xiàn)裝置,其特征在于,包括旋轉單元,用于2維地圖的地圖平面的中心點與視點之間連線垂直于所述地圖平面, 旋轉所述地圖平面,使旋轉后的所述地圖平面與所述連線之間夾角為預定角度;投影單元,用于將所述旋轉單元旋轉后的所述地圖平面包含的點投影到投影平面獲得 3維地圖,所述投影平面位于所述地圖平面與所述視點之間且所述投影平面的中心點與所述視點之間連線垂直于所述投影平面。
7.根據(jù)權利要求6所述的實現(xiàn)裝置,其特征在于,所述投影單元包括第一投影子單元,用于通過旋轉后的所述地圖平面包含的點坐標獲得所述投影平面上的投影點坐標,其中,根據(jù)所述視點與旋轉后的所述地圖平面包含的點之間的連接線,確定所述連接線與所述投影平面的交點為旋轉預定角度后的地圖平面包含的點投影到投影平面上的投影點。
8.根據(jù)權利要求7所述的實現(xiàn)裝置,其特征在于,所述裝置還包括建立單元,用于以所述視點為坐標原點建立三維坐標系,所述三維坐標系包括擁有共同原點且彼此相互正交的X軸,Y軸,Z軸,在所述三維坐標系下,X,Y,Z分別為所述X軸的坐標值,所述Y軸的坐標值,所述Z軸的坐標值。
9.根據(jù)權利要求8所述的實現(xiàn)裝置,其特征在于,所述投影子單元,具體用于獲取旋轉后的所述地圖平面上的第一點的坐標值(Xm,Ym, Zm),當所述投影平面垂直于所述Z軸時, 獲取所述投影平面的Z軸坐標值Zs,當所述第一點的投影點為第二點,根據(jù)YsAs = Ym/ Zm,得到所述第二點的Y軸坐標值k = Ym * Zs/Zm,且根據(jù)Xs/h = Xm/Zm,得到所述第二點的X軸坐標值Xs =伽* ZsAm。
10.根據(jù)權利要求8所述的實現(xiàn)裝置,其特征在于,所述投影單元還包括第二投影子單元,用于獲取旋轉后的所述地圖平面上第一線段的Z軸坐標值Znear,以及所述第一線段寬度W,當所述投影平面垂直于所述Z軸時,獲取所述投影平面的Z軸坐標值^,根據(jù)Wl = W * h/Znear,得到所述第一線段投影到所述投影平面后的投影線段寬度 Wl,當所述Znear越小時,所述Wl越大。
全文摘要
本發(fā)明公開了一種3維地圖的實現(xiàn)方法及裝置,其中,3維地圖的實現(xiàn)方法包括2維地圖的地圖平面的中心點與視點之間連線垂直于所述地圖平面,旋轉所述地圖平面,使旋轉后的所述地圖平面與所述連線之間夾角為預定角度;將旋轉后的所述地圖平面包含的點投影到投影平面獲得3維地圖,所述投影平面位于所述地圖平面與所述視點之間且所述投影平面的中心點與所述視點之間連線垂直于所述投影平面。旋轉2維地圖的地圖平面,將旋轉后的地圖平面包含的點投影到投影平面獲得3維地圖,從而對2維地圖實現(xiàn)3維的視覺效果。
文檔編號G06T17/05GK102184571SQ20111012929
公開日2011年9月14日 申請日期2011年5月18日 優(yōu)先權日2011年5月18日
發(fā)明者張文星 申請人:深圳市凱立德科技股份有限公司