新四季網

一種不等高度的三維立體餅圖的繪製方法及系統的製作方法

2023-05-04 00:32:56 1

一種不等高度的三維立體餅圖的繪製方法及系統的製作方法
【專利摘要】本發明涉及一種不等高度的三維立體餅圖的繪製方法及系統,屬於計算機圖像處理【技術領域】。本發明所述方法包括以下步驟:(1)獲取各統計分量的數值,以便確定各餅對象的繪製角度;(2)依據第一步的計算結果,計算每一個餅對象的繪製起始角度、終止角度及高度;(3)找到所有繪製角度範圍跨越90度以及270度的餅對象,用一條垂直分割線將其在90度和270度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於90度或270度,則該對象不必分割;(4)重新調整各個餅對象的繪製順序並進行繪製。採用本發明所述的方法和系統可以方便地實現不等高度的立體三維餅圖的正確繪製,包括處理各個餅之間的壓蓋關係。
【專利說明】一種不等高度的三維立體餅圖的繪製方法及系統
【技術領域】
[0001]本發明屬於計算機圖像處理【技術領域】,具體涉及一種不等高度的三維立體餅圖的繪製方法及系統。
【背景技術】
[0002]通過計算機進行餅圖繪製是很多GIS (地理信息系統,Geographic InformationSystem)軟體及圖表繪製軟體中的常用功能。目前大部分GIS及圖表系統通常提供簡單餅圖、立體餅圖的繪製功能,其通常以角度表示各專題分量的比例關係,如圖1所示。
[0003]無論是簡單餅圖還是立體餅圖,其只能展現一個統計分量,例如每一個地區的鋼產量之間的比例關係。而當存在第二個統計分量需要在餅圖中展現時,傳統的餅圖形式無法將其同時展現出來。此時,我們可以對餅圖中每一部分的採用不同的半徑或不同的高度進行展現,這樣,就可以在一個餅圖中表現更多的統計分量。如圖2所示,圖2顯示了一個不等高度的複雜三維餅圖,其可以表現兩個統計分量的佔比情況。
[0004]目前提供這種不等高度的複雜三維餅圖繪製功能的軟體比較少,並且其基於二維繪製API (如Windows⑶I,⑶I+等)繪製過程也非常複雜,不但需要繪製每一個餅的立體效果,還要考慮到各個餅之間的壓蓋關係,確定各個餅的繪製先後順序,並設置正確的繪製裁剪區域。
[0005]在現有的餅圖繪製技術中,已經實現了簡單餅圖(平麵餅圖)以及普通立體餅圖的繪製,各種常見的GIS軟體及圖表繪製軟體基本都提供了相關的功能。目前大部分軟體主要基於二維繪製接口(如Windows平臺的⑶I,⑶I+等)實現對餅圖的繪製,其重點是利用繪製API提供的裁剪區功能,在每一個餅對象繪製完成後,修改當前裁剪區。以普通立體餅圖的繪製過程為例,其通常分為以下幾個步驟:
[0006]1.獲取各統計分量的數值
[0007]2.計算各餅應佔的角度範圍
[0008]3.繪製每一個餅對象,繪製完成後,根據該餅對象的角度跨度,確定該餅對象不可覆蓋的屏幕區域,並相應修改繪製裁剪區,以便下一個餅對象繪製的時候不會覆蓋此區域。
[0009]在確定裁剪區域時,考慮的主要有餅對象的頂面、外圓側面、內徑側面。由於各個餅對象的高度一致,因此餅的頂面不存在覆蓋的情況,僅需處理外圓側面及內徑側面的覆蓋情況,每一個餅對象繪製時主要考慮其內徑側面是否需要加入到繪製裁剪區即可,處理比較簡單。
[0010]現有的普通三維立體餅圖的繪製方法適用於各個餅對象等高度的情況,此時很容易決定每一個餅對象不可覆蓋的屏幕區域,從而正確設置裁剪區。而當每一個餅高度不等時,此時餅的頂面可能被其它餅對象的頂面或側面遮蓋,而由於每一個餅對象的側面存在部分遮蓋的情況,此時裁剪區的計算非常複雜。以圖3為例:當「I」先繪製時,如果不設置裁剪區,則「2」繪製時會遮蓋「I」所在區域,但如果將「I」的內徑側面加入裁剪區,則「4」繪製時又無法覆蓋「 I 」的底部區域。[0011]此時要正確計算「I」繪製後應扣除的裁剪區域相當困難,因為「3」對象如果角度增大到一定程度後,其同樣會覆蓋「I」的側面區域,如圖4所示。
[0012]此時要正確繪製三維立體餅圖,必須在三維空間中計算對象「I」的不規則裁剪區,而這一過程對於大部分傳統的基於二維繪製接口的程序過於複雜而難以實現。

【發明內容】

