專利名稱:一種基于高階三角形插值曲面細分的幾何數據細分方法
技術領域:
本發明屬于幾何體造型技術領域,特別是涉及一種基于三角形插值曲面細分的幾何數據細分方法。
背景技術:
細分方法是一個從離散到離散的過程,從初始多面體或多邊形網格出發,遞歸地調用細分規則加密控制網格,最終在極限意義下,網格序列收斂到連續甚至光滑曲線、曲面,具有許多參數方法和隱式方法表示的優點,適合計算機的離散表示。1990年,Dyn等人在論文“A butterflysubdivision scheme for surface interpolatory with tension control.ACMTransactions on Graphics.9(1990)160-169”中把曲線的插值方法推廣到了曲面,形成了曲面插值細分方法,開創了曲面插值細分的先河。
近年來使用細分方法迭代構造三維幾何實體作為一個新的研究方向,在理論和應用中逐漸得到了重視和發展,成為一種新的體造型的手段。曲面細分方法目的在于建立了一種基于離散數據迭代細化的方法快速建立三維數據體的技術,表現出了很多新的特性和優點。其中,三角形拓撲網格是形成三維幾何形體和進行有限元等計算中常用的三維形體表示的拓撲結構。
目前與基于曲面細分方法的幾何造型方法相關的技術方案有1996年,D.Zorin,P. Schrder,W.Sweldens在論文“Interpolating Subdivision forMeshes with Arbitrary Topology.SIGGRAPH 96 Proceedings(1996)189-192”中提出在三角形拓撲網格上的插值型曲面細分方法。這是當今最為流行的曲面插值細分方法,但是該細分方法生成的曲面只能達到C1連續,曲面的光順性難免不足,為了克服這個缺點,本發明提供了一種在正則情形下能達到C2連續,在奇異點C1連續的插值細分曲面,提高了細分曲面的光滑效果。同時本細分曲面在一次細分時把一個三角形分裂為9個,1996年Zorin提出的方法在一次細分時只把一個三角形分裂為4個,因而本細分方法在生成相同復雜度的模型時具有更高的速度優勢。
發明內容
本發明的目的在于克服現有技術的不足,提供一種能生成更光滑曲面,而且速度更快的基于三角形插值曲面細分的幾何數據細分方法。
為了實現發明目的,采用的技術方案為一種基于高階三角形插值曲面細分的幾何數據細分方法的主要步驟包括1)利用拓撲規則將三角形的拓撲網格進行分裂,以增加新頂點并形成新的網格拓撲;2)利用幾何規則計算所有頂點的幾何位置;3)循環迭代上述步驟1、2至滿足循環停止條件。
所述拓撲規則為(1)在拓撲網格的每一個三角形中,對于三角形的三條邊,各產生2個新的邊點。原三角形每條邊應包含兩個頂點,這里稱為A、B,現于每條邊都生成了2個新的邊點C、D,我們定義D到A的距離不比C到A的距離大。分別連接邊點A與C,C與D,D與B,新生成3條邊AC、CD、DB,用新生成的3條邊AC、CD、DB代替原有邊AB。對于每個三角形,除了在每條邊各生成2個新邊點外,還在每個三角形中生成一個面點。根據面點和三角形3條邊共9個邊點的位置,把一個三角形分裂成9個新三角形。
(2)原有的拓撲網格頂點保持不變。
所述幾何規則包括不規則三角形幾何規則和規則三角形幾何規則。
所述不規則三角形幾何規則具體如下,該幾何規則涉及到2個不同邊點和1個面點(I)邊點1以不規則頂點P0為中心,得到所有與不規則頂點相連接的頂點構成一個頂點環,P1、P2、P3、...、Pn為頂點環上順時針或逆時針排放的所有頂點,其中W1、W2、W3、...、Wn為與頂點對應的權重,那么邊點1的計算方法為q=w0p0k+Σi=1nwipik]]>權重的計算法方法w0=89w1=4+n9nwk=49ncos2πkn,(k=2,3,···,n)]]>(II)邊點2以不規則頂點P0為中心,得到所有與不規則頂點相連接的頂點構成一個頂點環,P1、P2、P3、...、Pn為頂點環上順時針或逆時針排放的所有頂點,其中W1、W2、W3、...、Wn為與頂點對應的權重,那么邊點2的計算方法為q=w0p0k+Σi=1nwipik]]>權重的計算法方法w0=59w1=4+4n9nwk=49ncos2πkn,(k=2,3,···,n)]]>(III)面點以不規則頂點P0為中心,得到所有與不規則頂點相連接的頂點構成一個頂點環,P1、P2、P3、...、Pn為頂點環上順時針或逆時針排放的所有頂點,其中W1、W2、W3、...、Wn為與頂點對應的權重,那么面點的計算方法為q=w0p0k+Σi=1nwipik]]>權重的計算法方法當與不規則頂點P0鄰接的頂點有且只有3個時候,w0=23,w1=518,w2=518,w3=-29.]]>當與不規則頂點P0鄰接的頂點有且只有4個時候,w0=23,w1=15+3372,w2=15+3372,w3=3+3372,w4=3+3372.]]>當與不規則頂點P0鄰接的頂點多于4個時候,
其中 (IV)原頂點位置保持不變。
所述規則三角形幾何規則,具體如下,該幾何規則涉及到1個邊點和1個面點(I)邊點每條邊都包含兩個頂點,取出所有與該兩個頂點相鄰接的所有頂點,在規則情況下,這些鄰接的頂點為8個,加上邊的原有的2個頂點,共有10個頂點,把它們標記為P1、P2、P3、...、P10。其中P1、P2為邊的兩個頂點,P3、P4為與P1、P2都相鄰的兩個頂點,P9為與P1相鄰,但是不與P3、P4相鄰的頂點,P10為與P2相鄰,但是不與P3、P4相鄰的頂點,P5、P6為與P1相鄰但不與P2相鄰的頂點,P7、P8為與P2相鄰但不與P1相鄰的頂點。那么邊點的計算方法為q=αP1+βP2+γP3+γP4+δP5+δP6+ξP7+ξP8+εP9+νP10,其中α=136(24+2411),β=136(12-2411),γ=136(4),δ=136(-2-611),]]>ξ=136(-2+611),ϵ=0,v=0.]]>(II)面點每個三角形包含3個頂點,取出所有包含這三個頂點至少其中一個的三角形,這樣的三角形一共有13個,這13三角形中一共有12個不同的頂點。標記面點所在三角形的三個頂點為P1,P2,P3,同時與P1、P2相鄰的頂點為P4,同時與P2、P3相鄰的頂點為P5,同時與P1、P3相鄰的頂點為P6,其余頂點為P7、P8、P9、P10、P11、P12。那么面點的計算方法為q=136(14+611)(P1+P2+P3)+136(-1211)(P4+P5+P6)+136(-1+311)Σj=712Pj]]>(III)頂點保持不變。
上述規則三角形幾何規則所涉及的拓撲意義上的規則三角形的幾何約束為(1)所有的拓撲網格都很好連接在一起,也就是說沒有孤立點或者孤立邊,每一個點都在邊上,每一條邊都在面上;(2)每一個面元素都是封閉體,由邊包圍而成,也就是說三角形包圍的面不會形成漏縫或者洞,面不會相交和自相交;(3)每條邊都為2個三角形所共享。
(4)對于規則三角形拓撲網格,一個點僅與6條邊相連。
所述循環停止條件為三角形已經達到設定的足夠的計算精度或顯示精度、或三角形的最長的一條邊的長度小于設定的值、或三角形最大的元素小于設定的參數值、或三角形的數量大于設定的參數值。
本發明方案定義的是在三角形拓撲結構實體上的細分規則,在面上要求有分布較均勻的拓撲網格點,這些網格點將被插值,并進一步細分,逐漸形成稠密的體數據點集。
其優越性如下(1)對于三角形的三維網格數據,可以通過本發明,經過迭代計算生成稠密的連續面數據;(2)插值型方法所生成的圖形經過其初始的控制頂點,當需要進行幾何形體變形時,可以直接操縱控制頂點,進行交互式的操作,易于構造任意形狀的三維幾何形體。
(3)本方法能夠生成更加光滑的曲面。一般的方法只能生成C1連續的細分曲面,而本方法能夠生成正則區域C2連續、奇異點C1連續的曲面。
(4)本方法的生成曲面速度更快。一般的方法在每次細分時,只把一個三角形分裂成4個新的三角形,而本方法每次細分時,把一個三角形分裂成9個新的三角形,因而能更快地形成密集網格。
圖1為基于高階三角形插值曲面細分的幾何數據細分方法流程圖;圖2為三角形面片分裂示意圖;圖3為規則三角形邊點細分規則示意圖;圖4為不規則三角形邊點細分規則示意圖;圖5為基于高階三角形插值曲面細分效果圖。
具體實施例方式
下面結合附圖對本發明做進一步的說明。
如圖1所示為基于高階三角形插值曲面細分的幾何數據細分方法流程圖,首先利用拓撲規則將三角形的拓撲網格進行分裂,以增加新頂點并形成新的網格拓撲,接著利用幾何規則計算所有頂點的幾何位置;最后循環迭代上述步驟至滿足循環停止條件。
具體過程如下一、利用拓撲規則將三角形的拓撲網格進行分裂,以增加新頂點并形成新的網格拓撲本發明對規則三角形的細分過程如附圖2所示,先對該三角形的拓撲網格進行分裂,附圖2左圖為原三角形,右圖為分裂后三角形,具體如下1)三角形的3條邊上,各生成2個邊點。
2)在每個三角形中,各生成1個面點。
3)分別連接新生成的邊點和面點。
4)按照附圖2右圖的規則連接新生成的邊點與三角形原有的頂點。
5)從幾何數據中刪除三角形原有的3條邊,用附圖2右圖中的18條邊取代。
6)從幾何數據中刪除原有三角形,用附圖2右圖中的9個三角形取而代之。
二、利用幾何規則計算所有頂點的幾何位置對網格中的所有三角形進行分裂后,通過幾何規則計算點的位置,具體如下(1)若三角形為規則三角形,即三角形3個頂點都為規則頂點,與三角形3個頂點相連接的邊的數目均為6,那么按照圖3(b)給出的掩膜,從三角形網格數據中取出相對應的點,按照以下方法計算新插入邊點的位置q=αP1+βP2+γP3+γP4+δP5+δP6+ξP7+ξP8+εP9+νP10,其中α=136(24+2411),β=136(12-2411),γ=136(4),δ=136(-2-611),]]>ξ=136(-2+611),ϵ=0,v=0.]]>按照圖3(a)給出的掩膜,從三角形網格數據中取出相對應的點,按照以下方法計算新插入面點的位置q=136(14+611)(P1+P2+P3)+136(-1211)(P4+P5+P6)+136(-1+311)Σj=712Pj]]>(2)若三角形為非規則三角形,即三角形3個頂點中,至少有一個頂點滿足此條件與該頂點相鄰接的邊的數目不為6。對于邊點的生成,取出連接的邊數目不為6的頂點P0,然后再取出所有與該頂點相連接的頂點,把相連接的頂點按照逆時針或者順時針順序排放好,以邊點所在的頂點為P1,其余點按排放順序編號為P2、P3、P4、....,假設共有n個頂點,那么新插入的2個邊點和面點的位置應該用如下方法確定q=w0p0k+Σi=1nwipik,]]>其中Wi為與Pi對應的權重。
對于邊點1,如圖4(a),其權重的計算方法為w0=89w1=4+n9nwk=49ncos2πkn,(k=2,3,···,n),]]>對于邊點2,如圖4(b),其權重的計算方法為
w0=59w1=4+4n9nwk=49ncos2πkn,(k=2,3,···,n)]]>對于面點,如圖4(c),其權重的計算方法為當與不規則頂點V0鄰接的頂點有且只有3個時候,w0=23,w1=518,w2=518,w3=-29.]]>當與不規則頂點V0鄰接的頂點有且只有4個時候,w0=23,w1=15+3372,w2=15+3372,w3=3+3372,w4=3+3372.]]>當與不規則頂點V0鄰接的頂點多于4個時候, 其中 (3)計算頂點,原頂點位置在細分過程中保持不變。
三、循環迭代上述步驟一、二至滿足循環停止條件循環停止條件為三角形已經達到設定的足夠的計算精度或顯示精度、或三角形的最長的一條邊的長度小于設定的值、或三角形最大的元素小于設定的參數值、或三角形的數量大于設定的參數值。
如圖5所示為基于高階三角形插值曲面細分效果圖,通過以上的三角形插值曲面細分算法,一個三角形將被分成9個小的三角形,在曲面細分循環迭代計算中,可能的循環停止條件如下已經達到足夠的計算精度或顯示精度;最長的一條邊的長度小于某個預先給定的值;或者最大的面元素都小于某個參數值;面元素的數量大于某個參數值。
實驗表明,一般進行2-3次曲面細分就能夠得到較稠密的體數據,滿足應用要求。
本發明在三角形拓撲結構實體上的細分規則,,網格中的點將被插值,并進一步細分,逐漸形成稠密的體數據點集。
權利要求
1.一種基于高階三角形插值曲面細分的幾何數據細分方法,它主要步驟包括1)利用拓撲規則將三角形的拓撲網格進行分裂,以增加新頂點并形成新的網格拓撲;2)利用幾何規則計算所有頂點的幾何位置;3)循環迭代上述步驟1、2至滿足循環停止條件。
2.根據權利要求1所述的基于高階三角形插值曲面細分的幾何數據細分方法,其特征在于,所述步驟1)的拓撲規則為a)在拓撲網格的每一個三角形中,對于三角形的三條邊,各產生2個新的邊點,還在每個三角形中生成一個面點,根據面點和三角形3條邊共9個邊點的位置,把一個三角形分裂成9個新三角形;b)原有的拓撲網格頂點保持不變。
3.根據權利要求1所述的基于高階三角形插值曲面細分的幾何數據細分方法,其特征在于,所述步驟2)的幾何規則包括不規則三角形幾何規則和規則三角形幾何規則。
4.根據權利要求3所述的基于高階三角形插值曲面細分的幾何數據細分方法,其特征在于,所述不規則三角形幾何規則涉及到2個不同邊點和1個面點,具體如下(I)邊點1以不規則頂點P0為中心,得到所有與不規則頂點相連接的頂點構成一個頂點環,P1、P2、P3、...、Pn為頂點環上順時針或逆時針排放的所有頂點,其中W1、W2、W3、...、Wn為與頂點對應的權重,那么邊點1的計算方法為q=w0p0k+Σi=1nwipik]]>權重的計算法方法w0=89w1=4+n9nwk=49ncos2πkn,(k=2,3,...,n)]]>(II)邊點2以不規則頂點P0為中心,得到所有與不規則頂點相連接的頂點構成一個頂點環,P1、P2、P3、...、Pn為頂點環上順時針或逆時針排放的所有頂點,其中W1、W2、W3、...、Wn為與頂點對應的權重,那么邊點2的計算方法為q=w0p0k+Σi=1nwipik]]>權重的計算法方法w0=59w1=4+4n9nwk=49ncos2πkn,(k=2,3,...,n)]]>(III)面點以不規則頂點P0為中心,得到所有與不規則頂點相連接的頂點構成一個頂點環,P1、P2、P3、...、Pn為頂點環上順時針或逆時針排放的所有頂點,其中W1、W2、W3、...、Wn為與頂點對應的權重,那么面點的計算方法為q=w0p0k+Σi=1nwipik]]>權重的計算法方法當與不規則頂點P0鄰接的頂點有且只有3個時候,w0=23,]]>w1=518,]]>w2=518,]]>w3=-29;]]>當與不規則頂點P0鄰接的頂點有且只有4個時候,w0=23,]]>w1=15+3372,]]>w2=15+3372,]]>w3=-3+3372,]]>w4=-3+3372;]]>當與不規則頂點P0鄰接的頂點多于4個時候, 其中(IV)原頂點位置保持不變。
5.根據權利要求3所述的基于高階三角形插值曲面細分的幾何數據細分方法,其特征在于,所述規則三角形幾何規則涉及到1個邊點和1個面點,具體如下(I)邊點每條邊都包含兩個頂點,取出所有與該兩個頂點相鄰接的所有頂點,在規則情況下,這些鄰接的頂點為8個,加上邊的原有的2個頂點,共有10個頂點,把它們標記為P1、P2、P3、...、P10,其中P1、P2為邊的兩個頂點,P3、P4為與P1、P2都相鄰的兩個頂點,P9為與P1相鄰,但是不與P3、P4相鄰的頂點,P10為與P2相鄰,但是不與P3、P4相鄰的頂點,P5、P6為與P1相鄰但不與P2相鄰的頂點,P7、P8為與P2相鄰但不與P1相鄰的頂點,那么邊點的計算方法為q=αP1+βP2+γP3+γP4+δP5+δP6+ξP7+ξP8+εP9+νP10,其中α=136(24+2411),]]>β=136(12-2411),]]>γ=136(4),]]>δ=136(-2-611),]]>ξ=136(-2+611),]]>ε=0,ν=0;(II)面點每個三角形包含3個頂點,取出所有包含這三個頂點至少其中一個的三角形,這樣的三角形一共有13個,這13三角形中一共有12個不同的頂點,標記面點所在三角形的三個頂點為P1,P2,P3,同時與P1、P2相鄰的頂點為P4,同時與P2、P3相鄰的頂點為P5,同時與P1、P3相鄰的頂點為P6,其余頂點為P7、P8、P9、P10、P11、P12,那么面點的計算方法為q=136(14+611)(P1+P2+P3)+136(-1211)(P4+P5+P6)+136(-1+311)Σj=712Pj]]>(III)頂點保持不變。
6.根據權利要求3或5所述的基于高階三角形插值曲面細分的幾何數據細分方法,其特征在于,所述三角形幾何規則所涉及的拓撲意義上的規則三角形的幾何約束為(1)所有的拓撲網格都很好連接在一起,也就是說沒有孤立點或者孤立邊,每一個點都在邊上,每一條邊都在面上;(2)每一個面元素都是封閉體,由邊包圍而成,也就是說三角形包圍的面不會形成漏縫或者洞,面不會相交和自相交;(3)每條邊都為2個三角形所共享;(4)對于規則三角形拓撲網格,一個點僅與6條邊相連。
7.根據權利要求1所述的基于高階三角形插值曲面細分的幾何數據細分方法,其特征在于,所述步驟3)中的循環停止條件為三角形已經達到設定的足夠的計算精度或顯示精度、或三角形的最長的一條邊的長度小于設定的值、或三角形最大的元素小于設定的參數值、或三角形的數量大于設定的參數值。
全文摘要
本發明公開了一種基于高階三角形插值曲面細分的幾何數據細分方法,它屬于幾何體造型技術領域。該方法主要步驟包括1)利用拓撲規則將三角形的拓撲網格進行分裂,以增加新頂點并形成新的網格拓撲;2)利用幾何規則計算所有頂點的幾何位置;3)循環迭代上述步驟1)、2)至滿足循環停止條件。利用此方法經過迭代計算生成稠密的連續面數據,所生成的圖形經過其初始的控制頂點,當需要進行幾何形體變形時,可以直接操縱控制頂點,進行交互式的操作,易于構造任意形狀的三維幾何形體,而且本方法能夠生成正則區域C2連續、奇異點C1連續的曲面。
文檔編號G06T17/10GK1975787SQ20061012398
公開日2007年6月6日 申請日期2006年12月1日 優先權日2006年12月1日
發明者凌若天, 羅笑南 申請人:中山大學