基于遗传算法的曲线曲面光顺方法

文档序号:6469721阅读:264来源:国知局
专利名称:基于遗传算法的曲线曲面光顺方法
技术领域
本发明涉及工程计算技术,特别是涉及一种基于遗传算法的曲线曲面光顺方法。
背景技术
函数曲线的光滑度(smoothness)可以用其变量的可微性(differencibility)来 度量。函数的连续阶越高,该函数曲线就越光滑。光顺的概念涉及人对几何外形的 感觉。由数学的抽象而论, 一条光顺的曲线通常应满足下面的几个条件:①曲线二阶 几何连续,即位置、切线和曲率矢连续。②没有奇点和多余拐点。③曲率变化比较 均匀。④应变能较小。在整体光顺法中,现在用的最多的是能量法,其基本思想是 让样条的能量在适当的约束条件下(如型值点的最大修改量〈O取到极小或优化。能 量法着重考虑了上述第④条准则,而对第③条准则未加以考虑。此外,利用能量法 光顺,不论被光顺的几何形状是什么,光顺的效果总是趋于向直线变化,因而在一 些情况下光顺效果仍不能令人满意。因此需要从多个角度考察曲线的光顺性。
遗传算法是一种随机的全局多点搜索算法,具有隐含并行性的特点,确定性的 数学表达式对遗传算法的进化过程影响不大。遗传算法的操作过程是一种模糊过程 而不是精确的数值计算,特别适合于求解多目标优化问题。当约束条件被转换到模 糊域中后,模糊可行集合中既包含可行点又包含不可行点,这样遗传算法就能够同 时得到可行点和不可行点的信息。

发明内容
针对上述现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种有利于曲线、曲面的光顺,有利于在反求工程中由离散点进行的三维曲面的建模的基于 遗传算法的曲线曲面光顺方法。
为了解决上述技术问题,本发明所提供的一种基于遗传算法的曲线光顺方法, 其特征在于,方法的步骤
1) 生成初始群体;
2) 计算个体的目标函数值和约束函数值;
3) 利用模糊罚函数转化有约束为无约束问题;即根据模糊集合理论对搜索空间 重新定义,用点的适应度值来判断点位置的好坏。群体中的点离可行域越近,在模 糊可行域中的隶属度也应该越高,处于可行域中的点应该具有最高的隶属度;即
min(乂",/2",…,/J') , 2 x, S / = 1,2"""
其中/J'为适应度函数,X,为隶属变量;
4) 评价个体的适应度用评价函数来评价个体或解的优劣,并作为以后遗传操 作的依据;
5) 用遗传算法处理;(选择、变异、交叉)用遗传算法进行优化的过程也就是 对评价函数求极值的过程;
6) 迭代是否终止?是则转至7);否则转至2);
7) 输出最优解。
本发明所提供的一种基于遗传算法的曲面光顺方法,其特征在于,方法的步骤
1) 根据数据点的空间分布,把一个方向取为截面参数方向,以U为参数,另一 方向为控制曲线参数方向,以V为参数,确定出两个参数方向的节点矢量U和V;
2) 按照所述的基于遗传算法的曲线光顺方法,先在节点矢量U上求出光顺的截 面曲线以及其控制顶点《/, / = l,2,...,m + A-l, _/ = 1,2,...,",然后在节点矢量V上 求出控制曲线及其控制顶点《,,hl,2,…,m, _/ = 1,2,...," + /-1。《,就是所求B样 条插值曲面的(m+k) X (n+l)个控制顶点;3)对修改后的控制点重新生成有关截面曲线进行必要的光顺处理。对曲面的光 顺处理要沿两个方向交替反复进行,直至所有的截面曲线和控制曲线都达到光顺为 止。得到合乎光顺要求的样条曲面网格骨架。对所生成的曲面进行渲染和光照,从 其效果査看光顺性。
利用本发明提供的基于遗传算法的曲线曲面光顺方法,对曲线、曲面的光顺以 及在反求工程中由离散点进行三维曲面建模均有实用价值。