[0013]針對現有技術中存在的缺陷,本發明的目的是提供一種簡便易行的不等高度的三維立體餅圖的繪製方法及系統。該方法和系統不必進行三維空間下的裁剪區複雜計算,即可實現任意不等高度立體餅圖的正確繪製。
[0014]為達到以上目的,本發明採用的技術方案是:一種不等高度的三維立體餅圖的繪製方法,包括以下步驟:
[0015](I)獲取各統計分量的數值,以便確定各餅對象的繪製角度;
[0016](2)依據第一步的計算結果,計算每一個餅對象的繪製起始角度、終止角度及高度;
[0017](3)找到所有繪製角度範圍跨越設定角度的餅對象,用一條分割線將其在該角度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於該角度,則該對象不必分割;
[0018](4)重新調整各個餅對象的繪製順序並進行繪製。
[0019]進一步,步驟(3)中,所述的設定角度為90度以及270度,用一條垂直分割線將繪製角度範圍跨越90度和270度的餅對象在90度和270度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於90度或270度,則該對象不必分割。
[0020]進一步,步驟(4)中,重新調整各個餅對象的繪製順序並進行繪製的方法如下:在垂直分割線左右兩側都按照從上到下的順序進行繪製,按照此繪製順序,在繪製的時候無需調整裁剪區。
[0021]一種不等高度的三維立體餅圖的繪製系統,包括以下裝置:。
[0022]各統計分量獲取模塊,用於獲取各統計分量的數值,以便確定各餅對象的繪製角度;
[0023]計算模塊,用於依據第一步的計算結果,計算每一個餅對象的繪製起始角度、終止角度及高度;
[0024]分割模塊,用於找到所有繪製角度範圍跨越設定角度的餅對象,用一條垂直分割線將其在該角度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於該角度,則該對象不必分割;
[0025]繪製模塊,用於重新調整各個餅對象的繪製順序並進行繪製。
[0026]進一步,所述的設定角度為90度以及270度,分割模塊用一條垂直分割線將繪製角度範圍跨越90度和270度的餅對象在90度和270度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於90度或270度,則該對象不必分割。
[0027]進一步,所述的繪製模塊在分割線左右兩側都按照從上到下的順序進行繪製。
[0028]本發明的效果在於:採用本發明所述的方法及系統,大大簡化了不等高度三維立體餅圖的繪製方法,解決了其繪製過程中對各種高度、角度的餅對象之間相互壓蓋導致的裁剪區計算的複雜性。對於目前各種基於二維繪製API技術開發的GIS、圖表製作軟體繪製這種複雜餅圖具有很大幫助。
【專利附圖】

