• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      伸縮因子驅(qū)動的曲線自由變形設(shè)計方法

      2020-07-26 14:23:53李運平高直
      軟件導(dǎo)刊 2020年7期

      李運平 高直

      摘 要:為簡化伸縮變形計算過程,針對代數(shù)曲線和參數(shù)曲線,提出一種具有區(qū)域峰值的伸縮因子曲線變形方法。首先基于Hermite插值基函數(shù)構(gòu)造一種多項式伸縮函數(shù),然后建立帶有伸縮參數(shù)的伸縮因子,最后將伸縮因子作用于曲線,促使曲線沿指定方向產(chǎn)生變形。在變形過程中,通過改變伸縮因子中的形狀控制參數(shù),實現(xiàn)曲線整體、局部以及周期變形效果。大量數(shù)值實例證明,該方法計算量小,便于理解和操作,可獲得適用于不同設(shè)計要求的旋轉(zhuǎn)曲面和外形輪廓線。與其它方法相比,該方法不僅可用于參數(shù)型曲線,還可用于隱式表示的代數(shù)曲線,豐富了隱式曲線的變形效果。

      關(guān)鍵詞:自由變形;代數(shù)曲線;參數(shù)曲線;伸縮因子

      DOI:10. 11907/rjdk. 192404 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

      中圖分類號:TP319文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2020)007-0108-04

      Free Form Deformation Design of Curve Driven by Expansion Factor

      LI Yun-ping, GAO Zhi

      (School of Information Engineering, Yancheng Institute of Technology, Yancheng 224051, China)

      Abstract: In order to simplify the deformation calculation process, a curve deformation method with regional peak expansion factor is proposed for the algebraic curve and parameter curve. First, a polynomial expansion function is constructed based on the Hermite interpolation basis function. Then the expansion factor with the expansion parameters is established. Finally, the deformation of curve is calculated by the expansion factor. In the deformation process, by changing the different shape control parameters of the expansion factor, the global, local and periodic deformation effects of the curve can be achieved. Examples show that the calculation of the method is small, easy to understand and operate. This method can obtain the rotating curved surface and contour for different design requirements. Compared with other methods, this method can not only be applied to parametric curves, but also implicit representation of algebraic curves. This method enriches the deformation effect of implicit curves.

      Key Words: freeform deformation; algebraic curve; parametric curve;extension factor

      0 引言

      計算機動畫、產(chǎn)品設(shè)計和大數(shù)據(jù)可視化等領(lǐng)域經(jīng)常對已有幾何圖形進(jìn)行編輯使其形狀適用于新的需求。在編輯過程中,初始幾何圖形與新造型之間的映射關(guān)系稱為變形。1984年,Barr[1]率先將變形方法引入到幾何造型領(lǐng)域;Sederberg等[2]提出了自由變形(FFD Freeform Deformation)法,借助三變量張量積Bézier體控制網(wǎng)格頂點對嵌入的圖形進(jìn)行變形控制。FFD方法是一種獨立于模型幾何表示的變形方法,但交互過程繁瑣、計算量大且難以精確控制變形結(jié)果。在上述算法基礎(chǔ)上,研究出大量算法解決曲線的變形與修改問題。Piegl[3]、Au等[4]分別提出了有理 B 樣條和 NURBS 曲線局部形狀修改方法,但是形象直觀性不足,難以進(jìn)行交互操作;Sánches-Reyes[5]給出了基于任意原點透視變換的NURBS 曲線形狀修改方法;蔣大為[6]提出并驗證了有理 Bézier 曲線的權(quán)因子修改方法;閆艷等[7]分別通過修改單個權(quán)因子、單個控制點、同時修改單個權(quán)因子和控制點等方法,對NURBS曲線進(jìn)行形狀修改,通過修改多個權(quán)因子、多個控制點來修改曲線形狀,并給出相關(guān)公式;張世杰等[8]提出基于漸進(jìn)迭代逼近與主頂點方法的曲線局部變形方法。上述變形算法屬于幾何變形方法。為進(jìn)一步模擬物體的真實變形結(jié)果,關(guān)志東等 [9-10]將有限元方法引入到曲線曲面變形中,通過構(gòu)建有限元網(wǎng)格以及添加幾何約束得到變形結(jié)果;王青等[11]通過曲線控制網(wǎng)格,類比為空間索網(wǎng)結(jié)構(gòu),分別建立外載荷變化最小、外載荷最小、桿阻尼長度最小和節(jié)點位移最小等4種表達(dá)不同幾何和物理意義的最小化模型來驅(qū)動變形;程仙國等 [12]運用力學(xué)思想構(gòu)建曲線在載荷作用下的變形能量方程,以驅(qū)動B樣條曲線變形;文獻(xiàn)[9-12]屬于物理變形方法,變形結(jié)果真實,但涉及較深的物理理論知識和復(fù)雜的方程求解。

      為簡化變形步驟,便于交互控制曲線形狀,基于伸縮因子的曲線變形技術(shù)得到廣泛關(guān)注。王小平等[13-14]基于指數(shù)函數(shù)類和余弦函數(shù)類等超越函數(shù)構(gòu)造伸縮因子,將伸縮因子作用于參數(shù)曲線曲面進(jìn)行變形。該方法簡單易操控,但僅具有單點峰值,且變形后曲線表達(dá)式為超越曲線;宋來忠等[15]通過對指數(shù)函數(shù)進(jìn)行積分構(gòu)造伸縮因子,能夠達(dá)到區(qū)間峰值,但變形后仍為超越曲線;陸友太等[16-17]構(gòu)造了區(qū)域上達(dá)到峰值的多項式伸縮因子;張莉等[18]提出了一種新的帶平臺多項式伸縮函數(shù),可用于產(chǎn)生富含角點或尖點的目標(biāo)參數(shù)曲線曲面;在此基礎(chǔ)上,陳素根[19]提出了參數(shù)曲面上任意凸多邊形區(qū)域的伸縮變形算法,擴展了已有的參數(shù)曲面伸縮變形技術(shù)。上述伸縮變形方法的研究對象為參數(shù)曲線曲面。針對代數(shù)曲線曲面的伸縮變形,李軍成等[20]基于余弦函數(shù)提出了適用于代數(shù)曲線曲面變形的伸縮因子,該方法計算簡單易控制,但是缺少區(qū)域峰值特性,在支撐區(qū)間長度過大時會產(chǎn)生多峰現(xiàn)象。

      本文針對代數(shù)曲線和參數(shù)曲線,提出一種基于Hermite插值基函數(shù)的伸縮因子,它不僅能在單點處達(dá)到峰值,在區(qū)域上也能達(dá)到峰值,而且適用于曲線不同的表達(dá)方式。在產(chǎn)品設(shè)計中運用文中的伸縮因子首先對曲線進(jìn)行變形,進(jìn)而可采用繞軸旋轉(zhuǎn)的方式產(chǎn)生形狀豐富的旋轉(zhuǎn)體模型。

      1 伸縮函數(shù)與伸縮因子

      1.1 伸縮函數(shù)

      定義1設(shè) [m,n∈R],稱分段函數(shù)

      為定義在R區(qū)間[[x1,x4]]上的伸縮函數(shù)。其中[[x1,x4]]為支撐區(qū)間,[x2,x3]是支撐區(qū)間上的任意兩點。

      依據(jù)Hermite插值基函數(shù)特性,所提出的伸縮函數(shù)[f(x)]具有如下性質(zhì):

      (2)區(qū)間峰值性和單峰性:當(dāng)[x∈[x2,x3]]時,函數(shù)在此區(qū)間上取最大值1,如圖1(a)所示;當(dāng)[x2=x3]時,函數(shù)在單點取最大值1,如圖1(b)所示。

      (3)端點連續(xù)性:

      1.2 伸縮因子

      定義2:設(shè)[h∈R],稱函數(shù)

      為在[[x1,x4]]上的伸縮因子,h為伸縮參數(shù)。

      由伸縮函數(shù)性質(zhì)得出伸縮因子具備以下性質(zhì):

      (1)區(qū)間峰值性和單峰性:[x∈[x2,x3]]函數(shù)在此區(qū)間上取最大值h;當(dāng)[x2=x3]時,函數(shù)在單點取最大值h。

      (2)端點連續(xù)性:

      通過調(diào)整伸縮因子中的參數(shù)數(shù)值和支撐區(qū)間,可得到不同表現(xiàn)形式的伸縮因子。圖2展示了當(dāng)伸縮參數(shù)符號相反時,伸縮因子的數(shù)值變化結(jié)果。同時,通過控制變形區(qū)間可使伸縮因子達(dá)到區(qū)間峰值和單點峰值效果。

      2 代數(shù)曲線伸縮變形計算與實例分析

      2.1 簡單變形計算

      設(shè)[(x,y)T]為平面代數(shù)曲線[l]上的點,將式(1)中定義的伸縮因子作用于曲線方程,得到變形后的點[x*,y*T],其計算公式如下:

      其中,[d=(dx,dy)T]為伸縮方向單位向量。一般情況下,伸縮方向可沿y軸正向伸縮和沿曲線法線方向伸縮。

      沿y軸正向伸縮則[d=(0,1)T],變形后的點[(x*,y*)T]為:

      沿曲線法線方向伸縮,記[d=(nx,ny)T]為曲線[l]在[(x0,y0)]處的法向量[(F′x(x0,y0),F(xiàn)′y(x0,y0))T]的單位化向量,其中[F(x,y)]為曲線[l]的隱式表達(dá)式。變形后曲線的點[(x*,y*)T]為:

      根據(jù)伸縮因子端點連續(xù)性可知,變形后的曲線[l*]在端點[x1,x4]處連續(xù)。同時,[l*]是[l]在支撐區(qū)間上產(chǎn)生變形的結(jié)果。當(dāng)支撐區(qū)間[[x1,x4]?[a,b]]時,[l]僅發(fā)生局部變形;當(dāng)支撐區(qū)間[[x1,x4]?[a,b]]時,[l]將發(fā)生整體變形。

      2.2 周期變形計算

      為豐富曲線的變形形狀,對曲線進(jìn)行周期變形計算。記待變形曲線的變形區(qū)間為[[a,b]],變形周期數(shù)為[ω],則變形周期為[d=b-aω],每個周期的支撐區(qū)間表示為[[xi1,xi4],][i=1,2,?ω],其中[xi1=a+(i-1)d],[xi4=a+id]。若伸縮函數(shù)的分段區(qū)間均勻分布,可取[xi2=xi1+d3],[xi3=xi1+2d3]。在每個周期按照式(1)定義伸縮因子進(jìn)行變形計算。

      2.3 變形控制方法

      通過調(diào)整伸縮公式(2)中的各個參數(shù)值可獲得不同的變形效果:① 改變伸縮參數(shù)h的大小和符號,用于調(diào)整伸縮變形幅度和變形方向;② 改變支撐區(qū)間[[x1,x4]],調(diào)節(jié)待變形曲線的變形區(qū)域,以實現(xiàn)整體和局部變形;③ 參數(shù)m, n用于調(diào)節(jié)曲線的光滑程度,m, n值越大,變形后曲線在端點[x1,x4]處越逼近初始曲線;④峰值區(qū)間長度依賴[x2,x3]的取值,當(dāng) [x2=x3]時,變形曲線峰值點在[x2]處;⑤ 伸縮方向向量[d=(dx,dy)T]的取值決定曲線變形方向,方便曲線按照用戶給出的方向進(jìn)行變形。

      2.4 實例分析

      以單位圓[x2+y2=1]及其上半圓弧為例,通過改變變形控制參數(shù)獲得各種變形結(jié)果。圖3給出了伸縮方向向量的改變對變形結(jié)果的影響,其中曲線a的伸縮方向向量[d=(0,1)T]即y軸正向,曲線b的伸縮方向向量[d=(nx,ny)T]即圓弧上點的法矢方向。圖4為改變伸縮參數(shù)h 的變形效果。曲線a-e所對應(yīng)的伸縮參數(shù)h分別為-0.5、-0.3、0.2、0.5、0.8。

      圖5展示了支撐區(qū)間的改變對變形結(jié)果的影響,曲線a-c所對應(yīng)的支撐區(qū)間如表1所示。通過調(diào)整支撐區(qū)間的參數(shù)值可實現(xiàn)曲線的區(qū)域峰值、單點峰值效果。

      圖6通過調(diào)節(jié)參數(shù)m、n的值改變曲線在端點[x1]和[x4]處的光滑度,其中曲線a中m=n=1;曲線b中m=4,n=2。

      圖7展示了圓弧沿法矢方向的周期變形效果。將區(qū)間[-1,1]十等分,以每個等分區(qū)間作為支持區(qū)間,根據(jù)式(2)計算變形結(jié)果。由圖7可以看出,在支撐區(qū)間長度相同的條件下,兩端支撐區(qū)間所對應(yīng)的弧較長,而中間弧長相對較短,弧長長度隨著區(qū)間均勻變化,這主要是由于圓弧所采用的隱式方程表示所致。

      圖8展示了直線周期變形效果。伸縮參數(shù)h按照周期的順序依次遞增。圖9為直線在伸縮因子的作用下產(chǎn)生曲線,通過繞坐標(biāo)軸旋轉(zhuǎn)的方式構(gòu)造旋轉(zhuǎn)曲面。圖9(a)為通過區(qū)域峰值伸縮因子構(gòu)造的旋轉(zhuǎn)曲面,圖9(b)為通過單峰值伸縮因子構(gòu)造的旋轉(zhuǎn)曲面。

      3 參數(shù)曲線伸縮變形計算與實例分析

      3.1 參數(shù)曲線伸縮變形計算

      設(shè)平面參數(shù)曲線[l(t)=(x(t),y(t))T] [t∈[a,b]],類似于代數(shù)曲線,將式(1)中定義的伸縮因子作用于曲線得到變形后曲線[l*]上的點[x*,y*T]為:

      其中,[d=(dxt,dyt)T]為伸縮方向單位向量。參數(shù)曲線周期變形計算方法和代數(shù)曲線相同。

      3.2 實例分析

      以單位圓[l(t)=(sint,cost)Tt∈[0,2π]]及其上半圓弧為例展示伸縮因子作用的效果。圖10為圓弧沿法矢方向的周期變形效果,將參數(shù)區(qū)間[[0,π]]十等分構(gòu)造等分區(qū)間作為支持區(qū)間,根據(jù)式(3)計算變形結(jié)果。計算步驟如下:①將參數(shù)區(qū)間[[0,π]]十等分,記區(qū)間[[ti,ti+1]]為第i個變形區(qū)間;②計算區(qū)間[[ti,ti+1]]的中點[tim],以[tim]為單峰值點構(gòu)造伸縮因子函數(shù);③ 計算區(qū)間[[ti,ti+1]]的圓弧點單位法矢和伸縮因子[E(t)];④根據(jù)公式(3)計算圓弧上各點變形后的位置。

      圖11為圓弧通過周期變形設(shè)計具有藝術(shù)形狀的產(chǎn)品外形,實現(xiàn)一定的藝術(shù)效果。通過將單位圓周20等分,計算圓弧上點沿法矢方向的伸縮變形,峰值區(qū)間長度為每個周期支撐區(qū)間長度的1/3。其中曲線a為圓弧上點沿單位法矢方向的變形結(jié)果,曲線b為圓弧上點沿單位法矢反方向的變形結(jié)果。

      圖12展現(xiàn)了空間螺旋線[l(t)=(t,cost,sint)Tt∈[0,4π]]的變形效果。選取區(qū)域峰值伸縮因子實現(xiàn)螺旋線的局部拉伸變形。圖13展示了通過調(diào)整伸縮參數(shù)h對Bézier曲線(a)進(jìn)行伸縮變形的效果。其中,支撐區(qū)間為[0.3,1],峰值點為0.75,設(shè)置伸縮參數(shù)h=3和5得到曲線b和c的變形效果。

      3 結(jié)語

      本文通過對曲線上的每個點進(jìn)行逐點變換計算變形結(jié)果。通過定義伸縮函數(shù)和伸縮因子,推導(dǎo)曲線的自由變形控制方程,進(jìn)而通過調(diào)節(jié)變形參數(shù)的方式產(chǎn)生豐富的變形效果。與已有工作相比,本文提出的方法不僅適用于參數(shù)曲線,同樣適用于代數(shù)曲線,拓展了伸縮變形方法的適用范圍。伸縮因子驅(qū)動曲線變形方法無需借助外部載體就能精確控制變形范圍,簡化了變形操作,變形效果豐富。在今后的研究中,將重點研究曲線在給定幾何約束下的伸縮變形技術(shù),建立約束條件下的曲線變形控制方程,實現(xiàn)曲線精準(zhǔn)變形。

      參考文獻(xiàn):

      [1] BARR A H. Global & local deformations of solid primitives[J]. Computer Graphics, 1984, 18(3): 21-30.

      [2] SEDERBERG T W, PARRY S R. Free-form deformation of solid geometric models [J]. Computer Graphics, 1986, 20(4): 151-160.

      [3] PIEGK L. Modifying the shape of rational b-splines[J]. Part 1: curves. Computer Aided Design, 1989, 21(8):509-518.

      [4] AU C K,YUEN M M F. Unified approach to NURBS curve shape modification [J]. Computer Aided Design, 1995, 27(2):85-93.

      [5] SáNCHEZ-REYES J. A simple technique for NURBS shape modification [J]. Computer Graphics and Applications, 1997, 17(1):52-59.

      [6] 蔣大為. 有理 Bézier 曲線的權(quán)因子計算[J]. 航空學(xué)報, 1993,14(11):666-669.

      [7] 閆艷. NURBS曲線形狀修改的研究[J]. 信息工程大學(xué)學(xué)報,2013, 14(6):647-651.

      [8] 張世杰, 張莉, 于立萍, 等. 漸進(jìn)迭代逼近方法在曲線變形上的應(yīng)用[J]. 中國圖象圖形學(xué)報, 2018, 23(11): 1697-1706.

      [9] GUAN Z D, JING L, NING T, et al. Study and application of physics-based deformable curves and surfaces [J]. Computers & Graphics, 1997, 21(3):305-313.

      [10] 經(jīng)玲, 席平, 唐榮錫. 有限元方法在變形曲線曲面造型中的應(yīng)用[J]. 計算機學(xué)報, 1998, 21(3): 245-251.

      [11] 王青, 柯映林, 李江雄. 基于力密度方法的NURBS曲線和曲面變形框架[J].?機械工程學(xué)報,2007, 43(3): 135-142.

      [12] 程仙國, 劉偉軍. 外載荷的 B 樣條曲線變形[J]. 中國圖象圖形學(xué)報, 2011, 16 (5): 898-902.

      [13] WANG X P, YE Z L, HU X M, et al. Shape modification and deformation of parametric surfaces[J]. Computer Aided Drafting, Design and Manufacture, 2002, 12(1): 1-7.

      [14] WANG X P, ZHOU R R, YE Z L, et al. Shape modification of parametric curves[J]. Chinese Journal of Aeronautics,2004,17(4): 251-259.

      [15] 宋來忠,彭剛,楊文穎, 等. 用于參數(shù)曲線自由變形的新的伸縮因子[J]. 工程圖學(xué)學(xué)報, 2009, 30(3): 87-93.

      [16] 陸友太, 周來水,王志國,等. 基于乘冪伸縮因子的參數(shù)曲線自由變形[J]. 南京航空航天大學(xué)學(xué)報, 2011, 43(6): 793-798.

      [17] 陸友太,周來水,王志國,等. 基于多項式伸縮因子的參數(shù)曲面自由變形[J]. 中國機械工程,2012,23(5): 609- 613.

      [18] 張莉, 余慧芳, 檀結(jié)慶. 帶平臺伸縮函數(shù)的參數(shù)曲線變形[J]. 中國圖象圖形學(xué)報, 2015, 20(10):1374-1383.

      [19] 陳素根,劉兵兵. 參數(shù)曲面多邊形區(qū)域上自由變形的多項式伸縮因子方法[J]. 安慶師范大學(xué)學(xué)報(自然科學(xué)版),2018,24(1): 1-5.

      [20] 李軍成. 基于伸縮因子的代數(shù)曲線曲面變形方法[J]. 計算機工程與科學(xué), 2016, 38(6): 1225-1230.

      (責(zé)任編輯:杜能鋼)

      那曲县| 孟连| 沽源县| 奇台县| 平果县| 墨脱县| 贵港市| 曲麻莱县| 尤溪县| 滨海县| 益阳市| 彭水| 依安县| 泰州市| 临夏县| 隆德县| 高密市| 漳州市| 瓦房店市| 普陀区| 安图县| 马公市| 遵化市| 张掖市| 卢氏县| 庆云县| 安泽县| 丰都县| 明水县| 瓮安县| 武穴市| 额敏县| 安溪县| 乐昌市| 千阳县| 大港区| 闵行区| 芜湖县| 罗源县| 仁怀市| 定襄县|