图1为本发明实施例模糊罚函数遗传优化算法的框图; 图2为本发明方法所得曲线与原插值曲线的比较示意图3为本发明的方法所得曲线与直接用三次B样条拟合的曲线的比较示意图,
其中
图3 (a)为由两种不同方法生成的曲线的比较示意图3 (b)为两种曲线的能量的比较示意图3 (C)为两种曲线的曲率变化率的比较示意图4为曲面模型示意图, 其中
图4 (a)为由已知点反算B样条曲面的示意图4 (b)为由己知点反算B样条曲面及其控制点的示意图。
具体实施例方式
以下结合

对本发明的实施例作进一步详细描述,但本实施例并不用于 限制本发明,凡是采用本发明的相似方法及其相似变化,均应列入本发明的保护范 围。
6本发明方法的光顺原理
曲线光顺性的表现之一是曲线的应变能较小。不考虑刚度常数,参数曲线p在 其整个弧长上应变能为在该弧长取积分
£=jA:2cfe (1) 对于一般参数,弧长5=|;/|^/ ,于是有
五=f(Lp^V I ^'l dw (2)
有的学者认为,由式(2)所表达的精确的能量形式,往往很难于计算,通常采取
近似的能量形式。当曲线的一阶导数与其二阶导数相比很小时,可以采用下式来近
似地表示曲线的能量
五 = jj / "卩dw (3)
从式(3)可以看出,能量较小可以粗略地说成绝对曲率较小,其中包含某种平均 意义,但用应变能较小的提法更贴切。而应变能较小并不能包括曲率变化小,所以 后者也应作为光顺的判据之一。
曲率的变化就是曲率的一阶导数。曲率变化率小,就意味着曲线的曲率没有急
剧变化,恰恰体现出光顺的本质,即 min(max(A:'》 (4) 式中k'为曲率k(u)的一阶导数。
所以曲线的光顺性在宏观上要求曲线的能量尽量小,在微观上要求曲率的一阶 导数的最大值也尽量小。这样同时考虑这两个准则,就能更全面地衡量曲线的光顺 性。
遗传算法在曲线光顺中的应用
在反求工程中,希望由给定的特征点构造具有较好性质的曲线和曲面。因此在用这些曲线建模之前,必须对它们进行光顺,以便能够建立符合要求的曲面模型。 即使曲线已经达到光顺的要求,也需要通过数值计算来加以验证。 设插值于给定型值点/V i=0, 1…,n的参数三次B样条曲线为
= 1X《3(") , " e [",+3,",+4] c ["3," +3]
式中《,j=0, 1,…,n+2是控制顶点;乂,3( )是由节点矢量% , k=0, 1,… n+6确定的三次B样条基函数。
应变能较小可以作为曲线光顺的条件之一,但应变能较小并不意味着曲率的变 化较小,因此能量法光顺的结果仅满足前述的第④条准则,但并不一定满足第③条 准则。根据以上的分析,宜采用两个目标函数乂, /2。
(1) 优化后的曲线的能量应该较小。考虑到计算的方便,采用曲线能量的近
似表示
= Jl/p"l2^ (5)
(2) 应使优化后的曲率一阶导数的最大值/2最小 /2=*' (6)
优化目标是/ = 1^11(_/;,/2) (7) 考虑到曲线的保形性和光顺性的要求,设定型值点在相应范围内e可以挠动, 并以此为约束条件。
式(7)是一个多目标优化问题。对多个目标的优化要求在给定的条件下同时要求 多个目标都尽可能的最优。
遗传算法不能直接处理有约束的问题,解决方法之一是利用罚函数法将有约束 问题转化为无约束问题。即根据模糊集合理论对搜索空间重新定义,用点的适应度 值来判断点位置的好坏。群体中的点离可行域越近,在模糊可行域中的隶属度也应 该越高,处于可行域中的点应该具有最高的隶属度。在模糊环境下,约束条件由定义域中的模糊集合G定义,用yG表示点满足约束 条件的程度。由模糊集合理论,当点在可行域中时,其隶属函数uG为l。其它情况 下,隶属函数的值在0《uG〈1的区间范围内。
对于极小化问题,在模糊集合中点的第j个考虑模糊罚函数的目标函数^(x)
对于违反约束条件的点,应在它所对应的目标函数后加上惩罚函数项。根据模 糊理论中隶属函数的概念,设计的惩罚函数项如下 设点k对第i个约束的违反程度为《
设点k对M个约束的违反程度中最大值为maxD = max(《,,《2,...,《),则有惩罚 项^。 ^反映的不是约束函数的值,而是群体中的点违背约束的程度。它的作用是 充分利用那些己经在可行域中的点和离可行域很近,有潜力经过交叉、变异以后进 入可行域中的点,使排序算法能够顺利进行。
A求出以后,可由/ ,导出/;", /;"=风 (io)
采用罚函数来处理约束条件,则适应度函数应作如下调整
其中i ,是j点处的惩罚函数值,是当/违反约束时的惩罚项,F表示目标函数
的可行域。
从乂"的值能够看出点的状态。y;'为正规化后的目标函数,其值域在[o, i]之间。 A为/"的整数部分,表示非可行域中的点违反约束条件的程度。 这样,多目标有约束问题就转化为多目标无约束问题,即
min(/;",/2V"/m"), x)')",《)/ = 1,2,...," (12)
o,遗传算法在搜索进化过程中, 一般不需要其它外部信息,仅用评价函数来评价 个体或解的优劣,并作为以后遗传操作的依据。用遗传算法进行优化的过程也就是 对评价函数求极值的过程。
在模糊罚函数的基础上,本发明用模糊罚函数遗传优化算法处理多目标有约束 问题,算法的基本框图如图l。算法采用实数编码。
在根据具体问题选择目标函数和约束条件以后,对它们进行正规化处理。然后, 根据群体规模在变量取值空间随机产生初始群体,计算群体中各个个体的正规化目 标函数值和约束函数值。再根据模糊罚函数法将原来带约束的多目标优化问题转化 为无约束多目标优化问题。于是就可以根据群体中的点的适应度值进行选择了。
利用光顺曲线建立曲面模型
曲线是曲面的基础,光顺的曲线为实现曲面的光顺性创造了条件。在工程实际 中,经常要根据已知数据点反算曲面。
控制曲线的光顺可能影响截面曲线的光顺,需要由修改后的数据点重新生成有 关截面曲线进行必要的光顺处理。因为双向控制曲线的光顺性互相影响,对一个方 向的控制曲线光顺处理将影响另一个方向的控制曲线,所以对曲面的光顺处理要沿 两个方向交替反复进行,直至所有的截面曲线和控制曲线都达到光顺为止,从而保 证曲面光顺的收敛性。这样,样条曲面就有了合乎光顺要求的网格骨架。此后,还 可以通过对所生成的曲面进行渲染和光照,从其效果査看光顺性。
实施例-
如图2所示,利用本发明的算法可以改善曲线的光顺程度,在允许的范围内, 尽量消除坏点的影响。采用本发明的算法拟合图2中的数据点,得到图2所示的三 次B样条曲线2和利用本发明算法得到的曲线1,从图2中可以看出,在程序要求
10的范围内,曲线起伏变小,也即能量和曲率变化更小。
如图3所示,直接用三次B样条曲线拟合已知平面数据点,采用积累弦长参数 化,得到插值曲线(如图3中的虚线)4和利用本发明算法得到的光顺曲线3。
利用模糊罚函数遗传优化算法拟合同样的数据点,釆用积累弦长参数化,型值 点挠动范围取£=1。在允许范围内随机取10组数据,生成初始群体。取遗传算法中 的交叉率为0。 3,变异率为0。 01,遗传代数取20代(根据实际计算数值,在遗传 超过20代以后,结果趋于相等)。得到插值曲线如图3中的实线。
可以看出利用模糊罚函数遗传优化算法得到的插值曲线具有更好的光顺性。
如图4所示,现在要构造一张kXl次B样条曲面,插值给定呈拓扑矩形阵列的 数据点A,,, / = 1,2,...,附,_/ = 1,2,...,"。可以根据数据点的空间分布,把一个方向取 为截面参数方向,以u为参数,另一方向为控制曲线参数方向,以v为参数,确定 出两个参数方向的节点矢量U和V。按照前文所述的B样条曲线光顺算法,先在节 点矢量U上求出光顺的截面曲线以及其控制顶点《/, / = 1,2,...,附+ &-1 , _/ = 1,2,...,",然后在节点矢量V上求出控制曲线及其控制顶点《"Z = l,2,...,w, / = 1,2,...," + /-1。《,就是所求B样条插值曲面的(ra+k)X(n+l)个控制顶点(见图4)。
权利要求
1、一种基于遗传算法的曲线光顺方法,其特征在于,方法的步骤1)生成初始群体;2)计算个体的目标函数值和约束函数值;3)利用模糊罚函数转化有约束为无约束问题;即根据模糊集合理论对搜索空间重新定义,用点的适应度值来判断点位置的好坏;群体中的点离可行域越近,在模糊可行域中的隶属度也应该越高,处于可行域中的点应该具有最高的隶属度;即其中fm"为适应度函数,xi为隶属变量;4)评价个体的适应度用评价函数来评价个体或解的优劣,并作为以后遗传操作的依据;5)用遗传算法对评价函数求极值;6)迭代是否终止?是则转至7);否则转至2);7)输出最优解。
2、 一种基于遗传算法的曲面光顺方法,其特征在于,方法的步骤1) 根据数据点的空间分布,把一个方向取为截面参数方向,以u为参数,另一方向为控制曲线参数方向,以V为参数,确定出两个参数方向的节点矢量U和V;2) 按照权利要求1所述的基于遗传算法的曲线光顺方法,先在节点矢量U上求 出光顺的截面曲线以及其控制顶点《/, ; = l,2,...,/n + A:-l, _/ = 1,2,...,",然后在节 点矢量V上求出控制曲线及其控制顶点《"/ = 1,2,..., 7, / = 1,2,...," + /-1;《.就 是所求B样条插值曲面的(m+k) X (n+l)个控制顶点;3) 对修改后的控制点重新生成有关截面曲线进行必要的光顺处理;对曲面的光 顺处理要沿两个方向交替反复进行,直至所有的截面曲线和控制曲线都达到光顺为止;得到合乎光顺要求的样条曲面网格骨架;对所生成的曲面进行渲染和光照,从 其效果查看光顺性。
全文摘要
本发明公开一种基于遗传算法的曲线曲面光顺方法,涉及工程计算技术领域;所要解决的是工程设计计算中曲线曲面光顺的技术问题;该曲线光顺方法,其特征在于,方法的步骤1)生成初始群体;2)计算个体的目标函数值和约束函数值;3)利用模糊罚函数转化有约束为无约束问题;4)评价个体的适应度用评价函数来评价个体或解的优劣,并作为以后遗传操作的依据;5)用遗传算法对评价函数求极值;6)判断迭代是否终止,是则转至7);否则转至2);7)输出最优解。本发明具有有利于曲线、曲面的光顺,有利于在反求工程中由离散点进行的三维曲面的建模的特点。
文档编号G06N3/12GK101458779SQ20081020815
公开日2009年6月17日 申请日期2008年12月30日 优先权日2008年12月30日
发明者静 刘, 杜继涛, 王胜佳, 屹 甘, 立 甘, 齐从谦 申请人:上海理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1