【附圖說明】
[0029]圖1是二維餅圖示例;
[0030]圖2是三維立體餅圖示例一;
[0031]圖3是三維立體餅圖示例二 ;
[0032]圖4是三維立體餅圖示例三;
[0033]圖5是本發明所述一種不等高度的三維立體餅圖的繪製方法的原理圖;
[0034]圖6是本發明所述方法一種【具體實施方式】的流程圖;
[0035]圖7是本發明所述系統的結構圖。
【具體實施方式】
[0036]下面結合附圖和【具體實施方式】對本發明作進一步描述。
[0037]本發明基於二維繪製API,針對這種不等高度的複雜三維餅圖的繪製給出了一種非常簡單的方法,基於此方法可以方便地實現不等高度的立體三維餅圖的正確繪製,包括處理各個餅之間的壓蓋關係。
[0038]通過對不等高度三維立體餅圖中各餅的覆蓋關係進行深入研究,發現如果僅依靠裁剪區實現繪製功能過於複雜,必須對每一個餅的繪製順序進行調整,如此可簡化裁剪區計算的複雜性。但是每一個餅對象其在四個象限分布的情況是任意的,一個餅對象可能跨越一個、兩個甚至三個象限,加上其高度的任意變化影響遮蓋關係,因此要確定餅的正確繪製順序同樣非常複雜。再進一步分析,確定餅對象的繪製順序主要困難在於其跨越象限的問題,而關鍵的跨越象限影響,出現在從第一到第二象限以及從第三象限到第四象限。
[0039]經過研究,本發明提出了不等高度的三維立體餅圖簡要繪製方法,其關鍵思想如圖5所示。
[0040]1.利用一條垂直線,將跨越一、二象限以及跨越三、四象限的餅對象分割為兩半,經過此分割後,每一個餅對象的繪製順序判斷大大簡化;
[0041]2.在垂直分割基礎上,調整餅對象的繪製順序,從而大大簡化繪製裁剪區的計算複雜性。
[0042]如圖6所示,一種不等高度的三維立體餅圖的繪製方法,包括以下步驟:
[0043](I)獲取各統計分量的數值,以便確定各餅對象的繪製角度,見步驟SI ;
[0044](2)依據第一步的計算結果,計算每一個餅對象的繪製起始角度、終止角度及高度,見步驟S2 ;
[0045](3)找到所有繪製角度範圍跨越90度以及270度的餅對象,用一條垂直分割線將其在90度和270度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於90度或270度,則該對象不必分割,見步驟S3 ;
[0046](4)重新調整各個餅對象的繪製順序並進行繪製,見步驟S4。
[0047]本實施例中,在垂直分割線左右兩側都按照從上到下的順序進行繪製,按照此繪製順序,在繪製的時候無需調整裁剪區,因為下面的餅圖對象繪製時會自然覆蓋上面的餅圖對象,而處於上面的餅圖對象不會覆蓋下面的餅圖對象;[0048]a)在垂直分割線右側沿著從上到下(90度到O度再到270度的順序)的順序繪製餅對象;
[0049]b)在垂直分割線左側沿著從上到下(90度到180度再到270度的順序)的順序繪製餅對象。
[0050]本發明給出的不等高度三維立體餅圖繪製一套簡便方法,其中涉及到下面兩個關鍵技術點:
[0051]1、利用一條垂直線,將跨越一、二象限以及跨越三、四象限的餅對象分割為兩半。此步驟非常關鍵,因為經過此分割後,左右兩側餅對象的繪製順序判斷大大簡化,只需從上到下繪製即可。
[0052]2、通過調整餅對象繪製順序,實現後繪製餅對象自動壓蓋先繪製的餅對象,從而簡化繪製時裁剪區的計算。
[0053]要繪製不等高度三維立體餅圖,還有一種方案是基於三維繪製API進行開發,利用DirectX、OpenGL等API進行繪製,由於其可以通過Z緩衝區的判斷正確處理各餅對象的壓蓋關係,因此同樣可解決此問題。但是現有大部分GIS及圖表軟體仍然基於二維技術研發,其短期內無法轉變為純三維軟體,故這些三維繪製技術在這些軟體中難有用武之地。
[0054]如圖7所示,一種不等高度的三維立體餅圖的繪製系統,包括以下模塊:
[0055]各統計分量獲取模塊21,用於獲取各統計分量的數值,以便確定各餅對象的繪製角度;
[0056]計算模塊22,用於依據第一步的計算結果,計算每一個餅對象的繪製起始角度、終止角度及高度;
[0057]分割模塊23,用於找到所有繪製角度範圍跨越90度以及270度的餅對象,用一條垂直分割線將其在90度和270度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於90度或270度,則該對象不必分割;
[0058]繪製模塊24,用於重新調整各個餅對象的繪製順序並進行繪製。
[0059]本實施例中,所述的繪製模塊24在垂直分割線左右兩側都按照從上到下的順序進行繪製,按照此繪製順序,在繪製的時候無需調整裁剪區。
[0060]如【具體實施方式】所述,本發明針對不等高度三維立體餅圖的繪製給出一種簡便的實現方法,基於此方法不必進行三維空間下的裁剪區複雜計算,即可實現任意不等高度立體餅圖效果的正確繪製。
[0061]本發明所述的方法和系統並不限於【具體實施方式】中所述的實施例,本領域技術人員根據本發明的技術方案得出其他的實施方式,同樣屬於本發明的技術創新範圍。
【權利要求】
1.一種不等高度的三維立體餅圖的繪製方法,包括以下步驟: (1)獲取各統計分量的數值,以便確定各餅對象的繪製角度; (2)依據第一步的計算結果,計算每一個餅對象的繪製起始角度、終止角度及高度; (3)找到所有繪製角度範圍跨越設定角度的餅對象,用一條分割線將其在該角度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於該角度,則該對象不必分割; (4)重新調整各個餅對象的繪製順序並進行繪製。
2.如權利要求1所述的一種不等高度的三維立體餅圖的繪製方法,其特徵是,步驟(3)中,所述的設定角度為90度以及270度,用一條垂直分割線將繪製角度範圍跨越90度和270度的餅對象在90度和270度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於90度或270度,則該對象不必分割。
3.如權利要求1或2所述的一種不等高度的三維立體餅圖的繪製方法,其特徵是,步驟(4)中,重新調整各個餅對象的繪製順序並進行繪製的方法如下: 在分割線左右兩側都按照從上到下的順序進行繪製,按照此繪製順序,在繪製的時候無需調整裁剪區。
4.一種不等高度的三維立體餅圖的繪製系統,包括以下模塊: 各統計分量獲取模塊,用於獲取各統計分量的數值,以便確定各餅對象的繪製角度; 計算模塊,用於依據第一步的計算結果,計算每一個餅對象的繪製起始角度、終止角度及高度; 分割模塊,用於找到所有繪製角度範圍跨越設定角度的餅對象,用一條分割線將其在該角度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於該角度,則該對象不必分割; 繪製模塊,用於重新調整各個餅對象的繪製順序並進行繪製。
5.如權利要求4所述的一種不等高度的三維立體餅圖的繪製系統,其特徵在於:所述的設定角度為90度以及270度,分割模塊用一條垂直分割線將繪製角度範圍跨越90度和270度的餅對象在90度和270度處分割為兩個餅對象,如果一個餅對象正好結束或者起始於90度或270度,則該對象不必分割。
6.如權利要求4或5所述的一種不等高度的三維立體餅圖的繪製系統,其特徵在於:所述的繪製模塊在分割線左右兩側都按照從上到下的順序進行繪製。
【文檔編號】G06T19/00GK103578139SQ201210250126
【公開日】2014年2月12日 申請日期:2012年7月18日 優先權日:2012年7月18日
【發明者】李欣, 餘兵, 鄭佳棟, 蔣孝金, 程永輝 申請人:方正國際軟體(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