專利名稱:一種地球儀三維投影生成方案的制作方法
技術領域:
本發(fā)明涉及二維圖形到三維圖形的三維球坐標變換,通過適當的投影算法和數據結構對 Bezier曲線文字進行準確讀取和離散。這樣可以把二維矢量圖形中的大量文字和標志投影到 一個制定的三維球面上,生成三維地球儀。
背景技術:
目前地球儀的三維圖形生成,是通過計算二維圖形的曲線和文字的終點,把這些終點通 過計算生成三維坐標,然后把該坐標刻在三維球上, 一般情況下, 一個熟練的操作人員要實 現一個簡單的投影和刻畫工作需要兩到三個月的時間。這種計算方法不僅速度很慢浪費時間,
而且計算過程設計大量的計算,很容易出錯,特別是對數據的處理不能夠精確化,僅僅對文 字的終點進行投影,也很容易導致投影的變形和失真,這不符合設計要求。而當前計算系統(tǒng) 的發(fā)達和設計語言的表達已經發(fā)展的很完善,使得該問題能夠通過離散處理,達到很好的仿 真效果,這也大大提高了工作效率。
發(fā)明內容
為了解決現當前二維矢量圖生成三維球形圖需要處理大量數據且容易失真的問題,本發(fā) 明提供一種新的設計方案,該方案能夠對所有二維圖中可以識別的曲線和文字進行處理,通 過建立一個固定的結構體存儲Bezier的數據,然后對數據進行投影算法上的處理,得到三維 球坐標中的點,通過這些點生成新的曲線,這些曲線就是三維圖中的文字,通過投影過程中 的比例控制可以輕松實現文字的大小的控制。同時提供了若干可以選擇的文字顏色,對這些 標記進行識別。
本發(fā)明解決其技術問題所采用的技術方案是首先對所有需要投影的文字進行識別,一 般二維的圖形文字都是采用Bezier曲線的方式表示的。這個設計者可以進行框選也可以進行 反選。選擇以后計算所有的文字曲線長度,根據用戶提供的精度要求,進行離散化的處理, 一般建議lmm為基準,也即對于每一個曲線都分成若干段以后,分別經過后續(xù)操作,讀取曲線 數據進行存儲,這里涉及一個海量數據的問題,因為地球儀中存在著大量的文字,對于每一 個文字又要離散處理,若是采用數組的存儲方式會導致系統(tǒng)的崩潰,因為系統(tǒng)無法實現一次 分配大量的空間。若是采用讀取一個文字分配一次空間的方式又會導致死循環(huán)。這樣,該方 案選擇采用了堆棧的空間, 一次可以分配大量的空間用于存儲,同時采用對新生成的文字添 加了相應的屬性用于識別,從而避免了死循環(huán)。對這些數據存儲以后,需要根據已有的投影 算法進行計算。得到三維坐標,生成三維空間點,然后對這些點進行逐個連接,生成三維文 字。在生成的過程中,會根據設計者提供的字型的大小,進行適當的放大和縮小,這也有球形的半徑決定,最后確定各個字體的顏色,生成于球形的表面。
本實用新型的有益效果是,可以對地球儀的大量文字進行集中快速處理,避免了設計者 的大量的復雜的計算和投影工作。大大簡化了操作,提高了工作效率。同時地球儀的文字可 以控制大小和顏色等,這也為設計者提供了更多的選擇。
下面結合附圖和實施例對本實用新型進一步說明。 圖1是地球儀三維文字生成方案原理圖。 圖2是該解決方案的用戶界面圖 圖3是需要投影的二維矢量圖。 圖4是投影以后的到的效果圖。
具體實施例方式
圖l是該方案的工作原理,文字識別是作為系統(tǒng)工作的第一步,也是系統(tǒng)工作的最后結果。但 是區(qū)別在于后者具有自己的投影的屬性。這一步是決定是否進行投影。對于非投影文字則需 要重新識別其他曲線。對于需要投影的部分計算曲線的長度,由設計者提供精度要求,這樣 的結果會更趨于真實,因為整個的生成方式采用的是直線逼近的方式。對于不需要離散處理 的曲線直接讀取終點數據即可。然后建立Bezier曲線的存儲結構體,通過該結構體存儲所有 點的數據用于后來生成。然后是讀取數據用于生成曲線。投影公式是-<formula>formula see original document page 4</formula>
然后直接連接相應點生成最后的文字。最后可以根據設計者的要求對字體進行相應的設置和 處理,這里設置以后會有球形比例的變化。
在圖2所示用戶界面中,提供了三個控件。設計者可以根據自己的要求輸入和選擇,這 里的投影半徑系統(tǒng)會根據二維圖的最大直線(經度或者緯度)得到。這里也可以直接進行輸入。字體的大小和直徑有一定的關系,直徑變大以后字體大小會有相應的變化,設計者也可 以根據需要輸入需要的字體。這個需要建立在一定的范圍內。字體的顏色可以通過下拉框進 行選擇,系統(tǒng)默認的是字體黑色。
圖3是一個二維地球儀的北半球部分,可以看出包括地理上的曲線以外還有很多的說明 文字,這些文字和地理標記都是Bezier曲線,同時這里有相應的經度和緯度線,根據這些線 的長度可以確定球形的直徑。相應的直線需要離散化。這里的曲線顏色也有三種,紅色(國 家疆域界限和本初子午線)、藍色(海洋邊界和島嶼邊界)和白色(陸地高原山脈等分界線), 這些顏色可以進行識別,并且分別生成。這樣保證了生成前后的一致性,以便于設計者進行 識別。
圖4是最后生成的3D效果圖,這里也是為了設計者進行對比,把二維圖導入該3D圖中。 這里北半球的海洋和陸地分分界線可以清楚的表示出來。稍微細小一點的陸地國家之間等的 邊界也能有效顯示,文字說明能夠較好的接近真實情況,沒有出現失真的問題。所有的文字 和曲線統(tǒng)一根據設計者的要求進行了處理,這樣該方案在高效率的情況下實現了精確的可對 比性。
權利要求
1.一種地球儀三維投影生成方案,用于對二維圖的快速處理,通過投影算法生成三維圖形,其特征是可以控制精度,準確性好,生成效率高。
2. 根據權利要求1所述的生成方法,其特征是可以控制精度。由于在生成過 程中對二維曲線的數據讀取采用結構體的方式,對數據進行堆棧分配空間, 可以存儲大量數據,因此可以根絕用戶要求控制曲線離散化的長度,可以生 成不同效果的三維圖形。
3. 根據權利要求1所述的生成方法,其特征是準確性好。由于該方案對數據 進行了集中處理,集中存儲,集中生成,算法中堆數據的精度控制的較為嚴 格,所以對于大量的數據問題進行了模塊化解決,從而實現了生成過程的準 確性。
4. 根據權利要求1所述的分割方案,其特征是生成效率高。本系統(tǒng)對海量數 據的存儲沒有采用普通的數組分配方案,二是采用了利用系統(tǒng)的堆??臻g較 大,而且分配較快,所以通過該方法提高了工作效率。
全文摘要
該設計方案,主要實現類似地球儀性質的2D圖自動投影生成3D圖形,并且實現2D到3D的自動導入;投影方案是按照球坐標,以二維圖的原點作為生成極點,對所有的曲線進行讀取,按照標準的結構體進行存儲。然后根據曲線長度進行離散化處理和分析,通過投影計算得到三維坐標,最后生成三維曲線,同時把二維圖導入作為參考。這種方式主要實現了Bezier曲線的數據的標準化讀取、存儲、離散化、投影生成和連接。從而使的大量復雜的數據運算標準化和簡單化。
文檔編號G06T17/05GK101577014SQ20081004763
公開日2009年11月11日 申請日期2008年5月9日 優(yōu)先權日2008年5月9日
發(fā)明者彬 王 申請人:彬 王