欢迎来到天天文库
浏览记录
ID:352919
大小:406.50 KB
页数:18页
时间:2017-07-27
《b样条曲线曲面插值问题中参数化的智能算法 计算机专业毕业论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、B样条曲线曲面插值问题中参数化的智能算法B样条曲线曲面插值问题中参数化的智能算法数学与计算机科学学院计算机科学与技术【摘要】本文用遗传算法代替传统的方法解决B样条曲线曲面的插值问题,该遗传算法的思想是:对参数值进行编码,并用光顺度做为适应度,通过遗传搜索对参数值求优解。实验表明,用遗传算法代替传统的方法可以使曲线曲面具有更良好的形状。【关键词】B样条曲线;插值;参数化;智能算法1.引言样条函数是近代数学的新发展。60年代以来,它被广泛应用于数据拟合、函数逼近、数值积分与微分,并在理论上逐步完善,成为逼近论中的一个新分支和计算机辅助几何设计(CAG
2、D)工作中主要数学工具,在航空、造船、汽车等部门发挥着日益重要的作用。目前,在CAGD中使用较多的是多项式样条函数,即整体具有一定连续性而分段为多项式的样条函数,如二次样条函数、三次样条函数和B样条函数等。由于B样条函数具有许多样条函数所没有的优点。如可以灵活地构成随意形状的曲线。包括直线、封闭曲线和含有尖点的曲线在内。具有直观性和凸包性;与特征多边形的外形较接近;移动某个节点只会影响临近的几段曲线,因而便于对生成的曲线进行局部修改;可以采用较低次的多项式而又保证一定阶数的连续性等,因而成为目前CAGD中最常用的方法[1]。B样条曲线曲面插值问题
3、是计算机辅助几何设计、计算机图形学以及现实工业等领域的关键技术。具有很强的实际应用意义。传统的曲线插值方法是一般地强制使曲线的首末端点分别与给定的一组数据点中的首末数据点一致[2,3],使曲线的分段连接点分别依次与B样条曲线定义域内的节点一一对应,即使数据点对应的节点值分别与参数值一一对应。确定数据点(i=0,1,,m)相应的节点值的方法有:里森费尔德(Riesenfeld,1975)方法、哈特利(Hartley)—贾德(Judd,1978)方法、均匀参数化(uniformparameterization)、累加弦长法(cumulativecho
4、rdlengthparameterization)、向心参数化法(centripetalmodelparameterization)、Forley参数化法、梯度法(Gauss-Newtonapproach)等[4]。取其中一种方法即可得出节点值。相应可确定定义域内参数值为。再通过插值条件及自由端点条件,便可以求出控制顶点。从而可以得通过这些数据点的B样条曲线。这种方法具有简单快速的优点,对一般的曲线也能得到良好光顺的形状,但是对一些复杂、给定的数据点很不均匀的曲线时,这种方法就不能得到良好光顺的形状。同样在曲面的插值中,这种方法既有它简单快速的优
5、点,也有不好的不能适用于所有类型的曲面的一面。遗传算法能克服传统方法中存在的这些缺点,它在传统方法的基础上对参数值在一定的范围和误差内进行搜索求出最优解,从而使曲线曲面具有良好光顺的形状。遗传算法是一种新型的全局优化搜索算法[5],其主要特点是从多个点出发进行群体搜索,同时充分利用群体中个体之间的信息交换。算法计算过程简单,对搜索空间有广泛的适应性,其对函数本身没有任何依赖性,尤其适用于处理传统搜索方法难以解决的复杂和非线性问题。遗传算法自提出以来,得到了广泛的应用,已有越来越多的人在这领域进行研究。遗传算法在插值计算、曲线曲面设计和拟合方面也有
6、多人研究。Yoshimoto等对节点向量进行二进制编码和实数编码,用遗传算法获得拟合B样条曲线。Markus等则先对参数用累加弦长法产生一条三次B样条曲线,再以此B样条曲线为中心产生宽为的一个带状区域,然后在此带状区域中,以曲率平方的积分为目标函数,应用遗传算法求出较佳的插值B样条曲线[6]。鉴于已有的这方面的研究结果,本文应用遗传算法替代传统优化算法来对B样条进行优化处理以达到更佳的效果是可行的。18B样条曲线曲面插值问题中参数化的智能算法2.B样条曲线基本知识B样条曲线的参数方程可表示为[2,3]:(2-1)其中,为控制顶点,又称德布尔点。顺
7、序连成的折线称为B样条控制多边形,又常简称为控制多边形。称为次规范样条基函数,其中每一个称为规范样条,简称样条。它是由一个称为节点矢量的非递减的参数的序列所决定的次分段多项式,也即是次多项式样条。样条具有局部支承性质。样条基是多项式样条空间具有最小支承的一组基,故被称为基本样条,简称样条。曲线方程中相应n+1个控制顶点,要用到n+1个k次B样条基函数。其中,k次B样条基函数按德布尔-考克斯递推公式计算:(2-2)的双下标中第二下标表示次数,第一个下标表示序号。该递推公式表明,欲确定第个次B样条,需要用到共+2个节点。称区间[]为的支承区间。次B样
8、条的支承区间包含k+1个节点区间,因此在参数t轴上任一点处,就至多只有+1个非零的次B样条,其他次B样条在该处均为零。因此可将B样条曲线
此文档下载收益归作者所有