專利名稱:基于遺傳算法的曲線曲面光順方法
技術(shù)領(lǐng)域:
本發(fā)明涉及工程計算技術(shù),特別是涉及一種基于遺傳算法的曲線曲面光順方法。
背景技術(shù):
函數(shù)曲線的光滑度(smoothness)可以用其變量的可微性(differencibility)來 度量。函數(shù)的連續(xù)階越高,該函數(shù)曲線就越光滑。光順的概念涉及人對幾何外形的 感覺。由數(shù)學(xué)的抽象而論, 一條光順的曲線通常應(yīng)滿足下面的幾個條件:①曲線二階 幾何連續(xù),即位置、切線和曲率矢連續(xù)。②沒有奇點和多余拐點。③曲率變化比較 均勻。④應(yīng)變能較小。在整體光順法中,現(xiàn)在用的最多的是能量法,其基本思想是 讓樣條的能量在適當(dāng)?shù)募s束條件下(如型值點的最大修改量〈O取到極小或優(yōu)化。能 量法著重考慮了上述第④條準則,而對第③條準則未加以考慮。此外,利用能量法 光順,不論被光順的幾何形狀是什么,光順的效果總是趨于向直線變化,因而在一 些情況下光順效果仍不能令人滿意。因此需要從多個角度考察曲線的光順性。
遺傳算法是一種隨機的全局多點搜索算法,具有隱含并行性的特點,確定性的 數(shù)學(xué)表達式對遺傳算法的進化過程影響不大。遺傳算法的操作過程是一種模糊過程 而不是精確的數(shù)值計算,特別適合于求解多目標優(yōu)化問題。當(dāng)約束條件被轉(zhuǎn)換到模 糊域中后,模糊可行集合中既包含可行點又包含不可行點,這樣遺傳算法就能夠同 時得到可行點和不可行點的信息。
發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明所要解決的技術(shù)問題是提供一種有利于曲線、曲面的光順,有利于在反求工程中由離散點進行的三維曲面的建模的基于 遺傳算法的曲線曲面光順方法。
為了解決上述技術(shù)問題,本發(fā)明所提供的一種基于遺傳算法的曲線光順方法, 其特征在于,方法的步驟
1) 生成初始群體;
2) 計算個體的目標函數(shù)值和約束函數(shù)值;
3) 利用模糊罰函數(shù)轉(zhuǎn)化有約束為無約束問題;即根據(jù)模糊集合理論對搜索空間 重新定義,用點的適應(yīng)度值來判斷點位置的好壞。群體中的點離可行域越近,在模 糊可行域中的隸屬度也應(yīng)該越高,處于可行域中的點應(yīng)該具有最高的隸屬度;即
min(乂",/2",…,/J') , 2 x, S / = 1,2"""
其中/J'為適應(yīng)度函數(shù),X,為隸屬變量;
4) 評價個體的適應(yīng)度用評價函數(shù)來評價個體或解的優(yōu)劣,并作為以后遺傳操 作的依據(jù);
5) 用遺傳算法處理;(選擇、變異、交叉)用遺傳算法進行優(yōu)化的過程也就是 對評價函數(shù)求極值的過程;
6) 迭代是否終止?是則轉(zhuǎn)至7);否則轉(zhuǎn)至2);
7) 輸出最優(yōu)解。
本發(fā)明所提供的一種基于遺傳算法的曲面光順方法,其特征在于,方法的步驟
1) 根據(jù)數(shù)據(jù)點的空間分布,把一個方向取為截面參數(shù)方向,以U為參數(shù),另一 方向為控制曲線參數(shù)方向,以V為參數(shù),確定出兩個參數(shù)方向的節(jié)點矢量U和V;
2) 按照所述的基于遺傳算法的曲線光順方法,先在節(jié)點矢量U上求出光順的截 面曲線以及其控制頂點《/, / = l,2,...,m + A-l, _/ = 1,2,...,",然后在節(jié)點矢量V上 求出控制曲線及其控制頂點《,,hl,2,…,m, _/ = 1,2,...," + /-1。《,就是所求B樣 條插值曲面的(m+k) X (n+l)個控制頂點;3)對修改后的控制點重新生成有關(guān)截面曲線進行必要的光順處理。對曲面的光 順處理要沿兩個方向交替反復(fù)進行,直至所有的截面曲線和控制曲線都達到光順為 止。得到合乎光順要求的樣條曲面網(wǎng)格骨架。對所生成的曲面進行渲染和光照,從 其效果査看光順性。
利用本發(fā)明提供的基于遺傳算法的曲線曲面光順方法,對曲線、曲面的光順以 及在反求工程中由離散點進行三維曲面建模均有實用價值。
圖1為本發(fā)明實施例模糊罰函數(shù)遺傳優(yōu)化算法的框圖; 圖2為本發(fā)明方法所得曲線與原插值曲線的比較示意圖3為本發(fā)明的方法所得曲線與直接用三次B樣條擬合的曲線的比較示意圖,
其中
圖3 (a)為由兩種不同方法生成的曲線的比較示意圖3 (b)為兩種曲線的能量的比較示意圖3 (C)為兩種曲線的曲率變化率的比較示意圖4為曲面模型示意圖, 其中
圖4 (a)為由已知點反算B樣條曲面的示意圖4 (b)為由己知點反算B樣條曲面及其控制點的示意圖。
具體實施例方式
以下結(jié)合
對本發(fā)明的實施例作進一步詳細描述,但本實施例并不用于 限制本發(fā)明,凡是采用本發(fā)明的相似方法及其相似變化,均應(yīng)列入本發(fā)明的保護范 圍。
6本發(fā)明方法的光順原理
曲線光順性的表現(xiàn)之一是曲線的應(yīng)變能較小。不考慮剛度常數(shù),參數(shù)曲線p在 其整個弧長上應(yīng)變能為在該弧長取積分
£=jA:2cfe (1) 對于一般參數(shù),弧長5=|;/|^/ ,于是有
五=f(Lp^V I ^'l dw (2)
有的學(xué)者認為,由式(2)所表達的精確的能量形式,往往很難于計算,通常采取
近似的能量形式。當(dāng)曲線的一階導(dǎo)數(shù)與其二階導(dǎo)數(shù)相比很小時,可以采用下式來近
似地表示曲線的能量
五 = jj / "卩dw (3)
從式(3)可以看出,能量較小可以粗略地說成絕對曲率較小,其中包含某種平均 意義,但用應(yīng)變能較小的提法更貼切。而應(yīng)變能較小并不能包括曲率變化小,所以 后者也應(yīng)作為光順的判據(jù)之一。
曲率的變化就是曲率的一階導(dǎo)數(shù)。曲率變化率小,就意味著曲線的曲率沒有急
劇變化,恰恰體現(xiàn)出光順的本質(zhì),即 min(max(A:'》 (4) 式中k'為曲率k(u)的一階導(dǎo)數(shù)。
所以曲線的光順性在宏觀上要求曲線的能量盡量小,在微觀上要求曲率的一階 導(dǎo)數(shù)的最大值也盡量小。這樣同時考慮這兩個準則,就能更全面地衡量曲線的光順 性。
遺傳算法在曲線光順中的應(yīng)用
在反求工程中,希望由給定的特征點構(gòu)造具有較好性質(zhì)的曲線和曲面。因此在用這些曲線建模之前,必須對它們進行光順,以便能夠建立符合要求的曲面模型。 即使曲線已經(jīng)達到光順的要求,也需要通過數(shù)值計算來加以驗證。 設(shè)插值于給定型值點/V i=0, 1…,n的參數(shù)三次B樣條曲線為
= 1X《3(") , " e [",+3,",+4] c ["3," +3]
式中《,j=0, 1,…,n+2是控制頂點;乂,3( )是由節(jié)點矢量% , k=0, 1,… n+6確定的三次B樣條基函數(shù)。
應(yīng)變能較小可以作為曲線光順的條件之一,但應(yīng)變能較小并不意味著曲率的變 化較小,因此能量法光順的結(jié)果僅滿足前述的第④條準則,但并不一定滿足第③條 準則。根據(jù)以上的分析,宜采用兩個目標函數(shù)乂, /2。
(1) 優(yōu)化后的曲線的能量應(yīng)該較小??紤]到計算的方便,采用曲線能量的近
似表示
= Jl/p"l2^ (5)
(2) 應(yīng)使優(yōu)化后的曲率一階導(dǎo)數(shù)的最大值/2最小 /2=*' (6)
優(yōu)化目標是/ = 1^11(_/;,/2) (7) 考慮到曲線的保形性和光順性的要求,設(shè)定型值點在相應(yīng)范圍內(nèi)e可以撓動, 并以此為約束條件。
式(7)是一個多目標優(yōu)化問題。對多個目標的優(yōu)化要求在給定的條件下同時要求 多個目標都盡可能的最優(yōu)。
遺傳算法不能直接處理有約束的問題,解決方法之一是利用罰函數(shù)法將有約束 問題轉(zhuǎn)化為無約束問題。即根據(jù)模糊集合理論對搜索空間重新定義,用點的適應(yīng)度 值來判斷點位置的好壞。群體中的點離可行域越近,在模糊可行域中的隸屬度也應(yīng) 該越高,處于可行域中的點應(yīng)該具有最高的隸屬度。在模糊環(huán)境下,約束條件由定義域中的模糊集合G定義,用yG表示點滿足約束 條件的程度。由模糊集合理論,當(dāng)點在可行域中時,其隸屬函數(shù)uG為l。其它情況 下,隸屬函數(shù)的值在0《uG〈1的區(qū)間范圍內(nèi)。
對于極小化問題,在模糊集合中點的第j個考慮模糊罰函數(shù)的目標函數(shù)^(x)
對于違反約束條件的點,應(yīng)在它所對應(yīng)的目標函數(shù)后加上懲罰函數(shù)項。根據(jù)模 糊理論中隸屬函數(shù)的概念,設(shè)計的懲罰函數(shù)項如下 設(shè)點k對第i個約束的違反程度為《
設(shè)點k對M個約束的違反程度中最大值為maxD = max(《,,《2,...,《),則有懲罰 項^。 ^反映的不是約束函數(shù)的值,而是群體中的點違背約束的程度。它的作用是 充分利用那些己經(jīng)在可行域中的點和離可行域很近,有潛力經(jīng)過交叉、變異以后進 入可行域中的點,使排序算法能夠順利進行。
A求出以后,可由/ ,導(dǎo)出/;", /;"=風(fēng) (io)
采用罰函數(shù)來處理約束條件,則適應(yīng)度函數(shù)應(yīng)作如下調(diào)整
其中i ,是j點處的懲罰函數(shù)值,是當(dāng)/違反約束時的懲罰項,F(xiàn)表示目標函數(shù)
的可行域。
從乂"的值能夠看出點的狀態(tài)。y;'為正規(guī)化后的目標函數(shù),其值域在[o, i]之間。 A為/"的整數(shù)部分,表示非可行域中的點違反約束條件的程度。 這樣,多目標有約束問題就轉(zhuǎn)化為多目標無約束問題,即
min(/;",/2V"/m"), x)')",《)/ = 1,2,...," (12)
o,遺傳算法在搜索進化過程中, 一般不需要其它外部信息,僅用評價函數(shù)來評價 個體或解的優(yōu)劣,并作為以后遺傳操作的依據(jù)。用遺傳算法進行優(yōu)化的過程也就是 對評價函數(shù)求極值的過程。
在模糊罰函數(shù)的基礎(chǔ)上,本發(fā)明用模糊罰函數(shù)遺傳優(yōu)化算法處理多目標有約束 問題,算法的基本框圖如圖l。算法采用實數(shù)編碼。
在根據(jù)具體問題選擇目標函數(shù)和約束條件以后,對它們進行正規(guī)化處理。然后, 根據(jù)群體規(guī)模在變量取值空間隨機產(chǎn)生初始群體,計算群體中各個個體的正規(guī)化目 標函數(shù)值和約束函數(shù)值。再根據(jù)模糊罰函數(shù)法將原來帶約束的多目標優(yōu)化問題轉(zhuǎn)化 為無約束多目標優(yōu)化問題。于是就可以根據(jù)群體中的點的適應(yīng)度值進行選擇了。
利用光順曲線建立曲面模型
曲線是曲面的基礎(chǔ),光順的曲線為實現(xiàn)曲面的光順性創(chuàng)造了條件。在工程實際 中,經(jīng)常要根據(jù)已知數(shù)據(jù)點反算曲面。
控制曲線的光順可能影響截面曲線的光順,需要由修改后的數(shù)據(jù)點重新生成有 關(guān)截面曲線進行必要的光順處理。因為雙向控制曲線的光順性互相影響,對一個方 向的控制曲線光順處理將影響另一個方向的控制曲線,所以對曲面的光順處理要沿 兩個方向交替反復(fù)進行,直至所有的截面曲線和控制曲線都達到光順為止,從而保 證曲面光順的收斂性。這樣,樣條曲面就有了合乎光順要求的網(wǎng)格骨架。此后,還 可以通過對所生成的曲面進行渲染和光照,從其效果査看光順性。
實施例-
如圖2所示,利用本發(fā)明的算法可以改善曲線的光順程度,在允許的范圍內(nèi), 盡量消除壞點的影響。采用本發(fā)明的算法擬合圖2中的數(shù)據(jù)點,得到圖2所示的三 次B樣條曲線2和利用本發(fā)明算法得到的曲線1,從圖2中可以看出,在程序要求
10的范圍內(nèi),曲線起伏變小,也即能量和曲率變化更小。
如圖3所示,直接用三次B樣條曲線擬合已知平面數(shù)據(jù)點,采用積累弦長參數(shù) 化,得到插值曲線(如圖3中的虛線)4和利用本發(fā)明算法得到的光順曲線3。
利用模糊罰函數(shù)遺傳優(yōu)化算法擬合同樣的數(shù)據(jù)點,釆用積累弦長參數(shù)化,型值 點撓動范圍取£=1。在允許范圍內(nèi)隨機取10組數(shù)據(jù),生成初始群體。取遺傳算法中 的交叉率為0。 3,變異率為0。 01,遺傳代數(shù)取20代(根據(jù)實際計算數(shù)值,在遺傳 超過20代以后,結(jié)果趨于相等)。得到插值曲線如圖3中的實線。
可以看出利用模糊罰函數(shù)遺傳優(yōu)化算法得到的插值曲線具有更好的光順性。
如圖4所示,現(xiàn)在要構(gòu)造一張kXl次B樣條曲面,插值給定呈拓撲矩形陣列的 數(shù)據(jù)點A,,, / = 1,2,...,附,_/ = 1,2,...,"。可以根據(jù)數(shù)據(jù)點的空間分布,把一個方向取 為截面參數(shù)方向,以u為參數(shù),另一方向為控制曲線參數(shù)方向,以v為參數(shù),確定 出兩個參數(shù)方向的節(jié)點矢量U和V。按照前文所述的B樣條曲線光順算法,先在節(jié) 點矢量U上求出光順的截面曲線以及其控制頂點《/, / = 1,2,...,附+ &-1 , _/ = 1,2,...,",然后在節(jié)點矢量V上求出控制曲線及其控制頂點《"Z = l,2,...,w, / = 1,2,...," + /-1?!?就是所求B樣條插值曲面的(ra+k)X(n+l)個控制頂點(見圖4)。
權(quán)利要求
1、一種基于遺傳算法的曲線光順方法,其特征在于,方法的步驟1)生成初始群體;2)計算個體的目標函數(shù)值和約束函數(shù)值;3)利用模糊罰函數(shù)轉(zhuǎn)化有約束為無約束問題;即根據(jù)模糊集合理論對搜索空間重新定義,用點的適應(yīng)度值來判斷點位置的好壞;群體中的點離可行域越近,在模糊可行域中的隸屬度也應(yīng)該越高,處于可行域中的點應(yīng)該具有最高的隸屬度;即其中fm"為適應(yīng)度函數(shù),xi為隸屬變量;4)評價個體的適應(yīng)度用評價函數(shù)來評價個體或解的優(yōu)劣,并作為以后遺傳操作的依據(jù);5)用遺傳算法對評價函數(shù)求極值;6)迭代是否終止?是則轉(zhuǎn)至7);否則轉(zhuǎn)至2);7)輸出最優(yōu)解。
2、 一種基于遺傳算法的曲面光順方法,其特征在于,方法的步驟1) 根據(jù)數(shù)據(jù)點的空間分布,把一個方向取為截面參數(shù)方向,以u為參數(shù),另一方向為控制曲線參數(shù)方向,以V為參數(shù),確定出兩個參數(shù)方向的節(jié)點矢量U和V;2) 按照權(quán)利要求1所述的基于遺傳算法的曲線光順方法,先在節(jié)點矢量U上求 出光順的截面曲線以及其控制頂點《/, ; = l,2,...,/n + A:-l, _/ = 1,2,...,",然后在節(jié) 點矢量V上求出控制曲線及其控制頂點《"/ = 1,2,..., 7, / = 1,2,...," + /-1;《.就 是所求B樣條插值曲面的(m+k) X (n+l)個控制頂點;3) 對修改后的控制點重新生成有關(guān)截面曲線進行必要的光順處理;對曲面的光 順處理要沿兩個方向交替反復(fù)進行,直至所有的截面曲線和控制曲線都達到光順為止;得到合乎光順要求的樣條曲面網(wǎng)格骨架;對所生成的曲面進行渲染和光照,從 其效果查看光順性。
全文摘要
本發(fā)明公開一種基于遺傳算法的曲線曲面光順方法,涉及工程計算技術(shù)領(lǐng)域;所要解決的是工程設(shè)計計算中曲線曲面光順的技術(shù)問題;該曲線光順方法,其特征在于,方法的步驟1)生成初始群體;2)計算個體的目標函數(shù)值和約束函數(shù)值;3)利用模糊罰函數(shù)轉(zhuǎn)化有約束為無約束問題;4)評價個體的適應(yīng)度用評價函數(shù)來評價個體或解的優(yōu)劣,并作為以后遺傳操作的依據(jù);5)用遺傳算法對評價函數(shù)求極值;6)判斷迭代是否終止,是則轉(zhuǎn)至7);否則轉(zhuǎn)至2);7)輸出最優(yōu)解。本發(fā)明具有有利于曲線、曲面的光順,有利于在反求工程中由離散點進行的三維曲面的建模的特點。
文檔編號G06N3/12GK101458779SQ20081020815
公開日2009年6月17日 申請日期2008年12月30日 優(yōu)先權(quán)日2008年12月30日
發(fā)明者靜 劉, 杜繼濤, 王勝佳, 屹 甘, 立 甘, 齊從謙 申請人:上海理工大學(xué)