基于B样条曲面生成算法的研究及改进

基于B样条曲面生成算法的研究及改进

ID:36453681

大小:451.45 KB

页数:10页

时间:2019-05-10

基于B样条曲面生成算法的研究及改进_第1页
基于B样条曲面生成算法的研究及改进_第2页
基于B样条曲面生成算法的研究及改进_第3页
基于B样条曲面生成算法的研究及改进_第4页
基于B样条曲面生成算法的研究及改进_第5页
资源描述:

《基于B样条曲面生成算法的研究及改进》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、B样条曲面生成算法的研究与改进摘要本文首先介绍了B样条曲面生成的已有算法:基于B样条曲线生成的德布尔算法的B样条曲面的生成算法、基于样条曲面反算方法的B样条曲面生成算法。接着介绍了两种双三次B样条曲面生成的改进算法:1.基于deBoor和CoxB递推公式构造B样条曲面基的曲面生成算法,2.提高双三次B样条曲面的生成效率的改进算法。第2种算法能显著提高效率,提出B样条曲面正等测投影的建立方法,讨论用高性能的动态数组和Excel软件存储任意数量控制点的实现方法等关键技术。采用VisualC++6.0为编程工具开发软件系

2、统,实现了任意数量控制点的双三次B样条曲面生成。通过将改进的算法和已有的算法进行比较我们得出改进算法的优点。关键词:B样条曲面生成算法deBoor、CoxB递推公式1引言B样条曲线曲面是实体造型,虚拟现实等CAD/CAM领域中广泛使用的几何造型工具。B样条曲面具有与B样条曲线相同的局部支柱性、凸包性、连续性和几何不变性等性质。与Bezier曲面相比,B样条曲面极为自然地解决了曲面片之间的连接问题。它不仅继承了Bézier曲线曲面的所有优点,而且具有局部修改的性质,因此得到工业界的广泛认可。B样条曲面的生成算法一直都

3、是学者们的研究热点。在施法中提出的B样条曲线生成的德布尔算法[1]的基础上,谭浩强将此算法推广到B样条曲面的生成[2];吕科,耿国华,周明全等人提出了基于样条曲面反算方法的B样条曲面生成算法[3];而近几年又有很多人提出了许多改进的算法,其中本文主要介绍了基于deBoor和CoxB递推公式构造B样条曲面基的曲面生成算法[4]和提高双三次B样条曲面的生成效率的改进算法[9]。102.已有算法介绍2.1基于样条曲面反算方法的B样条曲面生成算法定义n,m分别为u向、v向上待插值数据点个数,k=3,l=3,分别为生成曲面在

4、u向、v向上的次数。述的B样条曲面为P(u,w)=。按网格V中的行构造w向的曲线,则可得到四条B样条曲线:其中:Bj,3(w)为与顶点Vij对应的B样条基函数;Vij为控制顶点。当参数w在[0,1]内取值w1时,则可分别在曲线Q1(w)、Q2(w)、Q3(w)、Q4(w)上得到四个点q1、q2、q3和q4。若以该四点作为新的特征多边形顶点再构造u向的B样条曲线:则P(u,wl)为曲面片上的一条曲线。当u和w在[0,1]之间遍历时,就可以得到一张双三次B样条曲面片,如图1所示。可通过正算,用追赶法解方程组获得控制网格

5、,然后反算获得曲面,再进行插值。如图2为给定点云数据通过反求后,滤掉不合格的点,再生成的控制网格和曲面。102.2基于B样条曲线生成的德布尔算法的B样条曲面的生成2.2.1B样条曲线控制顶点及控制多边形的生成[5](1)B样条曲线采用顶点定义,控制顶点的生成有下面几个过程来完成:程序先对控制顶点的坐标赋值:Contr->x=0;Contr->y=0;然后将鼠标所在点的坐标赋给控制顶点:;调入画直线函数,以坐标点(x,y)为中心,画小十字线:line(x-2,y,x+2,y);line(x,y-2,x,y+2).此时

6、,一个点的输入结束,重复这个过程便会在屏幕上得到一系列的控制定点。点的输入结束后,调入直线命令,依次连接控制定点,即在屏幕上生成控制多边形。(2)求B样条曲线上的点控制多边形确定以后,B样条曲线的形状取决于B样条曲线的次数,求B样条曲线上的点可采用德布尔算法的递推公式。10这里P(u)为所求曲线上的点。对于求出的B样条曲线上的一系列点,依次用小直线段连接。由于程序中选取的步长非常小,所以在屏幕上显示出所定义的一条眼观光滑的B样条曲线。2.1.2B样条曲面控制网格的生成[1]生成过程如下:程序中用文件输入曲面的控制顶

7、点;选取两个参数方向的次数分别用k与l表示,其取值范围:;选取两个参数方向的合适步长,将德布尔算法推广到曲面,计算并显示曲面上每个参数方向的对应于定义域内的眼观光滑的等参数线。其生成B样条曲面的算法如下:设给定曲面定义域一对参数值(u,v),欲求该B样条曲面上对应的点P(u,v)可以先沿任一参数方向譬如先沿v参数方向,按如下步骤进行:首先以参数值对沿v参数方向的m+1个控制多边形执行用于计算B样条曲线上点的德布尔算法,求得m+1个点作为中间顶点,构成中间多边形。然后,以u参数值对这中间多边形执行B样条曲线的德布尔算

8、法,所得一点即所求B样条曲面上一点P(u,v)。给出一系列u,v值,就得到曲面上的一系列点。光滑连接生成曲面:对于求出的B样条曲面上的一系列的点,依次用小直线段连接,即在屏幕上显示出所定义的一张眼观滑的等参数线,即B样条曲面片。下图即为屏幕输出的控制网格及曲面片。102.2.1反算u向控制顶点对于截面层中的存储数据,采用统一的u向节点矢量U:在节点矢量U上,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。