專利名稱:一種滿足幾何約束的細分方法
技術領域:
本發(fā)明涉及離散曲線曲面設計領域,具體涉及一種滿足幾何約束的細分方法。
背景技術:
在計算幾何、計算機圖形學、計算機動畫等熱點領域,幾何媒體通常用代數(shù)曲面、 參數(shù)曲面和多邊形網(wǎng)格等形式來描述。由于絕大多數(shù)圖形渲染系統(tǒng)對三角形的繪制具有較 好的硬件支持,離散三角形網(wǎng)格表示的曲面或離散線段表示的曲線被廣泛用以組織幾何數(shù) 據(jù),以實現(xiàn)計算機上的幾何處理和顯示設備快速繪制。針對離散曲線曲面表示,細分方法以 其表示的簡單性、處理的快捷性等優(yōu)點成為計算機輔助幾何設計、計算機圖形學中曲線曲 面表示中的一個熱門工具。然而大多數(shù)曲線曲面細分方法致力于生成光滑的極限曲線或曲面,忽略了其它幾 何屬性。但是在實際應用過程中,特別是一些工業(yè)設計領域,所設計的曲線或曲面往往還需 要一些其它的幾何或物理約束條件。比如,飛機進氣管道需要滿足一定的面積要求,飛機、 汽車、輪船等的外形需要滿足若干動力學的約束條件等。因此,可以發(fā)現(xiàn)現(xiàn)有的細分方法存 在一定局限性。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是提供一種滿足幾何約束的細分方法,能夠使生成的極 限曲線或曲面除了滿足光滑性要求外,還滿足設定的弧長或面積要求。本發(fā)明提供的技術方案如下本發(fā)明提供一種滿足幾何約束的細分方法,包括(1)計算初始控制多邊形的周長或初始網(wǎng)格的面積;(2)結合所給定的弧長或面積約束值、細分次數(shù),確定單調(diào)的約束序列;(3)用數(shù)值方法計算每一步細分的松弛參數(shù)值;(4)利用選定的帶松弛參數(shù)的細分公式對控制多邊形或控制網(wǎng)格進行加細。優(yōu)選的,所述細分公式為以下公式中的任一種
Pr' = -^PU +4 + +4 + -^PL< 4^ 4^
Piilx = -^PU +(- + + (- + —PL ~^ph公式(1)
P^ = -+ (I + + (丟--16816
P^ = -—L + (占-—Ρ1; + (I++ (--、 16 8 16公式(2)
<formula>formula see original document page 5</formula>
公式(3)<formula>formula see original document page 5</formula>公式(4)
<formula>formula see original document page 5</formula>
<formula>formula see original document page 5</formula>
公式(5)其中,w表示松馳參數(shù),Pik表示控制頂點,上標k表示細分次數(shù),下標i表示頂點序號。優(yōu)選的,約束序列為弧長約束序列時,弧長約束序列按照線性的方式確定<formula>formula see original document page 5</formula>
其中,細分次數(shù)為η,初始控制多邊形弧長為L°,所要求的極限曲線弧長為1。優(yōu)選的,約束序列為面積約束序列時,面積約束序列按照線性的方式確定<formula>formula see original document page 5</formula>
其中,細分次數(shù)為η,初始網(wǎng)格的面積為s°,所要求的極限曲面的面積為S。優(yōu)選的,在第k步細分時用離散方法計算控制多邊形的周長或控制網(wǎng)格的面積Sk, 通過方程Sk(W) = Sk用數(shù)值計算方法求解其中的松弛參數(shù)。從上述技術方案可以看出,本發(fā)明的技術方案在帶松弛參數(shù)細分的基礎上,通過 簡單地計算控制多邊形的弧長(或控制網(wǎng)格的面積)序列,來調(diào)整松弛參數(shù)的取值,使生成 的極限曲線(曲面)除了滿足光滑性要求外,還滿足設定的弧長(面積)要求。該發(fā)明提供 的方法計算簡單方便,也易于實現(xiàn),數(shù)值穩(wěn)定高,而且能夠滿足復雜拓撲曲面的設計要求。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其它的附圖。圖1(a)為本發(fā)明中帶弧長約束的曲線細分方法的流程圖;圖1 (b)為本發(fā)明中帶面積約束的曲面細分方法的流程圖;圖2為本發(fā)明中退化控制多邊形的局部示意圖;圖3為本發(fā)明中強退化控制多邊形的局部示意圖;圖4為以正六邊形為初始控制多邊形生成圓的實例效果圖;圖5(a)為本發(fā)明實例中采用的曲面細分的正規(guī)網(wǎng)格拓撲分裂示意圖;圖5(b)為本發(fā)明實例中曲面細分的正規(guī)網(wǎng)格模板示意圖;圖6為本發(fā)明實例中曲面細分在非正規(guī)網(wǎng)格處的處理方法示意圖;圖7為本發(fā)明中帶弧長約束的曲線細分實例效果圖;圖8為本發(fā)明中帶面積約束的曲面細分實例效果圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它 實施例,都屬于本發(fā)明保護的范圍。本發(fā)明提供一種滿足幾何約束的細分方法,能夠使生成的極限曲線(或曲面)除 了滿足光滑性要求外,還滿足設定的弧長(或面積)要求。本發(fā)明注意到帶松弛參數(shù)的細分方法,當松弛參數(shù)在一定范圍內(nèi)變動時,曲線或 曲面的形狀發(fā)生一定的波動。本發(fā)明利用給定的弧長(面積)值,通過數(shù)值方法調(diào)節(jié)細分 過程中松弛參數(shù)的取值,使所設計的曲線或曲面滿足給定的幾何屬性如弧長或面積等。本 發(fā)明在滿足幾何約束的情況下,同樣保證所生成曲線或曲面的光滑性。以下以帶弧長約束的曲線細分和帶面積約束的曲面細分為例,分兩部分介紹帶幾 何約束的細分方法。本發(fā)明涉及以下5種現(xiàn)存帶松馳參數(shù)的曲線細分方法,其中w表示松馳參數(shù),Pik 表示控制頂點,上標k表示細分次數(shù),下標i表示頂點序號。<formula>formula see original document page 6</formula><formula>formula see original document page 7</formula>本發(fā)明實例中采用第(1)種細分方法為例說明,其它幾種細分方法實例是類似 的。對第⑴種細分方法,當松弛參數(shù)滿足-1/8 < w < 1/8時,所生成的極限曲線是 C1光滑的。本發(fā)明所涉及的細分需要擴展為變參數(shù)細分方法。當松馳參數(shù)序列的極限滿 足-1/8 < w < 1/8時,極限曲線仍然是C1光滑的。一、帶弧長約束的曲線細分設夕。=L=為平面上的初始控制多邊形,// = {尸^^;+2為經(jīng)過1^次細
分后的控制多邊形。記=工::Pki pkM為多邊形Pk的累加弦長,其中I |PikPi+1k| I表
示頂點Pik到頂點Pi+1k的歐式距離。記要設計的曲線的弧長為1,所確定的細分次數(shù)為η。并非所有的控制多邊形都適用弧長約束的細分方法。定義多邊形戶={p, O 退化的,如果滿足PHjPi+ZPi+fPm = 0,i =0,1,…,η-l。定義多邊形;? = {ρ, }二為強 退化的,如果滿足 PH-SPi+SPi+rPm = 0,i = 0,1,…,η。對第⑴種細分方法,如果控制多邊形/ 二 {凡°}=丨是非退化的,則可以保證當 1 SLtl時弧長約束的細分曲線設計方法是有效的。對第(2)_(4)種細分方法,如果控制多 邊形Pci = {凡是非強退化的,則可以保證當1彡L0時弧長約束的細分曲線設計方法是 有效的。需要說明的是,從嚴格的理論意義上說,退化的情形是存在的,但這只是一種極特 殊的情況,當多邊形處處如圖2所示時才是退化的。圖2為本發(fā)明中退化控制多邊形的局 部示意圖。圖3為本發(fā)明中強退化控制多邊形的局部示意圖。在一般圖形設計中,多邊形都是非退化的。圖1(a)為本發(fā)明中帶弧長約束的曲線細分方法的流程圖。如圖1(a)所示,帶弧長約束曲線細分方法的具體實現(xiàn)步驟如下。(1)輸入初始控制多邊形ρ° ;
(2)計算初始控制多邊形p°的累加弦長L° ;(3)計算弧長約束序列V = L0 + —(/ -L0), i = 0,1,2, ...,η·
η其中,細分次數(shù)為η,初始控制多邊形弧長為L°,所要求的極限曲線弧長為1。(4)對k = 1,2,…,η用循環(huán)迭代的方式對控制多邊形進行細分。由于所采用的細分為變參數(shù)細分方法,松弛參數(shù)的確定方法為(a)驗證多邊形是否為退化的;
(b)計算多邊形pk的累加弦長丄"=Υ^ι=1\ρ· Pm\,并驗證Lk ( Ik+1 ; (ο)計算= : ΙΟ)《'μ|Ι ;(d)通過方程Lk+1 (w) = lk+1確定松弛參數(shù)wk+1 ;(e)利用松馳參數(shù)wk+1對多邊形進行細分;(5)輸出加細后的多邊形pn。二次曲線、二次曲面在CAD造型中有著廣泛的應用,在通常的幾何造型系統(tǒng)中圓、 橢圓、圓柱、圓錐、長方體等等常常作為基本的圖元而存在.因而如何用離散方法快速精確 地生成圓周就顯得尤為重要。在自由曲線造型中,需要有理多項式或有理樣條才可以做到。 利用弧長約束的曲線細分方法,可以生成精確的圓周。假設要設計半徑為r的圓,我們可以取邊長為a = 2 π r/Κ的正K邊形(K可以取 3,4,5,……)為初始控制多邊形,同時將弧長約束序列定義為常數(shù)列{Ka,Ka,Ka,...},利 用以上所述的弧長約束的細分方法,所生成的極限曲線為半徑為r的圓周。圖4為以正六 邊形為初始控制多邊形生成圓的實例效果圖。圖7為本發(fā)明中帶弧長約束的曲線細分實例 效果圖,圖中凹多邊形為初始控制多邊形,曲線弧長設定為初始控制多邊形周長的8/7倍。二、帶面積約束的曲面細分本發(fā)明實例中采用的曲面細分方法為第⑴種曲線細分向曲面的推廣。曲面細分 在正規(guī)網(wǎng)格處為第(1)種曲線細分的張量積形式,拓撲分裂方式如圖5(a)。細分面具如圖 5(b)所示,其中a = -w,b = 3/4+w, c = l/4+w。圖5 (a)為本發(fā)明實例中采用的曲面細分 的正規(guī)網(wǎng)格拓撲分裂示意圖;圖5(b)為本發(fā)明實例中曲面細分的正規(guī)網(wǎng)格模板示意圖,圖 中黑點表示新頂點位置,由周圍頂點按照圖中標記權系數(shù)組合計算得出。在非正規(guī)網(wǎng)格處,即網(wǎng)格中的非四邊形面上及其周圍的四邊形面上,采用 Doo-Sabin細分規(guī)則處理。圖6為本發(fā)明實例中曲面細分在非正規(guī)網(wǎng)格處的處理方法示意 圖,圖中黑點表示三角形面上新頂點的位置。以圖6所示的非正規(guī)多邊形網(wǎng)格為例,在三角形中對應的三個新頂點(實心點) 和三角形周圍的四邊形中的新頂點(空心點)采用Doo-Sabin細分規(guī)則處理。當松弛參數(shù) w滿足-1/8 < w < 1/8時,這種細分方法生成的極限曲面是C1光滑的,而且?guī)в兴沙趨?shù)
可供調(diào)節(jié)。面積計算采用Dirichlet公式。定義在區(qū)域D上的函數(shù)f (u,ν)的Dirichlet面 積為<formula>formula see original document page 9</formula>將上述公式離散化得到,對于三角形Δ = {A, B,C},面積為S,= i/2(| |AB| |2+| |AC| |2)。對于四邊形/;。=,將其分成兩個三
角形{p^Pi+i.APi+i,」』和{ΡΑΡΜ+ΛΡ^」』計算。邊數(shù)大于四的多邊形同樣可以分 割成幾個三角形計算。假設所要設計的曲面面積為s,細分次數(shù)為η,則當s ^ S0時,帶面 積約束的曲面細分是適定的。圖1(b)為本發(fā)明中帶面積約束的曲面細分方法的流程圖。如圖1 (b)所示,該方法的實施步驟如下。(1)輸入初始控制網(wǎng)格輸入初始控制網(wǎng)格p° ;(2)計算初始控制網(wǎng)格p°的Dirichlet面積S° ;(3)計算面積約束序列
<formula>formula see original document page 9</formula>其中,細分次數(shù)為η,初始網(wǎng)格的面積為s°,所要求的極限曲面的面積為S。(4)對k=l,2,…,η用循環(huán)迭代的方式對控制網(wǎng)格進行細分。由于所采用的細 分為變參數(shù)細分方法,松弛參數(shù)的確定方法為(a)計算網(wǎng)格pk+1的Dirichlet面積關于w的表達式
<formula>formula see original document page 9</formula>(b)通過方程Sk+1 (w) = sk+1確定松弛參數(shù)wk+1 ;(c)利用松馳參數(shù)wk+1對多邊形網(wǎng)格進行細分;(5)輸出加細后的多邊形pn??梢园l(fā)現(xiàn),帶面積約束的曲面細分方法,可以生成精確的曲面。圖8為本發(fā)明中帶 面積約束的曲面細分實例效果圖,從左到右曲面面積依次設置為初始控制網(wǎng)格面積的0.9 倍,1.0倍,1,1倍。因此,從上述技術方案可以看出,本發(fā)明的技術方案在帶松弛參數(shù)細分的基礎上, 通過簡單地計算控制多邊形的弧長(或控制網(wǎng)格的面積)序列,來調(diào)整松弛參數(shù)的取值,使 生成的極限曲線(曲面)除了滿足光滑性要求外,還滿足設定的弧長(面積)要求。該發(fā) 明提供的方法計算簡單方便,也易于實現(xiàn),數(shù)值穩(wěn)定高,而且能夠滿足復雜拓撲曲面的設計 要求。本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存 儲介質(zhì)可以包括只讀存儲器(ROM,Read Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁盤或光盤等。以上對本發(fā)明實施例所提供的一種滿足幾何約束的細分方法,進行了詳細介紹, 本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用 于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。
權利要求
一種滿足幾何約束的細分方法,其特征在于,包括(1)計算初始控制多邊形的周長或初始網(wǎng)格的面積;(2)結合所給定的弧長或面積約束值、細分次數(shù),確定單調(diào)的約束序列;(3)用數(shù)值方法計算每一步細分的松弛參數(shù)值;(4)利用選定的帶松弛參數(shù)的細分公式對控制多邊形或控制網(wǎng)格進行加細。
2.根據(jù)權利要求1所述的滿足幾何約束的細分方法,其特征在于所述細分公式為以 下公式中的任一種<formula>formula see original document page 2</formula>公式(5)其中,w表示松馳參數(shù),Pik表示控制頂點,上標k表示細分次數(shù),下標i表示頂點序號。
3.根據(jù)權利要求1或2所述的滿足幾何約束的細分方法,其特征在于 約束序列為弧長約束序列時,弧長約束序列按照線性的方式確定<formula>formula see original document page 2</formula>其中,細分次數(shù)為n,初始控制多邊形弧長為L°,所要求的極限曲線弧長為1。
4.根據(jù)權利要求1或2所述的滿足幾何約束的細分方法,其特征在于約束序列為面積約束序列時,面積約束序列按照線性的方式確定<formula>formula see original document page 3</formula>其中,細分次數(shù)為n,初始網(wǎng)格的面積為s°,所要求的極限曲面的面積為s。
5.根據(jù)權利要求1或2所述的滿足幾何約束的細分方法,其特征在于 在第k步細分時用離散方法計算控制多邊形的周長或控制網(wǎng)格的面積Sk,通過方程 Sk(w) = sk用數(shù)值計算方法求解其中的松弛參數(shù)。
全文摘要
本發(fā)明公開了一種滿足幾何約束條件的細分方法。該方法包括(1)計算初始控制多邊形的周長或初始網(wǎng)格的面積;(2)結合所給定的弧長或面積約束值、細分次數(shù),確定單調(diào)的約束序列;(3)用數(shù)值方法計算每一步細分的松弛參數(shù)值;(4)利用選定的帶松弛參數(shù)的細分方法公式對控制多邊形或控制網(wǎng)格進行加細。本發(fā)明給出的方法可以從理論上保證當給定的弧長或面積約束條件在合適的范圍內(nèi)時的解是適定的,并且所生成的極限曲線曲面是光滑的。
文檔編號G06T11/00GK101833778SQ20101013810
公開日2010年9月15日 申請日期2010年3月29日 優(yōu)先權日2010年3月29日
發(fā)明者劉成明, 羅笑南 申請人:中山大學