一種3d線條繪製方法及裝置的製作方法
2023-07-25 12:20:11
專利名稱:一種3d線條繪製方法及裝置的製作方法
技術領域:
本發明涉及計算機圖形處理技術領域,尤其涉及一種3D線條繪製方法及裝置。
背景技術:
計算機圖形學(Computer Graphics,CG)是近幾十年來發展迅速、應用廣泛的新興 學科,主要內容是研究如何在計算機中表示圖形,以及利用計算機進行圖形的計算、處理和顯不。計算機圖形學的發展主要分為兩個階段,一個2W2-DimenSinal)圖形階段,另一 個是3D(3-Dimensinal)圖形階段。目前,DirectX和OpenGL是最主流的兩個3D圖形開發 平臺,這兩個平臺在實現虛擬實境渲染方面表現都很出色,但是在3D線條繪製方面效果卻 都不是很理想。現有的基於DirectX的3D線條繪製方法主要包括如下步驟給定線寬度及一組 3D坐標,首先根據第一個和第二個3D坐標及線寬計算出相應多邊形(矩形)的四個頂點 坐標,然後填充由這四個頂點坐標構成的多邊形形成一段線段,然後對第二和第三個3D坐
標,第三個和第四個3D坐標,......,第n-1個和第η個3D坐標進行同樣的處理,直到處理
完上述3D坐標組中的最後一個3D坐標,得到一條3D線條。現有的基於OpenGL的3D線條繪製方法同基於DirectX的方案大體相同,只是在 繪製線段時不是填充多邊形,而是用一個寬度為線寬的「刷子」來繪製線條,當線段斜率在 [-1,1]時,刷子方向為垂直,線段斜率不在[-1,1]時,刷子方向為水平。在對現有技術的研究和實踐過程中,發明人發現現有的基於DirectX的3D線條繪 制方法根據給定的3D坐標計算出的多邊形的四個頂點坐標是2D空間(XY空間)的坐標, 而由2D空間的頂點坐標構成的多邊形是平面圖形,因此,現有技術最終繪製出的線條只有 2D空間的平面效果,而無3D空間的透視效果。而基於OpenGL的3D線條繪製方法繪製出來 的線條不僅無3D空間的透視效果,而且線條具有粗細不一致的現象。
發明內容
本發明實施例要解決的技術問題是提供一種3D線條繪製方法及裝置,能夠繪製 出具有3D空間透視效果的線條。為解決上述技術問題,本發明的目的是通過以下技術方案實現的本發明實施例提供了一種3D線條繪製方法,所述方法包括將預置的三維頂點坐標組中的第n-1個和第η個三維頂點坐標投影到TL平面,得 到第n-1個和第η個二維頂點坐標;根據第n-1個和第η個二維頂點坐標構成的直線與X軸的夾角,以及給定線寬,計 算多邊形的四個二維頂點坐標;將所述多邊形的四個二維頂點坐標還原為四個三維頂點坐標,填充由四個三維頂 點坐標構成的多邊形,得到第n-1條線段;其中,η為大於等於2的自然數。
本發明實施例還提供了一種3D線條繪製裝置,所述裝置包括二維坐標投影單元,用於將預置的三維頂點坐標組中的第n-1個和第η個三維頂 點坐標投影到TL平面,得到第n-1個和第η個二維頂點坐標;頂點坐標計算單元,用於根據第n-1個和第η個二維頂點坐標構成的直線與X軸 的夾角,以及給定線寬,計算多邊形的四個二維頂點坐標;三維坐標還原單元,用於將所述多邊形的四個二維頂點坐標還原為四個三維頂點 坐標;線條繪製單元,用於填充由四個三維頂點坐標構成的多邊形,得到第n-1條線段; 其中,η為大於等於2的自然數。上述技術方案具有如下有益效果本發明實施例提供的3D線條繪製技術,在填充多邊形前將多邊形的四個二維頂 點坐標還原為四個三維頂點坐標,由於四個三維頂點坐標構成的多邊形不再是二維空間圖 形而是三維空間圖形,因此,本發明實施例提供的技術方案不是在屏幕二維空間(XY平面) 繪製線條,而是基於真實三維空間坐標繪製線條,最終使繪製的線條具有3D空間透視效^ ο
圖1為本發明實施例提供的3D線條繪製方法流程圖;圖2為本發明實施例提供的3D線條繪製裝置組成示意圖;圖3為採用本發明實施例提供的3D線條繪製方法繪製的3D線條效果圖。
具體實施例方式為使本發明實施例的目的、技術方案、及優點更加清楚明白,以下參照附圖對本發 明實施例提供的技術方案進行詳細說明。請參見圖1,為本發明實施例提供的一種3D線條繪製方法,該方法包括如下步驟步驟101 將預置的三維頂點坐標組中的第n-1個三維頂點坐標(Xlri,Ylri,Zlri)和 第η個三維頂點坐標(Xn,yn,Zn)投影到TL平面,得到第Π-1個二維頂點坐標(Xlri,Zlri)和 第η個二維頂點坐標0cn,zn),η為大於等於2的自然數;其中,將三維頂點坐標投影到XL平面是指將三維頂點坐標的y值忽略或者設為零。步驟102 根據第n-1個和第η個二維頂點坐標構成的直線與X軸的夾角,以及給 定線寬,計算多邊形的四個二維頂點坐標;步驟103 將所述多邊形的四個二維頂點坐標還原為四個三維頂點坐標;其中,將所述多邊形的四個二維頂點坐標還原為四個三維頂點坐標具體為將第 n-1個三維頂點坐標的Zlri作為根據其計算的多邊形的兩個頂點的Z,將第η個三維頂點坐 標的^作為根據其計算的多邊形的兩個頂點的Ζ。比如,根據第n-1個三維頂點坐標計算了多邊形的第一個和第二個二維頂點坐 標,根據第η個三維頂點坐標計算了多邊形的第三個和第四個二維頂點坐標,則在還原時, 將Zlri作為第一個和第二個頂點坐標的Ζ,將\作為第三個和第四個頂點坐標的Ζ。
步驟104 填充由四個三維頂點坐標構成的多邊形,得到第n-1條線段。在實際應用中,可以調用DirectX/OpenGL中的填充函數填充四個三維頂點坐標 構成的多邊形且進行反走樣處理。以上為本發明實施例提供的3D線條繪製方法,該方法在填充多邊形前將多邊形 的四個二維頂點坐標還原為四個三維頂點坐標,由於四個三維頂點坐標構成的多邊形不再 是二維空間圖形而是三維空間圖形,因此,本發明實施例提供的技術方案不是在屏幕二維 空間(XY平面)繪製線條,而是基於真實三維空間坐標繪製線條,最終使繪製的線條具有3D 空間透視效果。以下結合具體實例對本發明實施例提供的方法進行詳細介紹。假設,預置的三維 頂點坐標組中有m個三維頂點坐標,首先對三維頂點坐標組中的第一個和第二個三維頂點 坐標按照圖1所示方法進行處理,得到第一條線段,如果所述坐標組中還有坐標,則對第二 個和第三個三維頂點坐標再按照圖1所示方法進行處理,得到第二條線段,如果所述坐標 組中還有坐標,則重複執行圖1所示方法,直到處理完坐標組中所有的坐標,最終得到一條 3D線段。值得注意的是,當m大於等於3時,會得到至少兩條線段,為了使每條線段之間平 滑連接,在上述方法中可以進一步包括填充已得到的第n-2線段和第n-1條線段相鄰的四個三維頂點坐標構成的多邊 形,使第n-2線段和第n-1條線段平滑連接。比如,得到第二條線段後,填充已經得到的第一條線段和第二條線段相鄰的四個 三維頂點構成的多邊形,得到第三條線段後,填充第二條線段和第三條線段相鄰的四個三 維頂點坐標構成的多邊形,......,以此類推。以下根據第n-1個和第η個二維頂點坐標與X軸夾角的情況,對前文所述計算多 邊形的四個二維頂點坐標的過程進行詳細介紹。假設多邊形的四個二維頂點分別為(X1, Z1),(X2, Z2),(X3, Z3)及(X4, Z4),給定線 寬為 LineWidth,則第1種,第n-1個二維頂點坐標(Xlri,Zlri)和第η個二維頂點坐標(χη,ζη)構成的 直線平行於X軸,即Zlri = \,則計算多邊形的四個二維頂點坐標具體為X1 = xn_17 Z1 = z^+Lineffidth/2 ;X2 = Xn^1 ; , Z2 = z^-Lineffidth/2 ;X3 = xn, Z3 = zn-Lineffidth/2 ;X4 = xn, Z4 = zn+Lineffidth/2 ;第2種,第n-1個和第η個二維頂點坐標構成的直線垂直於X軸,即Xlri = χη,則 計算多邊形的四個二維頂點坐標具體為X1 = x^-Lineffidth/2, Z1 = Zlri ;X2 = x^+Lineffidth/2, Z2 = Zn^1 ;X3 = xn+Lineffidth/2, Z3 = zn ;X4 = xn-Lineffidth/2, Z4 = zn ;第3種,第n-1個和第η個二維頂點坐標構成的直線既不垂直於X軸,也不平行於 X軸,則計算多邊形的四個二維頂點坐標具體為計算第n-1個和第η個二維頂點坐標構成的直線與X軸的夾角θ ;在實際應用中,夾角θ可以採用採用下式計算θ = atan [ (Zn-Zn^1) / (Xn-Xlri) ],atan 為可直接調用的庫函數。用sin θ的絕對值乘以LineWidth/2,得到X軸偏移量OffsetX ;
用cos θ的絕對值乘以LineWidth/2,得到Z軸偏移量OffsetZ ;判斷夾角θ所在的象限,根據夾角θ所在的象限,第η-1個和第η個二維頂點坐 標及OffsetX和OffsetZ,計算多邊形的四個二維頂點坐標。如果夾角θ在第一或者第三象限,即0° <夾角θ <90°或者180° <夾角θ
<270°,則計算多邊形的四個二維頂點坐標具體為X1 = xn_r0ffsetX, Z1 = Zlri+OffsetZ ;X2 = x^i+OffsetX, Z2 = zn_r0ffsetZ ;X3 = Xn-OffsetX, Z3 = zn+0ffsetZ ;X4 = xn+0ffsetX ; , Z4 = Zn-OffsetZ ;如果夾角在第二或者第四象限,即90° <夾角θ <180°或者270° <夾角θ
<360°,則計算多邊形的四個二維頂點坐標具體為判斷第η-1個和第η個二維頂點坐標構成直線的斜率是否小於等於1,大於等於負 1,如果是,則X1 = Xn—i+OffsetX,Z1 = Zlri+OffsetZ ;X2 = xn_r0ffsetX, Z2 = zn_r0ffsetZ ;X3 = xn+0ffsetX, Z3 = zn+0ffsetZ ;X4 = Xn-OffsetX ; , Z4 = Zn-OffsetZ ;如果否,則X1 = xn_r0ffsetX, Z1 = Zlrf-OffsetZ ;X2 = x^i+OffsetX, Z2 = Zn-^OffsetZ ;X3 = Xn-OffsetX, Z3 = Zn-OffsetZ ;X4 = xn+0ffsetX ; , Z4 = zn+0ffsetZ。以上對本發明實施例提供的3D線條繪製方法進行了詳細介紹,以下結合附圖對 本發明實施例提供的實現上述方法的3D線條繪製裝置進行詳細介紹請參見圖2,為本發明實施例提供的3D線條繪製裝置組成示意圖,該裝置包括二維坐標投影單元201,用於將預置的三維頂點坐標組中的第η-1個和第η個三維 頂點坐標投影到TL平面,得到第η-1個和第η個二維頂點坐標;頂點坐標計算單元202,用於根據第η-1個和第η個二維頂點坐標構成的直線與X 軸的夾角,以及給定線寬,計算多邊形的四個二維頂點坐標;三維坐標還原單元203,用於將所述多邊形的四個二維頂點坐標還原為四個三維 頂點坐標;線條繪製單元204,用於填充由四個三維頂點坐標構成的多邊形,得到第η-1條線 段;其中,η為大於等於2的自然數。值得注意的是,當m大於等於3時,會得到至少兩條線段,為了使每條線段之間平 滑連接,在上述裝置中可以進一步包括連接線段繪製單元,用於填充已得到的第n-2線段和第η-1條線段相鄰的四個三 維頂點坐標構成的多邊形,使第n-2線段和第η-1條線段平滑連接。以上為本發明實施例提供的3D線條繪製裝置,以下根據第η-1個和第η個二維頂 點坐標與X軸夾角的情況,對前文所述頂點坐標計算單元202的具體實現進行詳細介紹。第一種,第η-1個和第η個二維頂點坐標構成的直線平行於X軸,則所述頂點坐標 計算單元202具體包括第一及第二頂點計算單元,用於將χη-1賦給多邊形的第一個及第二個二維頂點 坐標X1和\ ;用Zlri加上LineWidth/2,得到多邊形的第一個二維頂點坐標的;用Zlri減 去LineWidth/2,得到多邊形的第二個二維頂點坐標的rL2 ;第二及第三頂點計算單元,用於將I賦給多邊形的第三個及第四個二維頂點坐標的&和& ;用\加上LineWidth/2,得到多邊形的第三個二維頂點坐標的T^ ;用\減去 LineWidth/2,得到多邊形的第四個二維頂點坐標的&。第二種,第n-1個和第η個二維頂點坐標構成的直線垂直於X軸,則所述頂點坐標 計算單元202具體包括第一及第二頂點坐標計算單元,用於將Zlri值賦給多邊形的第一個及第二個二維 頂點坐標的K和&,用Xlri加上LineWidth/2,得到多邊形的第一個二維頂點坐標的&,用 Xlri減去LineWidth/2,得到多邊形的第二個二維頂點坐標的\ ;第二及第三頂點坐標計算單元,用於將\賦給多邊形的第三個及第四個二維頂點 坐標的和&,用I加上LineWidth/2,得到多邊形的第三個二維頂點坐標的用^cn減去 LineWidth/2,得到多邊形的第四個二維頂點坐標的&。第三種,第n-1個和第η個二維頂點坐標構成的直線既不垂直於X軸,也不平行於 X軸,則頂點坐標計算單元202具體包括直線夾角計算單元,用於計算第n-1個和第η個二維頂點坐標構成的直線與X軸 的夾角θ ;X軸偏移量計算單元,用於用sin θ的絕對值乘以給定線寬的一半,得到X軸偏移 量 OffsetX ;Z軸偏移量計算單元,用於用cos θ的絕對值乘以給定線寬的一半,得到Z軸偏移 量 OffsetZ ;直線夾角象限判斷單元,用於判斷夾角θ所在的象限;頂點坐標計算子單元,用於根據夾角θ所在的象限,第n-1個和第η個二維頂點 坐標及X軸偏移量和Z軸偏移量,計算多邊形的四個二維頂點坐標。其中,如果直線夾角象限判斷單元判斷得到所述0° <夾角θ <90°或者180° <夾角θ < 270°,則所述頂點坐標計算子單元具體包括第一頂點坐標計算單元,用於用Xlri減去OffsetX,得到多邊形的第一個二維頂點 坐標的&,用Zlri加上OffsetZ,得到多邊形的第一個二維頂點坐標的Z1 ;第二頂點坐標計算單元,用Xlri加上OffsetX,得到多邊形的第二個二維頂點坐標 的&,用Zlri減去OffsetZ,得到多邊形的第一個二維頂點坐標的rL2 ;第三頂點坐標計算單元,用於用ι減去OffsetX,得到多邊形的第三個二維頂點坐 標的&,用\加上OffsetZ,得到多邊形的第三個二維頂點坐標的& ;第四頂點坐標計算單元,用於用ι加上OffsetX,得到多邊形的第四個二維頂點坐 標的\ ;用\減去OffsetZ,得到多邊形的第四個二維頂點坐標的如果直線夾角象限判斷單元判斷得到所述90° <夾角θ <180°或者270° <夾 角θ < 360°,則所述頂點坐標計算子單元具體包括直線斜率判斷單元。用於判斷所述若第n-1個和第η個二維頂點坐標構成直線的 斜率是否小於等於1,大於等於負1 ;第一頂點坐標計算單元1,用於在斜率小於等於1,大於等於負1時,用Xlri加上 OffsetX,得到多邊形的第一個二維頂點坐標的& ;用Zlri加上OffsetZ,得到多邊形的第一 個二維頂點坐標的Z1 ;第二頂點坐標計算單元1,用於在斜率小於等於1,大於等於負1時,用Xlri減去OffsetX,得到多邊形的第二個二維頂點坐標的&,用Zlri減去OffsetZ,得到多邊形的第一 個二維頂點坐標的;第三頂點坐標計算單元1,用於在斜率小於等於1,大於等於負1時,用I加上 OffsetX,得到多邊形的第三個二維頂點坐標的&,用\加上Offsetz,得到多邊形的第三個 二維頂點坐標的L。;第四頂點坐標計算單元1,用於在斜率小於等於1,大於等於負1時,用I減去 OffsetX,得到多邊形的第四個二維頂點坐標的&,用\減去Offsetz,得到多邊形的第四個 二維頂點坐標的τ,;第一頂點坐標計算單元2,用於在斜率大於1,小於負1時,用Xlri減去OffsetX,得 到多邊形的第一個二維頂點坐標的&,用Zlri減去OffsetZ,得到多邊形的第一個二維頂點 坐標的Z1 ;第二頂點坐標計算單元2,用於在斜率大於1,小於負1時,用Xlri加上OffsetX,得 到多邊形的第二個二維頂點坐標的&,用Zlri加上OffsetZ,得到多邊形的第一個二維頂點 坐標的Z2 ;第三頂點坐標計算單元2,用於在斜率大於1,小於負1時,用ι減去OffsetX,得 到多邊形的第三個二維頂點坐標的&,用\減去OffsetZ,得到多邊形的第三個二維頂點坐 標的Z3 ;第四頂點坐標計算單元2,用於在斜率大於1,小於負1時,用ι加上OffsetX,得 到多邊形的第四個二維頂點坐標的&,用\加上OffsetZ,得到多邊形的第四個二維頂點坐 標的Z4。以上為本發明實施例提供的3D繪線方法及裝置,請參見圖3是採用本發明實施例 技術方案得到的3D繪線效果圖,從該圖可以直觀地看到線條具有3D透視效果段之間光滑 連接。以上對本發明所提供的一種3D線條的繪製方法及裝置進行了詳細介紹,對於本 領域的一般技術人員,依據本發明實施例的思想,在具體實施方式
及應用範圍上均會有改 變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種3D線條繪製方法,其特徵在於,所述方法包括將預置的三維頂點坐標組中的第n-1個和第η個三維頂點坐標投影到TL平面,得到第 η-1個和第η個二維頂點坐標;根據第η-1個和第η個二維頂點坐標構成的直線與X軸的夾角,以及給定線寬,計算多 邊形的四個二維頂點坐標;將所述多邊形的四個二維頂點坐標還原為四個三維頂點坐標,填充由四個三維頂點坐 標構成的多邊形,得到第η-1條線段;其中,η為大於等於2的自然數。
2.如權利要求1所述的方法,其特徵在於,若第η-1個和第η個二維頂點坐標構成的直 線平行於X軸,則計算多邊形的四個二維頂點坐標具體包括將第η-1個二維頂點坐標的χ值賦給多邊形的第一個及第二個二維頂點坐標的X ; 用第η-1個二維頂點坐標的ζ值加上給定線寬的一半,得到多邊形的第一個二維頂點 坐標的Z值;用第η-1個二維頂點坐標的ζ值減去給定線寬的一半,得到多邊形的第二個二維頂點 坐標的Z值;將第η個二維頂點坐標的χ值賦給多邊形的第三個及第四個二維頂點坐標的X ; 用第η個二維頂點坐標的ζ值加上給定線寬的一半,得到多邊形的第三個二維頂點坐 標的Z值;用第η個二維頂點坐標的ζ值減去給定線寬的一半,得到多邊形的第四個二維頂點坐 標的Z值。
3.如權利要求1所述的方法,其特徵在於,所述若第η-1個和第η個二維頂點坐標構成 的直線垂直於X軸,則計算多邊形的四個二維頂點坐標具體包括將第η-1個二維頂點坐標的ζ值賦給多邊形的第一個及第二個二維頂點坐標的Z ; 用第η-1個二維頂點坐標的χ值加上給定線寬的一半,得到多邊形的第一個二維頂點 坐標的X值;用第η-1個二維頂點坐標的χ值減去給定線寬的一半,得到多邊形的第二個二維頂點 坐標的X值;將第η個二維頂點坐標的ζ值賦給多邊形的第三個及第四個二維頂點坐標的Z ; 用第η個二維頂點坐標的χ值加上給定線寬的一半,得到多邊形的第三個二維頂點坐 標的X值;用第η個二維頂點坐標的χ值減去給定線寬的一半,得到多邊形的第四個二維頂點坐 標的X值。
4.如權利要求1所述的方法,其特徵在於,若所述若第η-1個和第η個二維頂點坐標構 成的直線既不垂直於X軸,也不平行於X軸,則計算多邊形的四個二維頂點坐標具體包括計算第η-1個和第η個二維頂點坐標構成的直線與X軸的夾角θ ; 用sin θ的絕對值乘以給定線寬的一半,得到X軸偏移量; 用cos θ的絕對值乘以給定線寬的一半,得到Z軸偏移量;判斷夾角θ所在的象限,根據夾角θ所在的象限,第η-1個和第η個二維頂點坐標及 X軸偏移量和Z軸偏移量,計算多邊形的四個二維頂點坐標。
5.如權利要求4所述的方法,其特徵在於,若所述0°<夾角θ <90°或者180° <夾角θ < 270°,則計算多邊形的四個二維頂點坐標具體包括用第η-1個二維頂點坐標的χ值減去X軸偏移量,得到多邊形的第一個二維頂點坐標 的X ;用第η-1個二維頂點坐標的ζ值加上Z軸偏移量,得到多邊形的第一個二維頂點坐標 的Z值;用第η-1個二維頂點坐標的χ值加上X軸偏移量,得到多邊形的第二個二維頂點坐標 的X值;用第η-1個二維頂點坐標的ζ值減去Z軸偏移量,得到多邊形的第一個二維頂點坐標 的Z值;用第η個二維頂點坐標的χ值減去X軸偏移量,得到多邊形的第三個二維頂點坐標的X ;用第η個二維頂點坐標的ζ值加上Z軸偏移量,得到多邊形的第三個二維頂點坐標的 Z值;用第η個二維頂點坐標的χ值加上X軸偏移量,得到多邊形的第四個二維頂點坐標的 X值;用第η個二維頂點坐標的ζ值減去Z軸偏移量,得到多邊形的第四個二維頂點坐標的 Z值。
6.如權利要求4所述的方法,其特徵在於,若所述90° <夾角θ <180°或者270° <夾角θ < 360°,則計算多邊形的四個二維頂點坐標具體包括判斷所述第η-1個和第η個二維頂點坐標構成直線的斜率是否小於等於1,大於等於負 1,如果是,則用第η-1個二維頂點坐標的χ值加上X軸偏移量,得到多邊形的第一個二維頂點坐標 的X ;用第η-1個二維頂點坐標的ζ值加上Z軸偏移量,得到多邊形的第一個二維頂點坐標 的Z值;用第η-1個二維頂點坐標的χ值減去X軸偏移量,得到多邊形的第二個二維頂點坐標 的X值;用第η-1個二維頂點坐標的ζ值減去Z軸偏移量,得到多邊形的第一個二維頂點坐標 的Z值;用第η個二維頂點坐標的χ值加上X軸偏移量,得到多邊形的第三個二維頂點坐標的X ;用第η個二維頂點坐標的ζ值加上Z軸偏移量,得到多邊形的第三個二維頂點坐標的 Z值;用第η個二維頂點坐標的χ值減去X軸偏移量,得到多邊形的第四個二維頂點坐標的 X值;用第η個二維頂點坐標的ζ值減去Z軸偏移量,得到多邊形的第四個二維頂點坐標的 Z值;如果否,則用第η-1個二維頂點坐標的χ值減去X軸偏移量,得到多邊形的第一個二維頂點坐標的X ;用第n-1個二維頂點坐標的Z值減去Z軸偏移量,得到多邊形的第一個二維頂點坐標 的Z值;用第n-1個二維頂點坐標的χ值加上X軸偏移量,得到多邊形的第二個二維頂點坐標 的X值;用第n-1個二維頂點坐標的ζ值加上Z軸偏移量,得到多邊形的第一個二維頂點坐標 的Z值;用第η個二維頂點坐標的χ值減去X軸偏移量,得到多邊形的第三個二維頂點坐標的 X值;用第η個二維頂點坐標的ζ值減去Z軸偏移量,得到多邊形的第三個二維頂點坐標的 Z值;用第η個二維頂點坐標的χ值加上X軸偏移量,得到多邊形的第四個二維頂點坐標的 X值;用第η個二維頂點坐標的ζ值加上Z軸偏移量,得到多邊形的第四個二維頂點坐標的 Z值。
7.如權利要求1至6中任一項權利要求所述的方法,其特徵在於,若η> 3,則在得到 所述第n-1條線段後,所述方法進一步包括填充已得到的第n-2線段和第n-1條線段相鄰的四個三維頂點坐標構成的多邊形,使 第n-2線段和第n-1條線段平滑連接。
8.—種3D線條繪製裝置,其特徵在於,所述裝置包括二維坐標投影單元,用於將預置的三維頂點坐標組中的第n-1個和第η個三維頂點坐 標投影到TL平面,得到第n-1個和第η個二維頂點坐標;頂點坐標計算單元,用於根據第n-1個和第η個二維頂點坐標構成的直線與X軸的夾 角,以及給定線寬,計算多邊形的四個二維頂點坐標;三維坐標還原單元,用於將所述多邊形的四個二維頂點坐標還原為四個三維頂點坐標;線條繪製單元,用於填充由四個三維頂點坐標構成的多邊形,得到第n-1條線段;其 中,η為大於等於2的自然數。
9.如權利要求8所述的裝置,其特徵在於,若η^ 3,則所述裝置進一步包括 連接線段繪製單元,用於填充已得到的第n-2線段和第n-1條線段相鄰的四個三維頂點坐標構成的多邊形,使第n-2線段和第n-1條線段平滑連接。
10.如權利要求8或9所述的裝置,其特徵在於,若第n-1個和第η個二維頂點坐標構 成的直線平行於X軸,則所述頂點坐標計算單元具體包括第一及第二頂點計算單元,用於將第n-1個二維頂點坐標的χ值賦給多邊形的第一個 及第二個二維頂點坐標的X ;用第n-1個二維頂點坐標的ζ值加上給定線寬的一半,得到多 邊形的第一個二維頂點坐標的Z值;用第n-1個二維頂點坐標的ζ值減去給定線寬的一半, 得到多邊形的第二個二維頂點坐標的Z值;第二及第三頂點計算單元,用於將第η個二維頂點坐標的χ值賦給多邊形的第三個及 第四個二維頂點坐標的X ;用第η個二維頂點坐標的ζ值加上給定線寬的一半,得到多邊形的第三個二維頂點坐標的Z值;用第η個二維頂點坐標的ζ值減去給定線寬的一半,得到多 邊形的第四個二維頂點坐標的Z值。
全文摘要
本發明提供了一種3D線條繪製方法及裝置。方法包括將預置的三維頂點坐標組中的第n-1個和第n個三維頂點坐標投影到XZ平面,得到第n-1個和第n個二維頂點坐標;根據第n-1個和第n個二維頂點坐標構成的直線與X軸的夾角以及給定線寬,計算多邊形的四個二維頂點坐標;將多邊形的四個二維頂點坐標還原為四個三維頂點坐標,填充由四個三維頂點坐標構成的多邊形,得到第n-1條線段;其中,n為大於等於2的自然數。本發明還提供了一種實現上述方法的3D線條繪製裝置。本發明提供的3D線條繪製技術方案不是在屏幕二維空間(XY平面)繪製線條,而是基於真實三維空間坐標繪製線條,最終使繪製的線條具有3D空間透視效果。
文檔編號G06T19/00GK102117501SQ20091025895
公開日2011年7月6日 申請日期2009年12月31日 優先權日2009年12月31日
發明者葉偉 申請人:廈門高德軟體有限公司