亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MATLAB的Bezier樣條在曲線曲面造型中的應(yīng)用

        2013-04-29 17:12:38張書(shū)華馬蘇奇
        新課程·下旬 2013年6期

        張書(shū)華 馬蘇奇

        摘 要:Bezier樣條作為曲線曲面造型技術(shù)的一個(gè)重要分支被廣泛運(yùn)用于CAD/CAM技術(shù)。以MATLAB為程序平臺(tái),以Bezier樣條為理論基礎(chǔ),首先設(shè)計(jì)出繪制曲線曲面的程序算法,進(jìn)而通過(guò)算法編寫(xiě)出可實(shí)際操作的程序,最后用實(shí)例進(jìn)行驗(yàn)證。其中更實(shí)現(xiàn)了對(duì)曲線的擬合以及將設(shè)計(jì)得到的曲面數(shù)據(jù)輸入逆向工程軟件imageware,從而達(dá)到利用造型成果其進(jìn)行更加復(fù)雜的造型構(gòu)造的目的。

        關(guān)鍵詞:Bezier樣條;MATLAB;imageware

        Bezier曲線起源于20世紀(jì)60年代晚期,著名的法國(guó)數(shù)學(xué)家皮耶爾·Bezier運(yùn)用數(shù)學(xué)方法為雷諾公司的汽車制造業(yè)研究出一種矢量繪制曲線的方法。這種方法的巧妙之處在于它是利用控制矢量點(diǎn)位置的變動(dòng)從而改變曲線的形態(tài)?,F(xiàn)代設(shè)計(jì)師大部分都是在計(jì)算機(jī)上進(jìn)行設(shè)計(jì),而在過(guò)去并沒(méi)有發(fā)明手寫(xiě)板的時(shí)候,設(shè)計(jì)師們很難用鼠標(biāo)繪制理想的曲線。Bezier樣條的出現(xiàn)大大改變了這種困境,讓設(shè)計(jì)師們通過(guò)輸入控制點(diǎn)坐標(biāo),從而很容易地得到所需要的曲線。

        MATLAB是美國(guó)MathWorks公司出品的一款商業(yè)數(shù)學(xué)軟件,主要包括MATLAB和Simulink兩大部分,是一種編程語(yǔ)言和數(shù)值計(jì)算環(huán)境。和其他數(shù)學(xué)類科技應(yīng)用軟件相比,MATLAB無(wú)論在數(shù)值計(jì)算還是圖形處理上都占有很大優(yōu)勢(shì)。本文主要討論的就是運(yùn)用Bezier樣條原理在MATLAB上實(shí)現(xiàn)曲線擬合以及曲線曲面造型。

        一、Bezier曲線造型

        1.Bezier曲線理論原理

        在空間中設(shè)定n+1個(gè)點(diǎn)p0,…pn,則下列參數(shù)曲線為n次Bezier曲線:

        P(t)=■PiJi,n(t),0≤t≤1

        式中Ji,n(t)是伯恩斯坦基函數(shù),即

        Ji,n(t)=Cinti(1-t)n-i

        Cin=■,i=0,……,n

        以三次Bezier曲線為例,如果p0、p1、p2、p3是空間中的四個(gè)點(diǎn),那么三次多項(xiàng)式曲線

        p3(t)=■PiB3,t(t)

        可用矩陣表示如下:

        P(t)=[t3t2t1]-1 3 -3 13 -6 3 0-3 3 0 01 0 0 0P0P1P2P3

        式中Bi是第i個(gè)Bezier多項(xiàng)式,被稱為三次Bezier曲線包含了控制點(diǎn)p0,…p3。

        2.Bezier曲線造型程序設(shè)計(jì)

        在實(shí)際擬合造型的操作中,更為復(fù)雜的圖形往往由多種曲線構(gòu)成,它們的復(fù)雜程度和拐點(diǎn)個(gè)數(shù)各不相同。按照上面的思路,則每遇到一種曲線就需要編寫(xiě)一個(gè)程序,這顯然是麻煩而不切實(shí)際的。為了實(shí)現(xiàn)造型目的,需要編寫(xiě)一種不受函數(shù)次數(shù)限制的程序,以適應(yīng)所有的曲線情況。

        通過(guò)構(gòu)造參數(shù)點(diǎn)坐標(biāo)矩陣,以伯恩斯坦基函數(shù)為基礎(chǔ)而非某個(gè)特定次數(shù)的Bezier函數(shù),用for循環(huán)實(shí)現(xiàn)i從0到n(輸入控制點(diǎn)個(gè)數(shù))的伯恩斯坦基函數(shù)的疊加,得到參數(shù)t以1/m為步長(zhǎng)從0到1變化時(shí)曲線上m個(gè)點(diǎn)的坐標(biāo)并填入坐標(biāo)矩陣,最后連接這些坐標(biāo)點(diǎn)得到曲線,從而達(dá)到不受函數(shù)次數(shù)限制的目的。根據(jù)上述思路編寫(xiě)了以下程序:

        這樣,當(dāng)輸入不同個(gè)數(shù)的參數(shù)點(diǎn),就可以得到不同次數(shù)的曲線。

        當(dāng)需要對(duì)曲線進(jìn)行擬合的時(shí)候,只知道曲線情況,而不知道控制點(diǎn)的坐標(biāo),則需要通過(guò)曲線上的點(diǎn)對(duì)其進(jìn)行反求。根據(jù)Bezier曲線的矩陣形式以及伯恩斯坦基函數(shù)可以很容易寫(xiě)出數(shù)值方法反求控制點(diǎn)坐標(biāo)的程序。

        3.Bezier曲線造型應(yīng)用

        首先在坐標(biāo)紙上設(shè)計(jì)出需要的圖案。

        根據(jù)曲線實(shí)際情況(復(fù)雜程度、拐點(diǎn)個(gè)數(shù)、曲率大小等)將曲線分段并選擇坐標(biāo)點(diǎn),通過(guò)對(duì)上文編寫(xiě)得到的反求控制點(diǎn)程序以及曲線造型程序的結(jié)合使用,最終可以在MATLAB上得到下面這幅擬合度很高的圖案(因?yàn)樵煨瓦^(guò)程較為繁瑣復(fù)雜,本文省略中間造型程序)。

        二、Bezier曲面造型

        1.Bezier曲面理論原理

        先給出一條以u(píng)為參數(shù)的m次Bezier曲線:

        P=■PiBi,m(u),0≤u≤1(1)

        式中Bi,m(u)為伯恩斯坦基函數(shù)。

        讓p的(m+1)個(gè)控制點(diǎn)分別沿著空間的(m+1)條曲線運(yùn)動(dòng),而這些曲線都是以w為參數(shù)的n次Bezier曲線:

        Pi=■Pi,jBi,n(w),0≤w≤1(2)

        將方程(2)代入方程(1),得到Bezier曲面的表達(dá)式

        P(u,w)=P=■■Pi,jBi,m(u)Bj,n(w) 0≤u,0≤w≤1(3)

        將Bezier曲面方程(3)改寫(xiě)成矩陣形式

        P(u,w)=B0,m(u)B1,m(u)…Bm,m(u)·

        P0,0 P0,1…P0,nP1,0 P1,1…P1,nPm,0 Pm,1…Pm,nB0,n(w)B1,n(w)Bm,n(w)0≤u,w≤1(4)

        把方程(4)用冪基的形式表示出來(lái),表示為:

        P(u,w)=[U][Mm][p][Mn]T[W]0≤u,w≤1(5)

        式中,[U]=[um um-1…u 1];[W]=[wn wn-1…w 1]T;[Mm],[Mn]分別為m次與n次的冪基矩陣。

        2.Bezier曲面造型程序設(shè)計(jì)

        由上述方程的冪基形式編寫(xiě)曲面造型主要程序:

        編寫(xiě)曲面造型程序的難點(diǎn)依然在于因?yàn)槿绾巫尦绦蜻m應(yīng)不同次數(shù)的Bezier函數(shù)的需要。顯然由于這是一個(gè)以矩陣為基礎(chǔ)的程序,則同曲面程序那樣采用循環(huán)語(yǔ)句的方式是很麻煩的。由上述程序可以看出,不同次數(shù)的Bezier函數(shù)所需要的參數(shù)矩陣和系數(shù)矩陣都不相同,參數(shù)矩陣很容易改變。所以問(wèn)題在于如何快速創(chuàng)建龐大的系數(shù)矩陣。

        還是以雙三次Bezier曲面為例,首先用taylor對(duì)曲線函數(shù)進(jìn)行泰勒展開(kāi):

        接下來(lái)使用命令sym2poly提取其中的系數(shù):

        最后用reshape將系數(shù)轉(zhuǎn)化為矩陣形式:

        這樣,當(dāng)輸入命令xishujuzhen(n)時(shí),就可以直接得到n次Bezier曲面的系數(shù)矩陣。

        3.Bezier曲線造型應(yīng)用

        以雙三次Bezier曲面為例,通過(guò)輸入控制點(diǎn)坐標(biāo)可得到以下曲面:

        Px=[2 4 6 8; 2 4 6 8; 2 4 6 8; 2 4 6 8];

        Py=[8 7 7 8; 6 6 6 6; 4 4 4 4; 2 3 3 2];

        Pz=[20 0 0 20; 8 10 10 8; 8 10 10 8; 20 0 0 20];

        由于MATLAB所繪制的曲面是無(wú)法直接導(dǎo)入imageware的。所以可以想到通過(guò)把程序計(jì)算所得的矩陣數(shù)據(jù)經(jīng)過(guò)一系列矩陣變形與合并,最后將其存儲(chǔ)為點(diǎn)云數(shù)據(jù)文件,導(dǎo)入imageware中。繼而在imageware里將點(diǎn)云擬合成曲面,從而更加直觀地把構(gòu)造得到的曲面體現(xiàn)出來(lái),并實(shí)現(xiàn)對(duì)其加工編輯,甚至直接制造工件。以上面最后一個(gè)曲面為例,得到以下點(diǎn)云圖,以及最終曲面。

        總之,Bezier樣條作為曲線曲面造型中極為重要的基礎(chǔ)樣條之一,被廣泛運(yùn)用于CAD/CAM技術(shù)中。借助其方便快捷的控制方法以及優(yōu)秀的曲線屬性,曲線曲面的快速造型得以實(shí)現(xiàn)。

        本文設(shè)計(jì)的造型程序不受函數(shù)次數(shù)限制,只需輸入控制點(diǎn)數(shù)據(jù)即可進(jìn)行造型。同時(shí),在曲線造型中實(shí)現(xiàn)了根據(jù)手繪的曲線在MATLAB中擬合出相應(yīng)圖形,在曲面造型中實(shí)現(xiàn)了造型數(shù)據(jù)向三維制作程序的對(duì)接。使得程序具有了極強(qiáng)的實(shí)用性。

        參考文獻(xiàn):

        [1]徐甜,劉凌霞.Bezier曲線的算法描述及其程序?qū)崿F(xiàn)[N].安陽(yáng)師范學(xué)院學(xué)報(bào),2006(46).

        [2]郝小忠.Bezier曲面建模方法研究與實(shí)現(xiàn)[J].中國(guó)制造業(yè)信息化,2011,40(23):42-45.

        [3]王天軍.一個(gè)反求Bezier曲面控制點(diǎn)的算法[N].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),1992(3).

        [4]Prof Denis Zorin. Bezier Curves and B-splines[Z]. New York: New York University, 2002.

        (作者單位 張書(shū)華:中國(guó)農(nóng)業(yè)大學(xué)理學(xué)院2009級(jí)數(shù)學(xué)1班 馬蘇奇:中國(guó)農(nóng)業(yè)大學(xué)理學(xué)院)

        亚洲丁香五月天缴情综合| 青草草视频在线观看华人免费| 精品国产亚洲av高清大片| 伊人久久大香线蕉av色婷婷色| 中文字幕av久久亚洲精品| 久久久久人妻精品一区三寸| 国产又色又爽无遮挡免费| 国产精品黑色丝袜在线播放| 亚洲av网站首页在线观看| 久久夜色国产精品噜噜亚洲av| 国产精品无码aⅴ嫩草| 在线播放人成午夜免费视频| 久热爱精品视频在线观看久爱| 亚洲粉嫩av一区二区黑人| 精品人妻av区二区三区| 亚洲一区二区日韩精品在线| 国产成人精品午夜二三区波多野| www国产无套内射com| 日韩中文网| 在线视频日韩精品三区| 久久一区二区国产精品| 一边做一边喷17p亚洲乱妇50p| 99精品视频69V精品视频| 色播在线永久免费视频网站| 射进去av一区二区三区| 亚洲av网一区二区三区| 日韩高清在线观看永久| 久久99欧美| 亚洲AV色欲色欲WWW| 在线观看国产视频午夜| 午夜dy888国产精品影院| 色窝窝免费播放视频在线| 亚洲中文字幕精品一区二区| 亚州中文字幕乱码中文字幕| 人人妻人人澡人人爽超污| 国产精品乱码在线观看| 日韩成人精品一区二区三区| 精品国产成人av久久| 亚洲精品97久久中文字幕无码| 国产日韩久久久久69影院| 在线精品国产亚洲av麻豆|