TWI443603B - 二維向量圖形三角化系統及其方法 - Google Patents
二維向量圖形三角化系統及其方法 Download PDFInfo
- Publication number
- TWI443603B TWI443603B TW098139814A TW98139814A TWI443603B TW I443603 B TWI443603 B TW I443603B TW 098139814 A TW098139814 A TW 098139814A TW 98139814 A TW98139814 A TW 98139814A TW I443603 B TWI443603 B TW I443603B
- Authority
- TW
- Taiwan
- Prior art keywords
- dimensional vector
- boundary line
- closed curve
- line segment
- vector graphics
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Description
本發明是有關於一種二維向量圖形(two dimensional graphics)三角化(triangulation)系統,且特別是有關於一種使用動態資料結構(dynamic data structure)之二維向量圖形三角化系統及其方法。
目前向量圖形(vector graphics)在各種電子裝置上被廣泛地應用。尤其在例如是多媒體播放裝置、行動電話、個人數位助理(personal digital assistant,PDA)等的手持裝置上,受限於電力消耗限制與較低的運算能力,使用向量圖形可以提升整體圖形運算的速度與效能。向量圖形的繪圖處理,是利用抽象化的描述來代表欲繪製的圖形,因此圖形繪製到顯示器時,必須將抽象化的描述轉換為顯示器上的畫素(pixel)。除了透過直接運算各個畫素的方法外,傳統上普遍會將向量圖形轉換成多個三角網格(Triangle mesh),並將這些三角網格透過三維硬體加速繪圖裝置來進行繪製動作。
這種向量圖形繪圖方式,可以將部份繪圖的運算成本由中央處理器(CPU)轉換至效率較高的繪圖處理器(graphics processing unit,GPU)上。然而將向量圖形描述轉換為三角網格的過程(即三角化,又稱為Triangulation)牽涉到許多幾何結構調整與交點運算,需要較高的運算成本。當幾何圖形發生縮放(Zoom)狀況或形變(Deformation)狀況時,重複進行三角化將使得所須之運算成本大過繪圖處理器所帶來的效益。例如,當
遇到縮放狀況或形變效果時,需要重複性對三角網格進行重新三角化的處理,因此將耗費大量的運算資源,進而導致向量圖形的繪圖過程緩慢以及過度消耗電子裝置的電力。
承上所述,根據本發明之示範實施例,本發明提供一種二維向量圖形三角化系統及其方法,利用二元樹資料結構(binary tree data structure)儲存三角化後的資料,當二維向量圖形遇到縮放狀況或形變狀況時,動態性以及區域性調整三角網格。據此,二維向量圖形三角化系統可以降低重新三角化處理的次數與範圍,以及相對應之資料更新動作,進而減少整體運算成本以及有效提昇二維向量圖形處理效率。
根據本發明的示範實施例,本發明提出一種二維向量圖形三角化系統。此二維向量圖形三角化系統包括記憶體模組與三角網格處理模組。記憶體模組用以暫存二維向量圖形經過一種三角化處理後的三角網格(triangle mesh),其中三角網格儲存在一種二元樹資料結構中。三角網格處理模組,連接至記憶體模組,用以在二維向量圖形之一個封閉曲線(loop)的狀態改變時,調整此封閉曲線的三角網格,或對此封閉曲線的一個局部區域重新進行三角化(triangulatoin)處理。另外,三角網格處理模組包括一個多層次精細度單元(Level of Detail),用以在二維向量圖形之一個封閉曲線發生一種縮放(zoom)狀況時,依據此縮放狀況等比例調整誤差門檻值。或者,多層次精細度單元在二維向量圖形之一個封閉曲線發生一種形變(deformation)狀況時,更新此封閉曲線之每一邊界線段(boundary line)的誤差
值。另外,多層次精細度單元還依據誤差值與誤差門檻值的一個比較結果來細分(split)一個邊界線段或合併(merge)二個鄰近之邊界線段。
根據本發明的示範實施例,二維向量圖形三角化系統還包括二維向量圖形轉換模組與三角網格繪製模組。二維向量圖形轉換模組,連接至記憶體模組,用以接收二維向量圖形的輸入,並將二維向量圖形的多個曲線控制點座標值(curve control points)暫存至上述之二元樹資料結構。另外,二維向量圖形轉換模組更將二維向量圖形藉由一種線段化(segmentation)處理來產生一個封閉曲線或多個封閉曲線,並將每一封閉曲線的資料暫存至二元樹資料結構中。再者,二維向量圖形轉換模組更藉由三角化處理將二維向量圖形的每一封閉曲線,轉換為一個三角網格或多個三角網格,並將此三角網格或這些三角網格的資料暫存至二元樹資料結構。此外,三角網格繪製模組,用以根據二元樹資料結構,繪製出三角網格。
根據本發明的示範實施例,本發明提出一種二維向量圖形三角化系統中,當二維向量圖形之一個封閉曲線發生縮放狀況時,多層次精細度單元不更新每一邊界線段的幾何結構特徵值,若此縮放狀況為一種放大狀況時,則多層次精細度單元將每一邊界線段對應之誤差門檻值作等比例的放大,並且若縮放狀況為一種縮小狀況時,則多層次精細度單元將每一邊界線段對應之誤差門檻值作等比例的縮小。
根據本發明的示範實施例,本發明提出一種二維向量圖形三角化系統之多層次精細度單元判斷一個邊界線段的誤差值大於等於誤差門檻值時,則多層次精細度單元細分此邊界線段
為二個新邊界線段,並新增此二邊界線段的資料至二元樹資料結構中。另外,當多層次精細度單元判斷任何二鄰近邊界線段共同的上一層邊界線段的誤差值小於誤差門檻值時,則合併這些鄰近邊界線段為共同的上一層邊界線段,並從二元樹資料結構中移除被合併之此二邊界線段的資料。
根據本發明的示範實施例,本發明提出一種二維向量圖形三角化系統中,二元樹資料結構包括二維向量圖形的一種路徑結構,而此路徑結構包括輸入資料與一個封閉曲線清單。輸入資料包括此路徑結構的多個幾何結構特徵值,而封閉曲線清單包括組成此路徑結構的多個封閉曲線結構。
根據本發明的示範實施例,本發明提出一種二維向量圖形三角化系統中,二元樹資料結構的每一封閉曲線結構包括相對應三角網格與邊界線段群組。相對應三角網格包括組成二維向量圖形之三角網格的多個頂點與這些頂點之間的多個連結關係。邊界線段群組包括組成此邊界線段群組的多個邊界線段結構。
根據本發明的示範實施例,本發明提出一種二維向量圖形三角化系統中,每一邊界線段結構包括誤差值、一個目前邊界線段的多個幾何結構特徵值、一個指向上一層邊界線段的指標。誤差值為邊界線段與封閉曲線之間的一個誤差。
根據本發明的示範實施例,本發明提出一種二維向量圖形三角化系統之三角網格處理模組還包括一個封閉曲線更新單元,用以在二維向量圖形之封閉曲線發生一種形變狀況時,檢查此路徑結構的所有交點,並更新此路徑結構所對應之二元樹資料結構。
根據本發明的示範實施例,本發明提出一種二維向量圖形三角化系統之三角網格處理模組還包括一個三角網格更新單元,用以在二維向量圖形之一個畫面出現一個新封閉曲線時,對此新封閉曲線的一個局部區域重新進行三角化處理,建立一個新三角網格,並更新二元樹資料結構。
根據本發明的示範實施例,本發明提出一種二維向量圖形三角化方法,包括以下步驟。首先,利用二元樹資料結構,暫存二維向量圖形經過一種三角化處理後的一個或多個三角網格。接著,在二維向量圖形之封閉曲線發生一種縮放狀況時,依據此縮放狀況等比例調整一個誤差門檻值。再者,在二維向量圖形之封閉曲線發生一種形變狀況時,更新此封閉曲線之每一邊界線段的誤差值。然後,依據此誤差值與誤差門檻值的一個比較結果來細分一個邊界線段或合併二個鄰近邊界線段。另外,二維向量圖形之封閉曲線的一種狀態改變時,調整此狀態改變之封閉曲線的三角網格,或對狀態改變之封閉曲線的一個局部區域重新進行三角化處理。
根據本發明的示範實施例,上述之二維向量圖形三角化方法還包括以下步驟。首先,輸入二維向量圖形,並將此二維向量圖形的多個曲線控制點座標值暫存至二元樹資料結構。接著,將二維向量圖形藉由一種線段化處理來產生一個封閉曲線或多個封閉曲線,並將每一封閉曲線的資料暫存至二元樹資料結構中。然後,藉由三角化處理將二維向量圖形的每一封閉曲線,轉換為一個三角網格或多個三角網格,並將此三角網格或這些三角網格的資料暫存至二元樹資料結構中。另外,根據此二元樹資料結構,繪製三角網格。
根據本發明的示範實施例,上述之二維向量圖形三角化方法中,當二維向量圖形之封閉曲線發生一種縮放狀況時,不更新每一邊界線段的幾何結構特徵值,而若此縮放狀況為放大狀況時,則將每一邊界線段對應之誤差門檻值作等比例的放大,並且若此縮放狀況為縮小狀況時,則將每一邊界線段對應之誤差門檻值作等比例的縮小。
根據本發明的示範實施例,在依據誤差值與誤差門檻值的比較結果來細分一個邊界線段或合併二個鄰近邊界線段的步驟中,上述之二維向量圖形三角化方法還包括以下步驟。當一個邊界線段的誤差值大於等於誤差門檻值時,則細分此邊界線段為二個新邊界線段,並新增這些新邊界線段的資料至二元樹資料結構中。當二個鄰近邊界線段共同的上一層邊界線段的誤差值小於誤差門檻值時,則合併此二鄰近邊界線段為上一層邊界線段,並從二元樹資料結構中移除此二邊界線段的資料。
基於上述,本發明之示範實施例提供一種二維向量圖形三角化系統及其方法,利用一種二元樹資料結構來儲存經過三角化所產生的三角網格。當二維向量圖形遇到縮放狀況時,藉由檢查各邊界線段的誤差值與其對應之誤差門檻值,更新上下層的邊界線段與其誤差值,以動態性調整三角網格解析度。另外,當二維向量圖形遇到形變狀況時,僅對三角網格中必要調整的幾何結構,進行區域性的多層次解析度調整,或對必要調整之區域重新進行三角化處理。據此,二維向量圖形三角化系統可以降低重新三角化處理的次數與範圍,以及相對應的解析度調整,進而減少整體運算成本。
下文特舉本發明之示範實施例,並配合所附圖式作詳細說
明如下,以讓上述特徵和優點能更明顯易懂。
現在將詳細參照本發明的實施例,其實例繪示於附圖中,附帶一提的是,整個附圖中相同的參考標記用於表示相同或相似的部件。
根據本發明之示範實施例,本發明提供一種二維向量圖形三角化系統及其方法,利用一種二元樹資料結構來儲存經過三角化所產生的三角網格。當二維向量圖形遇到縮放狀況時,藉由檢查各邊界線段的誤差值與其對應之誤差門檻值,更新上下層的邊界線段與其誤差值,以動態性調整三角網格解析度。另外,當二維向量圖形遇到形變狀況時,僅對三角網格中必要調整的幾何結構,進行區域性的多層次解析度調整,或對必要調整之區域重新進行三角化處理。據此,二維向量圖形三角化系統可以降低重新三角化處理的次數與範圍,以及相對應的解析度調整,進而減少整體運算成本。以下將以圖1介紹二維向量圖形三角化系統,以圖3介紹所使用之二元樹資料結構,並以圖4~圖5介紹二維向量圖形三角化方法。
圖1是根據本發明之一示範實施例所繪示一種二維向量圖形三角化系統的系統方塊圖。請參照圖1,在本示範實施例中,二維向量圖形三角化系統100,包括二維向量圖形轉換模組112、三角網格繪製模組114、三角網格處理模組120、記憶體模組150以及二維向量圖形輸出模組160。記憶體模組150用以暫存二維向量圖形經過一種經過三角化處理後的三角網格,其中三角網格儲存在一種二元樹資料結構中。二維向量圖
形轉換模組112,連接至記憶體模組150,用以接收二維向量圖形的輸入,並將二維向量圖形的多個曲線控制點座標值暫存至上述之二元樹資料結構。三角網格繪製模組114,用以根據二元樹資料結構,繪製出三角網格。三角網格處理模組120,連接至記憶體模組160,用以在二維向量圖形之一個封閉曲線的狀態改變時,調整此封閉曲線的三角網格,或對此封閉曲線的一個局部區域重新進行三角化處理。二維向量圖形輸出模組160,用以輸出二元樹資料結構至一個繪圖處理器(未繪示)或一個中央處理器(未繪示),以在一個顯示器上面(未繪示)呈現繪製的二維向量圖形。
二維向量圖形轉換模組160還將二維向量圖形藉由一種線段化處理來產生一個封閉曲線或多個封閉曲線,並將每一封閉曲線的資料暫存至二元樹資料結構中。另外,二維向量圖形轉換模組160還藉由三角化處理將二維向量圖形的每一封閉曲線,轉換為一個三角網格或多個三角網格,並將此三角網格或這些三角網格的資料暫存至二元樹資料結構中。
圖2是根據本發明之一示範實施例所繪示一種二元樹資料結構200的示意圖。二元樹資料結構200包括二維向量圖形的一種路徑結構202,而此路徑結構202包括輸入資料222與一個封閉曲線清單(loop list)224。輸入資料222包括此路徑結構202的多個幾何結構特徵值,而封閉曲線清單224包括組成此路徑結構的多個封閉曲線結構232。在本示範實施例中,輸入資料222中每一個幾何結構特徵值包括組成此路徑結構202之多個曲線之一的一個起始控制點座標值、一個終點控制點座標值與一個中間控制點座標值。在本發明之另一示範實施例中,輸入資料222中每一個幾何結構特徵值包括組成此路徑結
構202之多個弧線之一的一個短軸長度、一個長軸長度、一個起始角度、一個終點角度與一個旋轉角度。在本發明之其他示範實施例中,輸入資料222中每一個幾何結構特徵值還可以包括組成此路徑結構202之多個直線的兩個控制點座標值。
請繼續參照圖2,二元樹資料結構200的每一個封閉曲線結構232包括相對應三角網格242與邊界線段群組244。相對應三角網格242包括組成二維向量圖形之三角網格的多個頂點(vertices)與這些頂點之間的多個連結關係。邊界線段群組244包括組成此邊界線授群組的多個邊界線段結構(boundary line structure)246。每一邊界線段結構246包括誤差值252、一個目前邊界線段的多個幾何結構特徵值254、一個指向上一層邊界線段的指標246。誤差值252為邊界線段與封閉曲線之間的一個誤差。在本示範實施例中,邊界線段結構246中的每一個幾何結構特徵值254包括組成此邊界線段之一個曲線的一個起始控制點座標值、一個終點控制點座標值與一個中間控制點座標值。在本發明之另一示範實施例中,邊界線段結構246中的每一個幾何結構特徵值254還可以包括組成此邊界線段之一個弧線的一個起始角度、一個終點角度與一個旋轉角度。在本發明之其他示範實施例中,邊界線段結構246中的每一個幾何結構特徵值254還可以包括組成該邊界線段之一個弧線的一個起始角度、一個終點角度與一個旋轉角度。
請繼續參照圖1,三角網格處理模組120還包括多層次精細度單元121、封閉曲線更新單元122與三角網格更新單元123。封閉曲線更新單元122,用以在二維向量圖形之封閉曲線發生一種形變狀況時,檢查此路徑結構的所有交點(intersection),並更新此路徑結構所對應之二元樹資料結構。
多層次精細度單元121,用以在二維向量圖形之一個封閉曲線發生一種縮放狀況時,依據此縮放狀況等比例調整誤差門檻值。或者,多層次精細度單元121在二維向量圖形之一個封閉曲線發生一種形變狀況時,更新此封閉曲線之每一邊界線段的誤差值。另外,多層次精細度單元121還依據誤差值與誤差門檻值的一個比較結果來細分一個邊界線段或合併二個鄰近之邊界線段。在此值得一提的是,在示範實施例中,誤差門檻值被設定為顯示器畫面上一個像素的寬度,因為人眼在此精細度狀況下無法辨識直線與曲線的差異。然而本發明並非限定於此,根據實際應用之精細度的需要,在其他示範實施例中,可以選取其他參數作為誤差門檻值。三角網格更新單元123,用以在二維向量圖形之一個畫面出現一個新封閉曲線時,對此新封閉曲線的一個局部區域重新進行三角化處理,以建立一個新三角網格,並更新二元樹資料結構。
在本示範實施例中,當二維向量圖形之一個封閉曲線發生縮放狀況時,多層次精細度單元121不更新每一邊界線段的幾何結構特徵值。若此縮放狀況為一種放大狀況時,則多層次精細度單元121將每一邊界線段對應之誤差門檻值作等比例的放大;若此縮放狀況為一種縮小狀況時,則多層次精細度單元121將每一邊界線段對應之誤差門檻值作等比例的縮小。另外,多層次精細度單元121判斷一個邊界線段的誤差值大於等於誤差門檻值時,則多層次精細度單元121細分此邊界線段為二個新邊界線段,並新增此二邊界線段的資料至二元樹資料結構中。此外,當多層次精細度單元121判斷任何二鄰近邊界線段共同的上一層邊界線段的誤差值小於誤差門檻值時,則合併這些鄰近邊界線段為共同的上一層邊界線段,並從上述之二元
樹資料結構中移除被合併之此二邊界線段的資料。
在本示範實施例中,封閉曲線更新單元122還藉由測量一個三角形法向量的方向變化來偵測封閉曲線是否遇到一種翻折狀況。假設一個三角網格中包括多個三角形,每一個三角形由三個鄰接之多個邊界線段所組成,且每一個三角形法向量垂直於所對應之三角形所形成的一個平面。傳統上,三角形之三個控制點以逆時鐘方法串聯時,其三角形法向量垂直於逆時鐘方法串聯所構成的一個平面。但是本發明之偵測並不限定於傳統之三角形法向量定義方式,只要可以辨識出三角形法向量的方向變化即可用以來判斷是否封閉曲線遇到翻折狀況。
封閉曲線更新單元122在偵測到翻折狀況之後,還藉由檢查一個翻折三角形與一個邊界線段之間的一個相交狀況來判斷此形變狀況對一個封閉曲線的影響範圍。另外,封閉曲線更新單元122在此形變狀況造成路徑結構出現一種自交錯狀況時,藉由檢查此路徑結構中多個交點之總數的一個變化,判斷一個封閉曲線的產生或消失。
封閉曲線更新單元122在形變狀況造成任何兩個路徑結構重疊時,藉由檢查重疊的多個交點,找出新產生的一個封閉曲線。然後,封閉曲線更新單元122依據此二邊界線段的一個從屬關係(對應於二元樹資料結構),來更新這些路徑結構之多個封閉曲線的二元樹資料結構。封閉曲線更新單元122在形變狀況造成任一個封閉曲線出現一種內部重疊狀況時,找出封閉曲線之內部重疊的一個重疊封閉曲線。然後移除此重疊封閉曲線,並更新封閉曲線的二元樹資料結構。
在本示範實施例中,三角網格更新單元123在二維向量圖形之一個封閉曲線的狀態改變時,更新此封閉曲線,並將已更
新封閉曲線所對應的該三角網格進行更新。三角網格更新單元123將交錯的二邊界線段細分為另外四個邊界線段,並加入一個新交點。然後,三角網格更新單元123合併原本分離的另外兩個鄰接邊界線段,並移除一個舊交點。另外,三角網格更新單元123調整在加入新交點與移除該交點的過程中,被影響到的多個端點與這些端點之間的連結關係,並且更新封閉曲線的二元樹資料結構。
介紹完影像二維向量圖形三角化系統100的各主要元件與運作方法後,以下將以圖3~圖4繼續介紹二維向量圖形三角化方法。
圖3是根據本發明之一示範實施例所繪示一種二維向量圖形三角化方法300的流程圖。請同時參照圖1以及圖4,在本示範實施例中,二維向量圖形三角化方法300從步驟S302開始,並接續進行步驟S304。在步驟S304中,輸入二維向量圖形。步驟S304後,接續進行步驟S306。在步驟S306中,將二維向量圖形轉換為三角網格。步驟S306後,接續進行步驟S308。在步驟S308中,繪製出三角網格。步驟S308後,接續進行步驟S310。在步驟S310中,當發生縮放狀況或形變狀況時,調整三角網格的幾何結構,並將調整後之結果更新至二元樹資料結構中。步驟S310後,接續進行步驟S308,此即二維向量圖形三角化方法300持續在步驟S308與步驟S310之間運作,直到二維向量圖形不再變動為止。在本示範實施例中,二維向量圖形輸出模組160可以在步驟S310中,將二元樹資料結構輸出至繪圖處理器或中央處理器,進而在顯示器上面呈現所繪製的二維向量圖形。
圖4是根據本發明之另一示範實施例所繪示另一種二維
向量圖形三角化方法400的流程圖。在本示範實施例中,步驟S402至步驟S408與二維向量圖形三角化方法300的步驟S302至步驟S308相類似,故在此不重述其細節。而二維向量圖形三角化方法300的步驟S310被步驟S410至步驟S416所取代。在步驟S408後,接續進行步驟S410。在步驟S410中,更新每一曲線之控制點座標值與誤差值。步驟S410後,接續進行步驟S412。在步驟S412中,更新二維向量圖形的解析度。步驟S412後,接續進行步驟S414。在步驟S414中,利用二元樹資料結構中的階層關係動態性調整交點的座標值與封閉曲線。步驟S414後,接續進行步驟S416。在步驟S416中,依據二元樹資料結構更新三角網格。步驟S416後,接續進行步驟S408,此即二維向量圖形三角化方法400持續在步驟S408至步驟S416之間運作,直到二維向量圖形不再變動為止。在本示範實施例中,二維向量圖形輸出模組160可以在步驟S416中,將二元樹資料結構輸出至繪圖處理器或中央處理器,進而在顯示器上面呈現所繪製的二維向量圖形。
介紹完影像二維向量圖形三角化方法300、400的各步驟之後,以下將以圖5繼續介紹二維向量圖形轉換模組112、三角網格處理模組120以及多層次精細度單元121的細部運作原理。
圖5是根據本發明之一示範實施例所繪示一種二維向量圖形轉換方法的示意圖。路徑510為二維向量圖形的輸入階段,包括兩個曲線。曲線1與曲線2分別為路徑510中由頂點A至頂點B的兩個不同的曲線,而曲線1與曲線2組合在一起而構成路徑510。本發明並不限定於上述,且一個路徑可以包括2個以上的曲線。二維向量圖形轉換模組112將路徑510經
過線段化轉換為二維向量圖形520的封閉曲線1與封閉曲線2。封閉曲線1為二維向量圖形520中控制點C以上的一個封閉曲線(或作迴路),而封閉曲線2為二維向量圖形520中頂點C以下的另一個封閉曲線。在線段化處理過程中,二維向量圖形轉換模組112選定二維向量圖形520的各頂點,例如頂點A、B、C、D、E、F等。舉例說明,邊界線段524為介於頂點A與頂點B之間的一個邊界線段,而封閉曲線1與封閉曲線2分別由多個類似邊界線段524之邊界線段所組成的。接著,二維向量圖形轉換模組112將二維向量圖形520經由三角化轉換為三角網格結構530,亦即將封閉曲線1與封閉曲線2分別轉換為三角網格532與三角網格534。三角網格532位於控制點V的上方,而三角網格534位於控制點V的下方。
請繼續參照圖5,多層次精細度單元121可以將三角網格532之各邊界線段的精細度作進一步調整。二維向量圖形520之放大區塊522經過放大檢視成為放大區塊550。放大區塊550包括頂點E、L、K,頂點E與頂點L之間的邊界線段551具有誤差值552。誤差值552則為介於頂點E與頂點L之間的封閉曲線與所對應之邊界線段551之間的一個誤差。同理可知,頂點L與頂點K之間的邊界線段553具有誤差值554,而誤差值554則為介於頂點L與頂點K之間的封閉曲線與所對應之邊界線段553之間的一個誤差。如前所述,邊界線段551、誤差值552、邊界線段553以及誤差值554皆儲存於二元數資料結構中。另外,邊界線段551與邊界線段553為多層次精細度單元121,將放大區塊540中的邊界線段541細分而得之相鄰近的兩個邊界線段。在二元樹資料結構中,邊界線段551與邊界線段553為邊界線段541的下一層邊界線段。當多層次精細
度單元121判斷邊界線段541的誤差值542小於誤差門檻值時,多層次精細度單元121會將邊界線段551與邊界線段553合併為邊界線段541(亦即減少精細度)。反之,當多層次精細度單元121判斷邊界線段551的誤差值552大於等於誤差門檻值時,多層次精細度單元121會將邊界線段551細分為放大區塊560中的邊界線段561與邊界線段562(亦即增加精細度)。同理,當多層次精細度單元121判斷邊界線段553的誤差值554大於等於誤差門檻值時,多層次精細度單元121會將邊界線段551細分為放大區塊560中的邊界線段563與邊界線段564。
介紹完多層次精細度單元121的細部運作原理之後,以下將以圖6A~圖6C與圖6D繼續介紹多層次精細度單元121的細部運作方式,以及對應至二元樹資料結構的動作。
圖6A~圖6C為多層次精細度單元細分邊界線段的示意圖。請參照圖6A,邊界線段601具有誤差值602,當多層次精細度單元121判斷區塊600之邊界線段601的誤差值602大於等於誤差門檻值時,多層次精細度單元121會將邊界線段601細分為圖6B中區塊620的邊界線段622與邊界線段623。請參照圖6D,圖6D為對應圖6A至圖6C之邊界線段的二元樹資料結構660。當多層次精細度單元121細分邊界線段601為邊界線段622與邊界線段623時,在二元樹資料結構660中,多層次精細度單元121在邊界線段601下一層新增兩個資料結構節點(分別為邊界線段622與邊界線段623)。而邊界線段622與邊界線段623的二元樹資料結構中,各自儲存對應之誤差值624與誤差值626,以及指向上一層邊界線段601的指標。當多層次精細度單元121繼續判斷區塊620之邊界線段
622的誤差值624大於等於誤差門檻值時,多層次精細度單元121會將邊界線段622進一步細分為圖6C中區塊640的邊界線段644與邊界線段645,並在邊界線段622的二元樹資料結構之下一層新增兩個資料結構節點(分別為邊界線段644與邊界線段645)。如前所述,當二維向量圖形的畫面遇到縮放狀況或形變狀況。多層次精細度單元121會檢查每一層的誤差值。當判斷邊界線段622的誤差值624小於誤差門檻值時,多層次精細度單元121會將邊界線段644與邊界線段645合併為邊界線段622(亦即減少精細度),並將邊界線段622之下一層資料結構節點從二元樹資料結構中刪除。
在此值得一提的是,多層次精細度單元121會在初次三角化二維向量圖形(即初始化階段)時進行以上的步驟,同時當二維向量圖形的畫面遇到縮放狀況或形變狀況時,也會進行上述之步驟。在介紹完多層次精細度單元121對應至二元樹資料結構的動作之後,以下將以圖7A~圖7D繼續介紹三角網格更新單元123的運作原理。
圖7A~圖7D是三角網格更新模組123的細部動作示意圖。請參照圖7A,當圖7A中的邊界線段702、703因為封閉曲線之資料發生變化時,原本邊界線段701與邊界線段702的舊交點710應被刪除,但是相對應之邊界線段701上面同時有舊交點710與新交點730,尚未被更新至二元樹資料結構中。因此,請參照圖7C,三角網格更新模組123會將新交點730相鄰近之邊界線段702先細分為新邊界線段741、新邊界線段742、新邊界線段743以及新邊界線段744。然後請參照圖7D,三角網格更新模組123進一步將新交點730相鄰近之多個邊界線段合併為新邊界線段761、新邊界線段743合併,以及合併
新邊界線段743與新邊界線段744。在介紹完三角網格更新模組123的細部動作之後,以下將以圖8繼續介紹多層次精細度單元121在處理縮放狀況的運作原理。
圖8A~圖8C為根據本發明之一示範實施例所繪示之多層次精細度單元121處理縮放狀況的示意圖。當封閉曲線放大時,邊界線段與所對應之實際曲線之間的誤差值也隨之變大,此時誤差值過大的邊界線段會被細切成兩段,並且更新相關的三角網格與邊界線段之資訊至二元樹資料結構中。舉例說明,請參照圖8A,倒水滴形的封閉曲線802被放大成封閉曲線804,形狀不變,且各頂點的相對位置不改變。但是此時邊界線段810的誤差值811以及邊界線段812的誤差值813都變大。多層次精細度單元121判斷誤差值811大於誤差門檻值,因此將邊界線段810細分為圖8B中所示之封閉曲線820的邊界線段822與邊界線段824。此時,邊界線段822與邊界線段824各自的誤差值(未繪示)小於誤差門檻值,所以多層次精細度單元121停止對邊界線段822與邊界線段824作進一步的細分。同理,多層次精細度單元121判斷誤差值813大於誤差門檻值,因此進一步將邊界線段812細分為圖8C中所示的邊界線段841與邊界線段842。此時,邊界線段841與邊界線段842各自的誤差值(未繪示)小於誤差門檻值,所以多層次精細度單元121停止對邊界線段841與邊界線段842作進一步的細分。至此,原本放大前之封閉曲線802的三角網格僅有一個三角形,放大後經過多層次精細度單元121的判斷與細分,封閉曲線840為具有3個三角形的三角網格。
圖9A~圖9D為根據本發明之一示範實施例所繪示之多層次精細度單元121處理形變狀況的示意圖。當封閉曲線的控制
點變化時,實際曲線的曲率也會跟著變化,進而導致邊界線段與所對應之實際曲線之間的誤差值改變。當邊界線段的誤差值大於等於誤差門檻值或上一層邊界線段的線段誤差小於誤差門檻值時,則可以對邊界線段進行細切或合併,並更新相關三角網格的資訊至二元樹資料結構中。舉例說明,請參照圖9A,倒水滴形的封閉曲線902被放大成封閉曲線912,形狀改變為水滴形,且各頂點的相對位置也有改變,且各邊界線段的誤差值有些增加,有些卻減少。多層次精細度單元121判斷邊界線段914與邊界線段916的上一層邊界線段(未繪示)之誤差值811小於誤差門檻值,因此將邊界線段914與邊界線段916合併為圖9B中之邊界線段920所示的邊界線段922。此時,邊界線段924與邊界線段926各自的誤差值(未繪示)大於誤差門檻值,所以多層次精細度單元121對邊界線段924與邊界線段926作進一步的細分。多層次精細度單元121將邊界線段924細分為圖9C中所示之邊界線段940的邊界線段942與邊界線段944。此時,邊界線段942與邊界線段944各自的誤差值(未繪示)小於誤差門檻值,所以多層次精細度單元121停止對邊界線段942與邊界線段944作進一步的細分。同理,層次精細度單元121將邊界線段926細分為圖9D中所示之邊界線段960的邊界線段962與邊界線段964。至此,原本形變前之封閉曲線902的三角網格僅有四個三角形,放大後經過多層次精細度單元121的判斷與細分,封閉曲線960為具有五個三角形的三角網格。
圖10A~圖10D根據本發明之一示範實施例所繪示之二維向量圖形三角化系統100處理一種封閉曲線改變狀態的示意圖。舉例說明,請參照圖10A,封閉曲線1012中的下半部發
生翻轉,變成封閉曲線1012。這種封閉曲線的改變導致控制點4、控制點6之間的邊界線段1004,與控制點5、控制點7之間的邊界線段1006之間產生新交點(如圖10B所示之封閉曲線1020的新交點1021)。假設根據新交點1021的位置將控制點4、控制點6之間的邊界線段1004以及控制點5、控制點7之間的邊界線段1006細切之後,封閉曲線會被分成兩個邊界線段。由於多個邊界線段之間應該是互相獨立的,原本的控制點5、控制點7之間的邊界線段1006會形成錯誤的連接關係,必須用合併程序來清除如圖10C所示之封閉曲線1040的邊界線段1041。最後因為圖10C5中封閉曲線1040下半部的封閉曲線是由於封閉曲線1002的翻轉所產生的,所以要對其重新進行三角化以產生新的三角網格。最後形成如圖10D所示的三角網格1060。
經過實驗證實,利用二維向量圖形三角化系統100及其方法來持續進行縮放動作時,可以大幅降低電腦內部運算所需的時間。假設測試環境為使用Intel Core2Duo中央處理器E6750(時脈為2.66GHz),且搭配NVIDIA GeForce繪圖處理器GTX 260來持續進行縮放動作時,傳統三角化方法需要重複進行線段化與三角化處理,故每一幀(frame)的最高處理時間為1541微秒(μs),最低處理時間為729微秒(μs)。在相同測試環境下,二維向量圖形三角化系統100僅需要使用多層次精細度單元121來完成縮放動作,而不需要任何重新三角化動作,是故每一幀(frame)的最高處理時間為90微秒(μs),最低處理時間為15微秒(μs)。換言之,二維向量圖形三角化系統100較目前傳統的三角化系統或三角化方法,提高平均效能比例達約為29.6倍。
綜上所述,根據本發明之示範實施例,本發明提供一種二維向量圖形三角化系統及其方法。二維向量圖形三角化系統利用一種二元樹資料結構來儲存經過三角化所產生的三角網格。當二維向量圖形遇到縮放狀況時,藉由檢查各邊界線段的誤差值與其對應之誤差門檻值,更新上下層的邊界線段與其誤差值,以動態性調整三角網格解析度。另外,當二維向量圖形遇到形變狀況時,僅對三角網格中必要調整的幾何結構,進行區域性的多層次解析度調整,或對必要調整之區域重新進行三角化處理。據此,二維向量圖形三角化系統可以降低重新三角化處理的次數與範圍,以及相對應的解析度調整,進而減少整體運算成本。
雖然已以示範實施例揭露如上,然其並非用以限定本發明之可實施方式,任何所屬技術領域中具有通常知識者,在不脫離所揭露實施例之精神和範圍內,當可作些許之更動與潤飾,故保護範圍當視後附之申請專利範圍所界定者為準。
112‧‧‧二維向量圖形轉換模組
114‧‧‧三角網格繪製模組
120‧‧‧三角網格處理模組
121‧‧‧多層次精細度單元
122‧‧‧封閉曲線更新單元
123‧‧‧三角網格更新單元
150‧‧‧記憶體模組
160‧‧‧二維向量圖形輸出模組
202‧‧‧路徑結構
222‧‧‧輸入資料
224‧‧‧封閉曲線清單
232‧‧‧封閉曲線結構
510‧‧‧路徑
520‧‧‧二維向量圖形
522、540、550、560‧‧‧放大區塊
524、541、551、553、561、562、563、564、601、622、623、644、645、623、701、702、703、741、742、743、744、761、810、812、822、824、841、842、914、916、922、924、926、942、944、962、964、1004、1006、1041‧‧‧
邊界線段
242‧‧‧相對應三角網格
244‧‧‧邊界線段群組
246‧‧‧邊界線段結構
252‧‧‧誤差值
254‧‧‧目前邊界線段的幾何結構特徵值
256‧‧‧指向上一層邊界線段的指標
S302~S310‧‧‧根據本發明之一示範實施例所繪示一種二維向量圖形三角化方法的各步驟
S402~S416‧‧‧根據本發明之另一示範實施例所繪示一種二維向量圖形三角化方法的各步驟
530‧‧‧三角網格結構
532、534‧‧‧三角網格
541、542、552、554、602、624、626、811‧‧‧誤差值
710‧‧‧舊交點
730、1021‧‧‧新交點
802、804、820、840、902、912、920、940、960、1002、1012、1020、1040‧‧‧封閉曲線
1060‧‧‧三角網格
A、B、C、D、E、F、K、L‧‧‧頂點
V‧‧‧控制點
圖1是根據本發明之一示範實施例所繪示一種二維向量圖形三角化系統的系統方塊圖。
圖2是根據本發明之一示範實施例所繪示一種二元樹資料結構的示意圖。
圖3是根據本發明之一示範實施例所繪示一種二維向量圖形三角化方法的流程圖。
圖4是根據本發明之另一示範實施例所繪示另一種二維向量圖形三角化方法的流程圖。
圖5是根據本發明之一示範實施例所繪示一種二維向量
圖形轉換方法的示意圖。
圖6A~圖6C為多層次精細度單元細分邊界線段的示意圖。
圖6D為對應圖6A至圖6C之邊界線段的二元樹資料結構。
圖7A~圖7D是三角網格更新模組的細部動作示意圖。
圖8A~圖8C為根據本發明之一示範實施例所繪示之多層次精細度單元處理縮放狀況的示意圖。
圖9A~圖9D為根據本發明之一示範實施例所繪示之多層次精細度單元處理形變狀況的示意圖。
圖10A~圖10D根據本發明之一示範實施例所繪示之二維向量圖形三角化系統100處理一種封閉曲線改變狀態的示意圖。
100‧‧‧二維向量圖形三角化系統
112‧‧‧二維向量圖形轉換模組
114‧‧‧三角網格繪製模組
120‧‧‧三角網格處理模組
121‧‧‧多層次精細度單元
122‧‧‧封閉曲線更新單元
123‧‧‧三角網格更新單元
150‧‧‧記憶體模組
160‧‧‧二維向量圖形輸出模組
Claims (42)
- 一種二維向量圖形三角化系統,包括:一記憶體模組,用以暫存一二維向量圖形經過一三角化處理後的一三角網格,其中該三角網格儲存在一二元樹資料結構中;一三角網格處理模組,連接至該記憶體模組,用以在該二維向量圖形之一封閉曲線的一狀態改變時,調整該封閉曲線的該三角網格,或對該封閉曲線的一局部區域重新進行該三角化處理,其中該三角網格處理模組包括:一多層次精細度單元用以在該二維向量圖形之一封閉曲線發生一縮放狀況時,依據該縮放狀況等比例調整一誤差門檻值,在該二維向量圖形之一封閉曲線發生一形變狀況時,更新該封閉曲線之每一邊界線段的一誤差值,或依據該誤差值與該誤差門檻值的一比較結果來細分一邊界線段或合併二鄰近邊界線段;一二維向量圖形轉換模組,連接至該記憶體模組,用以輸入該二維向量圖形,並將該二維向量圖形的多個曲線控制點座標值暫存至該二元樹資料結構;該二維向量圖形轉換模組更將該二維向量圖形藉由一線段化處理來產生一封閉曲線或多個封閉曲線,並將每一封閉曲線的資料暫存至該二元樹資料結構中;該二維向量圖形轉換模組更藉由該三角化處理將該二維向量圖形的每一封閉曲線,轉換為一或多個三角網格,並將該三角網格或該些三角網格的資料暫存至該二元樹資料結構中;以及一三角網格繪製模組,連接至該記憶體模組,用以根據該 二元樹資料結構,繪製該三角網格。
- 如申請專利範圍第1項所述之二維向量圖形三角化系統,其中當該二維向量圖形之一封閉曲線發生該縮放狀況時,該多層次精細度單元不更新每一邊界線段的一幾何結構特徵值,若該縮放狀況為一放大狀況時,則該多層次精細度單元將每一邊界線段對應之一誤差門檻值作等比例的放大,並且若該縮放狀況為一縮小狀況時,則該多層次精細度單元將每一邊界線段對應之該誤差門檻值作等比例的縮小。
- 如申請專利範圍第1項所述之二維向量圖形三角化系統,其中,當該多層次精細度單元判斷一邊界線段的一誤差值大於等於該誤差門檻值時,則細分該邊界線段為二新邊界線段,並新增該些邊界線段的資料至該二元樹資料結構中;以及當該多層次精細度單元判斷二鄰近邊界線段共同的上一層邊界線段的一誤差值小於該誤差門檻值時,合併該些鄰近邊界線段為該上一層邊界線段,並從該二元樹資料結構中移除被合併之該些邊界線段的資料。
- 如申請專利範圍第1項所述之二維向量圖形三角化系統,其中該二元樹資料結構包括:該二維向量圖形的一路徑結構,其中該路徑結構包括一輸入資料與一封閉曲線清單,其中該輸入資料包括該路徑結構的多個幾何結構特徵值,而該封閉曲線清單包括組成該路徑結構的多個封閉曲線結構。
- 如申請專利範圍第4項所述之二維向量圖形三角化系統,其中每一封閉曲線結構包括:一相對應三角網格,其中該相對應三角網格包括組成該二 維向量圖形之該三角網格的多個頂點與該些頂點之間的多個連結關係;以及一邊界線段群組,其中該邊界線段群組包括組成該邊界線段群組的多個邊界線段結構。
- 如申請專利範圍第5項所述之二維向量圖形三角化系統,其中每一邊界線段結構包括:一誤差值,其中該誤差值為該邊界線段與該封閉曲線之間的一誤差;一目前邊界線段的多個幾何結構特徵值;以及一指向上一層邊界線段的一指標。
- 如申請專利範圍第4項所述之二維向量圖形三角化系統,其中每一幾何結構特徵值包括組成該路徑結構之多個曲線之一的一起始控制點座標值、一終點控制點座標值與一中間控制點座標值。
- 如申請專利範圍第4項所述之二維向量圖形三角化系統,其中每一幾何結構特徵值包括組成該路徑結構之多個弧線之一的一短軸長度、一長軸長度、一起始角度、一終點角度與一旋轉角度。
- 如申請專利範圍第4項所述之二維向量圖形三角化系統,其中每一幾何結構特徵值包括組成該路徑結構之多個直線的兩個控制點座標值。
- 如申請專利範圍第6項所述之二維向量圖形三角化系統,其中每一幾何結構特徵值包括組成該邊界線段之一曲線的一起始控制點座標值、一終點控制點座標值與一中間控制點座標值。
- 如申請專利範圍第6項所述之二維向量圖形三角化系 統,其中每一幾何結構特徵值包括組成該邊界線段之一弧線的一起始角度、一終點角度與一旋轉角度。
- 如申請專利範圍第6項所述之二維向量圖形三角化系統,其中每一幾何結構特徵值包括組成該邊界線段之一直線的兩個控制點座標值。
- 如申請專利範圍第4項所述之二維向量圖形三角化系統,其中該三角網格處理模組更包括:一封閉曲線更新單元,用以在該二維向量圖形之該封閉曲線發生該形變狀況時,檢查該路徑結構的所有交點,並更新該路徑結構所對應之該二元樹資料結構。
- 如申請專利範圍第13項所述之二維向量圖形三角化系統,其中該封閉曲線更新單元更藉由測量一三角形法向量的一方向變化來偵測一翻折狀況,其中,該三角網格中包括多個三角形,每一三角形由三個鄰接之多個邊界線段所組成,且每一三角形法向量垂直於所對應之該三角形所形成的一平面。
- 如申請專利範圍第14項所述之二維向量圖形三角化系統,其中該封閉曲線更新單元在偵測到該翻折狀況之後,藉由檢查一翻折三角形與一邊界線段之間的一相交狀況來判斷該形變狀況對一封閉曲線的一影響範圍。
- 如申請專利範圍第15項所述之二維向量圖形三角化系統,其中該封閉曲線更新單元在該形變狀況造成該路徑結構出現一自交錯狀況時,藉由檢查該路徑結構中該些交點之一總數的一變化,判斷一封閉曲線的產生或消失。
- 如申請專利範圍第16項所述之二維向量圖形三角化系統,其中該封閉曲線更新單元在該形變狀況造成任二路徑結構重疊時,藉由檢查重疊的多個交點,找出新產生的一封閉曲 線,依據該二邊界線段的一從屬關係,並且更新該些路徑結構之多個封閉曲線的該些二元樹資料結構。
- 如申請專利範圍第17項所述之二維向量圖形三角化系統,其中該封閉曲線更新單元在該形變狀況造成任一封閉曲線出現一內部重疊狀況時,找出該封閉曲線之內部重疊的一重疊封閉曲線,移除該重疊封閉曲線,並且更新該封閉曲線的該二元樹資料結構。
- 如申請專利範圍第1項所述之二維向量圖形三角化系統,其中該三角網格處理模組更包括:一三角網格更新單元,用以在該二維向量圖形之一畫面出現一新封閉曲線時,對該新封閉曲線的一局部區域重新進行該三角化處理,建立一新三角網格,並更新該二元樹資料結構。
- 如申請專利範圍第19項所述之二維向量圖形三角化系統,其中該三角網格更新單元在該二維向量圖形之一封閉曲線的一狀態改變時,更新該封閉曲線,並更新該已更新封閉曲線所對應的該三角網格。
- 如申請專利範圍第20項所述之二維向量圖形三角化系統,其中該三角網格更新單元將交錯的二邊界線段細分為另外四邊界線段,並加入一新交點,合併原分離的另二鄰接邊界線段,並移除一舊交點,調整在加入該新交點與移除該舊交點之過程中,被影響之多個端點與該些端點之間的該連結關係,並且更新該封閉曲線的該二元樹資料結構。
- 一種二維向量圖形三角化方法,包括:利用二元樹資料結構,暫存一二維向量圖形經過一三角化處理後的一或多個三角網格;當該二維向量圖形之一封閉曲線發生一縮放狀況時,依據 該縮放狀況等比例調整一誤差門檻值;當該二維向量圖形之一封閉曲線發生一形變狀況時,更新該封閉曲線之每一邊界線段的一誤差值;依據該誤差值與該誤差門檻值的一比較結果來細分一邊界線段或合併二鄰近邊界線段;當該二維向量圖形之一封閉曲線的一狀態改變時,調整該封閉曲線的該三角網格,或對該封閉曲線的一局部區域重新進行該三角化處理;輸入該二維向量圖形,並將該二維向量圖形的多個曲線控制點座標值暫存至該二元樹資料結構;將該二維向量圖形藉由一線段化處理來產生一封閉曲線或多個封閉曲線,並將每一封閉曲線的資料暫存至該二元樹資料結構;藉由該三角化處理將該二維向量圖形的每一封閉曲線,轉換為一或多個三角網格,並將該三角網格或該些三角網格的資料暫存至該二元樹資料結構;以及根據該二元樹資料結構,繪製該三角網格。
- 如申請專利範圍第22項所述之二維向量圖形三角化方法,其中當該二維向量圖形之一封閉曲線發生該縮放狀況時,不更新每一邊界線段的一幾何結構特徵值,若該縮放狀況為一放大狀況時,將每一邊界線段對應之一誤差門檻值作等比例的放大,並且若該縮放狀況為一縮小狀況時,將每一邊界線段對應之該誤差門檻值作等比例的縮小。
- 如申請專利範圍第22項所述之二維向量圖形三角化方法,其中在依據該誤差值與該誤差門檻值的一比較結果來細分一邊界線段或合併二鄰近邊界線段的步驟中,該二維向量圖 形三角化方法更包括:當一邊界線段的一誤差值大於等於該誤差門檻值時,細分該邊界線段為二新邊界線段,並新增該些新邊界線段的資料至該二元樹資料結構;以及當二鄰近邊界線段共同的上一層邊界線段的一誤差值小於該誤差門檻值時,合併該些鄰近邊界線段為該上一層邊界線段,並從該二元樹資料結構中移除該二邊界線段的資料。
- 如申請專利範圍第22項所述之二維向量圖形三角化方法,其中該二元樹資料結構包括:該二維向量圖形的一路徑結構,其中該路徑結構包括一輸入資料與一封閉曲線清單,其中該輸入資料包括該路徑結構的多個幾何結構特徵值,而該封閉曲線清單包括組成該路徑結構的多個封閉曲線結構。
- 如申請專利範圍第25項所述之二維向量圖形三角化方法,其中每一封閉曲線結構包括:一相對應三角網格,其中該相對應三角網格包括組成該二維向量圖形之該三角網格的多個頂點與該些頂點的多個連結關係;以及一邊界線段群組,其中該邊界線段群組包括組成該邊界線段群組的多個邊界線段結構。
- 如申請專利範圍第26項所述之二維向量圖形三角化方法,其中每一邊界線段結構包括:一誤差值,其中該誤差值為該邊界線段與該封閉曲線之間的一誤差;一目前邊界線段的多個幾何結構特徵值;以及一指向上一層邊界線段的一指標。
- 如申請專利範圍第25項所述之二維向量圖形三角化方法,其中每一幾何結構特徵值包括組成該路徑結構之多個曲線之一的一起始控制點座標值、一終點控制點座標值與一中間控制點座標值。
- 如申請專利範圍第25項所述之二維向量圖形三角化方法,其中每一幾何結構特徵值包括組成該路徑結構之多個弧線之一的一短軸長度、一長軸長度、一起始角度、一終點角度與一旋轉角度。
- 如申請專利範圍第25項所述之二維向量圖形三角化方法,其中每一幾何結構特徵值包括組成該路徑結構之多個直線的兩個控制點座標值。
- 如申請專利範圍第27項所述之二維向量圖形三角化方法,其中每一幾何結構特徵值包括組成該邊界線段之一曲線的一起始控制點座標值、一終點控制點座標值與一中間控制點座標值。
- 如申請專利範圍第27項所述之二維向量圖形三角化方法,其中每一幾何結構特徵值包括組成該邊界線段之一弧線的一起始角度、一終點角度與一旋轉角度。
- 如申請專利範圍第27項所述之二維向量圖形三角化方法,其中每一幾何結構特徵值包括組成該邊界線段之一直線的兩個控制點座標值。
- 如申請專利範圍第25項所述之二維向量圖形三角化方法,其中當該二維向量圖形的一封閉曲線發生該形變狀況時,檢查該路徑結構的所有交點,並更新該路徑結構所對應之該二元樹資料結構。
- 如申請專利範圍第34項所述之二維向量圖形三角化 方法,其中藉由測量一三角形法向量的一方向變化來偵測一翻折狀況,其中,該三角網格中包括多個三角形,每一三角形由三個鄰接之多個邊界線段所組成,且每一三角形法向量垂直於所對應之該三角形所形成的一平面。
- 如申請專利範圍第35項所述之二維向量圖形三角化方法,其中在偵測到該翻折狀況之後,藉由檢查一翻折三角形與一邊界線段之間的一相交狀況來判斷該形變狀況對一封閉曲線的一影響範圍。
- 如申請專利範圍第34項所述之二維向量圖形三角化方法,其中當該形變狀況造成該路徑結構出現一自交錯狀況時,藉由檢查該路徑結構中該些交點之一總數的一變化,判斷一封閉曲線的產生或消失。
- 如申請專利範圍第34項所述之二維向量圖形三角化方法,其中當該形變狀況造成任二路徑結構重疊時,藉由檢查重疊的多個交點,找出新產生的一新封閉曲線,依據該二邊界線段的一從屬關係,並且更新該些路徑結構之多個封閉曲線的該些二元樹資料結構。
- 如申請專利範圍第34項所述之二維向量圖形三角化方法,其中當該形變狀況造成任一封閉曲線出現一內部重疊狀況時,找出該封閉曲線之內部重疊的一重疊封閉曲線,移除該重疊封閉曲線,並且更新該封閉曲線的該二元樹資料結構。
- 如申請專利範圍第22項所述之二維向量圖形三角化方法,其中當該二維向量圖形之一畫面出現一新封閉曲線時,對該新封閉曲線的一局部區域重新進行該三角化處理,建立一新三角網格,並更新該二元樹資料結構。
- 如申請專利範圍第40項所述之二維向量圖形三角化 方法,其中在當該二維向量圖形之一封閉曲線的一狀態改變時,調整該狀態改變之該封閉曲線的該三角網格的步驟中,該二維向量圖形三角化方法先更包括:更新該封閉曲線;以及更新該已更新封閉曲線所對應的該三角網格。
- 如申請專利範圍第41項所述之二維向量圖形三角化方法,其中當該二維向量圖形之一封閉曲線的一狀態改變時,調整該狀態改變之該封閉曲線的該三角網格的步驟更包括:將交錯的二邊界線段細分為另外四邊界線段,並加入一新交點;合併原分離的另二鄰接邊界線段,並移除一舊交點;調整在加入該新交點與移除該舊交點之過程中,被影響之多個端點與該些端點之間的該連結關係;以及更新該封閉曲線的該二元樹資料結構。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098139814A TWI443603B (zh) | 2009-11-23 | 2009-11-23 | 二維向量圖形三角化系統及其方法 |
US12/631,785 US8466920B2 (en) | 2009-11-23 | 2009-12-04 | Two dimensional vector graphics triangulation system and method thereof |
KR1020090123087A KR101114002B1 (ko) | 2009-11-23 | 2009-12-11 | 2차원 벡터 그래픽스 삼각형화 시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098139814A TWI443603B (zh) | 2009-11-23 | 2009-11-23 | 二維向量圖形三角化系統及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201118796A TW201118796A (en) | 2011-06-01 |
TWI443603B true TWI443603B (zh) | 2014-07-01 |
Family
ID=44061758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098139814A TWI443603B (zh) | 2009-11-23 | 2009-11-23 | 二維向量圖形三角化系統及其方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8466920B2 (zh) |
KR (1) | KR101114002B1 (zh) |
TW (1) | TWI443603B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8836703B2 (en) * | 2011-09-20 | 2014-09-16 | General Electric Company | Systems and methods for accurate measurement with a mobile device |
EP2820562B1 (en) | 2012-02-27 | 2017-08-09 | Intel Corporation | Using cost estimation to improve performance of tile rendering for image processing |
KR101338370B1 (ko) * | 2012-04-27 | 2013-12-10 | 주식회사 컴퍼니원헌드레드 | 지피유를 이용한 2차원 벡터 그래픽스 패스의 배치 렌더링 방법 |
US9317489B2 (en) * | 2013-06-27 | 2016-04-19 | Adobe Systems Incorporated | Vector graphic conversion into fonts |
US10725650B2 (en) * | 2014-03-17 | 2020-07-28 | Kabushiki Kaisha Kawai Gakki Seisakusho | Handwritten music sign recognition device and program |
US10347016B2 (en) * | 2016-01-12 | 2019-07-09 | Monotype Imaging Inc. | Converting font contour curves |
US10936792B2 (en) | 2017-12-21 | 2021-03-02 | Monotype Imaging Inc. | Harmonizing font contours |
KR102149105B1 (ko) * | 2019-09-18 | 2020-08-27 | 세종대학교산학협력단 | 혼합현실 기반 3차원 스케치 장치 및 방법 |
CN111523159B (zh) * | 2020-04-16 | 2023-04-28 | 深圳云甲科技有限公司 | 网格模型的塑形方法、终端及存储介质 |
US11164355B1 (en) * | 2020-04-23 | 2021-11-02 | Adobe Inc. | Shape aware transformation |
US11481529B2 (en) * | 2020-04-24 | 2022-10-25 | The Boeing Company | Section measurement system |
US11294352B2 (en) * | 2020-04-24 | 2022-04-05 | The Boeing Company | Cross-section identification system |
CN113379006B (zh) * | 2021-08-16 | 2021-11-02 | 北京国电通网络技术有限公司 | 图像识别方法、装置、电子设备和计算机可读介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963209A (en) * | 1996-01-11 | 1999-10-05 | Microsoft Corporation | Encoding and progressive transmission of progressive meshes |
US5896139A (en) * | 1996-08-01 | 1999-04-20 | Platinum Technology Ip, Inc. | System and method for optimizing a scene graph for optimizing rendering performance |
US6137492A (en) * | 1997-04-03 | 2000-10-24 | Microsoft Corporation | Method and system for adaptive refinement of progressive meshes |
US6879324B1 (en) * | 1998-07-14 | 2005-04-12 | Microsoft Corporation | Regional progressive meshes |
US6798411B1 (en) * | 1999-10-29 | 2004-09-28 | Intel Corporation | Image processing |
US6889176B1 (en) * | 2000-07-24 | 2005-05-03 | Ford Global Technologies, Llc | Method for reconstructing the topology of a polygonal soup |
US20070018988A1 (en) * | 2005-07-20 | 2007-01-25 | Michael Guthe | Method and applications for rasterization of non-simple polygons and curved boundary representations |
TWI401615B (zh) * | 2008-12-12 | 2013-07-11 | Inst Information Industry | 向量繪圖系統及向量繪圖著色方法 |
-
2009
- 2009-11-23 TW TW098139814A patent/TWI443603B/zh active
- 2009-12-04 US US12/631,785 patent/US8466920B2/en active Active
- 2009-12-11 KR KR1020090123087A patent/KR101114002B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20110122139A1 (en) | 2011-05-26 |
TW201118796A (en) | 2011-06-01 |
KR20110057055A (ko) | 2011-05-31 |
US8466920B2 (en) | 2013-06-18 |
KR101114002B1 (ko) | 2012-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI443603B (zh) | 二維向量圖形三角化系統及其方法 | |
JP4621618B2 (ja) | 図形描画装置、図形描画方法、およびプログラム | |
JP5270004B2 (ja) | 3次元グラフィックスハードウェアを使用した2次元グラフィックスレンダリング中の頂点ポイントの廃棄 | |
JP4030519B2 (ja) | 画像処理装置および画像処理システム | |
JP6196032B2 (ja) | 複数の3d曲線からの表面の生成 | |
JP5653141B2 (ja) | 画像処理方法、画像処理装置、及び、プログラム | |
CN112085814B (zh) | 电子地图显示方法、装置、设备及可读存储介质 | |
CN104732479A (zh) | 对图像进行调整大小 | |
JP2008084243A (ja) | 氾濫シミュレーション装置およびプログラム | |
US20160063669A1 (en) | Dynamic Motion Path Blur User Interface | |
US9779484B2 (en) | Dynamic motion path blur techniques | |
JP4951535B2 (ja) | 地図画像処理装置 | |
JP2010072808A (ja) | 描画装置 | |
JP2011210160A (ja) | 画像処理方法、画像処理装置、プログラム、及びプログラム記憶媒体 | |
JP2012065202A (ja) | 画像処理装置、方法、及びプログラム | |
JP5407650B2 (ja) | 表示装置、プログラム、及び表示方法 | |
JP2005107871A (ja) | 画像表示方法と装置、該方法によるプログラムとこれを格納した記録媒体 | |
JP5034806B2 (ja) | 図形描画装置、図形描画方法、図形描画プログラム、および該プログラムを記録した記録媒体 | |
JP2005070373A (ja) | 地図座標変換プログラムおよび地図座標変換装置 | |
JP2007179272A (ja) | コンピュータ支援設計装置、そのプログラム及び方法 | |
JP5290138B2 (ja) | メッシュ変更装置、メッシュ変更方法、およびプログラム | |
JP2011070594A (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
JP5629483B2 (ja) | 画像処理方法、画像処理装置、及びプログラム | |
JP4706723B2 (ja) | 図形縮小編纂方法及び装置 | |
CN113345050B (zh) | 一种修改二维几何边框方法及相关装置 |