欢迎来到天天文库
浏览记录
ID:20427896
大小:187.50 KB
页数:4页
时间:2018-10-12
《bezier曲线程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、奴值逼近第二次作业:画bezier曲线(一)直接法画二次bezier曲线:function[X,丫]=bezier(x,y)%用法:%bezier(x,y)%生成n-1次W塞尔曲线,其中x和y是n个点的坐标%h=bezier(x,y)%生成n-1次W塞尔曲线并返1叫曲线川柄%[X,Y]=bezier(x,y)%返Mn-1次W塞尔曲线的坐标n=length(x);t=linspace(0,1);xx=0;yy=0;fork=0:n-1tmp=nchoosek(n-1,k)*t.Ak.*(1-t).A(n-1-k);xx=xx+tmp*x(k+1);yy=
2、yy+tmp*y(k+1);endifnargout==2X=xx;Y=yy;endh=plot(xx,yy);ifnargout==1X=h;endbezier([2,4,5],[242])(二)递推法画四次bezier曲线:function
3、x,yl=bezierl(px,py)n0=300;x=ones(l,nO);y=x;j=o;n=length(px);Px=ones(n,n);Py=Px;Px(l,:)=px;Py(l,:)=py;fort=linspace(O,l,n0)fori=2:nforij=l:n-i+lPx(i,ij)=(1-t
4、)*Px(i-1,ij)+t*Px(i-1,ij+1);Py(i,ij)=(1-t)*Py(i-l,ij)+t*Py(i-1,ij+l);endendx(j)=round(Px(n,1));y(j)=round(Py(n,l));end»px=[15025070470350];py=[203503202050];[x,y]=bezierl(px,py);plot(px,py,x,y,’r’);
此文档下载收益归作者所有