




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Bezier曲线的拼接及其连续性,组员:栗周亚(主讲)樊凯 葛序理 牛辰光 顾超锋 尹顺源,Bezier曲线,由于几何外形设计的要求越来越高,传统的曲线曲面表示方法, 已不能满足用户的需求。1962年,法国雷诺汽车公司的P.E.Bzier构造了一种以逼近为基础的参数曲线和曲面的设计方法。Bzier方法将函数逼近同几何表示结合起来,使得设计师在计算机上就象使用作图工具一样得心应手。,Bezier曲线是通过一组多边折线的各顶点唯一的定义出来的。在多边折线的各顶点中,只有第一点和最后一点在曲线上,其余的顶点则用以定义曲线的阶次和形状。 多边折线称为特征多边形,其顶点称为 控制点。,Bzier曲线示例
2、,Bzier曲线P(t)与其控制多边形的关系可以这样认为:控制多边形P0P1Pn是P(t)的大致形状的勾画;P(t)是对P0P1Pn的逼近;,Pi表示特征多边形的n+1个顶点的位置向量, 是波恩斯坦多项式,Bernstein基函数具有如下形式:,注意:当i=0,t=0时,ti=1,i!=1。,1. Bezier曲线的定义,1一次Bezier曲线(n=1)一次多项式,两个控制点,这是一条连接起点和终点的直线段,1一次Bezier曲线(n=1)一次多项式,两个控制点,这是一条连接起点和终点的直线段,2二次Bezier曲线(n=2) 二次多项式,三个控制点,令,说明二次Bezier曲线为抛物线。,二
3、次Bzier曲线图示,二次Bezier曲线的三条调和函数,二次Bezier曲线代码: m-文件函数: function bezier2(p0,p1,p2) t=0:0.001:1; x=(p2(1)-2*p1(1)+p0(1)*t.2+2*(p1(1)-p0(1)*t+p0(1); y=(p2(2)-2*p1(2)+p0(2)*t.2+2*(p1(2)-p0(2)*t+p0(2); plot(p0(1) p1(1) p2(1),p0(2) p1(2) p2(2),b),hold on plot(x,y,r); 执行: bezier2(1,3,4,18,7,6),2 Bezier曲线的性质,(1
4、)端点,Bezier曲线通过特征多边形的起点和终点。,(2)一阶导数,起始点:,终止点:,(3)对称性,保持n次Bezier曲线诸顶点的位置不变,而把次序颠倒过来,则此时曲线仍不变,只不过曲线的走向相反而已。,(4)凸包性,由于 所以当t在0,1区间变化时,对某一个t值,Q(t)是特 征多边形各顶点的加权平均,权因子依次是 。在 几何图形上,意味着Bzier曲线Q(t)在 中各点是 控制点Pi的凸线性组合,即曲线落在Pi构成的凸包之 中;,(5)几何不变性,曲线的形状仅与特征多边形各顶点的相对位置有关,而与坐标系的选择无关。,三次Bezier曲线的插值 插值要求得到的曲线精确的通过采样点,四个
5、控制点决定 一条Bezier曲线,插值M个点(M4)设计到曲线拼接连续性 的问题,要求达到切线连续。 三次Bezier曲线的数学表达是为:,三次Bezier曲线的结构,【算法】 Step 1:已知采样点,,两端各自增加一个虚拟控制点,,分别求出,的中点,Step 2:分别求出,的中点,。,Step 3:将,沿着,的方向移到,,对应的,移到,。,Step 4:保持,点不变收缩线段,到,,且,。记,为,,,为,。,Step 5:分别以,为4个控制点按照(1),式画出一条三次的Bezier曲线,得到的Bezier曲线插值于 每一个采样点,且分片一次连续。,算法的示意图,三次Bezier曲线代码: f
6、unction bezier3(p0,p1,p2,p3) t=0:0.001:1; x=(1-t).3*p0(1)+3*t.*(1-t).2*p1(1)+3*t.2.*(1-t)*p2(1)+t.3*p3(1); y=(1-t).3*p0(2)+3*t.*(1-t).2*p1(2)+3*t.2.*(1-t)*p2(2)+t.3*p3(2); plot(p0(1) p1(1) p2(1) p3(1),p0(2) p1(2) p2(2) p3(2),b); hold on; plot(x,y,r); 执行: bezier3(0,3,5,20,7,2,9,1),Bezier曲线的拼接,拼接不要求曲线
7、通过每一个采样点,只要求曲线 “很接近”采样点就行。“很接近”的评价标准常为最 小平法逼近。 拼接的一般步骤:,设采样点为,,拼接的Bezier曲线为,Step 1: 将,参数化到0,1区间上的值,即求,。常采用弦长参数法,Step 2: 对每一段三次的Bezier曲线,有,最小,需要求每一段Bezier曲线的控制点。,按照这种算法需要反求控制顶点,随着数据采集量的增大, 计算量成,倍增长,且反求控制点的矩阵若为病态矩阵, 则求解更耗时间,拼接的结果也不尽人意。,4.C1的二次B样条闭曲线,馒头,B样条曲线代码: function Byangtiao8(p) t=0:0.005:1; hold
8、 on for i=1:5 x=p(1,i)*(1/6)*(-t.3+3*t.2-3*t+1)+p(1,i+1)*(1/6)*(3*t.3-6*t.2+4). +p(1,i+2)*(1/6)*(-3*t.3+3*t.2+3*t+1)+p(1,i+3)*(1/6)*t.3; y=p(2,i)*(1/6)*(-t.3+3*t.2-3*t+1)+p(2,i+1)*(1/6)*(3*t.3-6*t.2+4). +p(2,i+2)*(1/6)*(-3*t.3+3*t.2+3*t+1)+p(2,i+3)*(1/6)*t.3; plot(x,y,k); end plot(p(1,1) p(1,2) p(1,
9、3) p(1,4) p(1,5) p(1,6) p(1,7) p(1,8), p(2,1) p(2,2) p(2,3) p(2,4) p(2,5) p(2,6) p(2,7) p(2,8); 执行: Byangtiao8(4,6,3,1,7,9,15,11;0,9,11,15,15,7,6,12),function Testorder2C10 axis(0 10 0 10) hold on x=; y=; n=0; while (1) xtemp, ytemp, button=ginput(1); if button=3 break end plot(xtemp, ytemp, .); x=x
10、;xtemp; y=y;ytemp; n=n+1; end,delta=ones(n,1); %此处01.l= tx,ty=interporder2c10(x,y,delta); m=length(tx); for s=1:2:m-1 hold on myplotB(tx(s:s+2),ty(s:s+2),r); end hold off end,附录:C1的二次B样条闭曲线Matlab程序,function myplotB(x,y,str) B=; m=length(x); for t=0:0.01:1 X,Y=Beziercurve(x,y,t); B=B,X(1,m);Y(1,m); e
11、nd plot(B(1,:),B(2,:),str,Linewidth,2.5) hold on,X,Y=Beziercurve(x,y,0.5); for i=1 plot(X(1:m-i+1,i),Y(1:m-i+1,i),str); end hold off end function X,Y=Beziercurve(x,y,t) m=length(x); n=length(y); if m=n error(dimension is not match); end,X=zeros(m,m); X(:,1)=x; Y=zeros(m,m); Y(:,1)=y; for r=m:-1:2 X(
12、1:r-1,m-r+2)=(1-t)*X(1:r-1,m-r+1)+t*X(2:r,m-r+1); Y(1:r-1,m-r+2)=(1-t)*Y(1:r-1,m-r+1)+t*Y(2:r,m-r+1); end end,function tx,ty=shengjie(x,y) m=length(x); tx=zeros(m+1,1); ty=zeros(m+1,1); tx(1)=x(1); tx(m+1)=x(m); ty(1)=y(1); ty(m+1)=y(m); tx(2:m)=(2:m)/(m+1).*x(1:m-1)+. (1-(2:m)/(m+1).*x(2:m); ty(2:m)=(2:m)/(m+1).*y(1:m-1)+. (1-(2:m)/(m+1).*y(2:m); end,function tx,ty=interporder2c10(x,y,delta) m=length(x); n=2*m+1; tx=zeros(n,1); ty=zeros(n,1); for i=1:m-1 tx(2*i)=x(i); tx(2*i+1)=(delta(i+1)*x(i)+. delta(i)*x(i+1)/(delta(i)+delta(i+1); ty(2*i)=y(i); ty(2*i+1)=(delta(i+1)*y(i)+.,delta(i)*y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【课件】三角形全等的判定(第4课时+尺规作图)(教学课件)数学人教版2024八年级上册
- 数字货币支付的AI驱动变革与创新模式探索
- 养护内业资料课件介绍
- 零售行业变革及新零售模式发展趋势
- 家居制造业工业风趋势下的供应链管理优化策略
- 推进工作落实管理办法
- 提高救助资金管理办法
- 丝路美食基因库行业产业链分析
- 收缴制式枪械管理办法
- 放宽出境旅游管理办法
- 环境卫生管理方案
- 中国居民投资理财行为调研报告2024-高金智库x蚂蚁理财智库-202412
- 投资咨询业可持续发展策略-洞察分析
- 天立中学招生测试卷
- 电影《白日梦想家》课件
- 北京市昌平区2023-2024学年八年级上学期期末语文试题(解析版)
- 实验活动2 水的组成及变化的探究说课稿-2024-2025学年九年级化学人教版(2024)上册
- 网络舆情分析操作手册
- 2024年《认识大熊猫》课件:大熊猫保护的明天
- 团员发展纪实簿
- DB11-T 1952-2022 地理国情监测技术规程
评论
0/150
提交评论