曲面加工几何学_第1页
曲面加工几何学_第2页
曲面加工几何学_第3页
曲面加工几何学_第4页
曲面加工几何学_第5页
已阅读5页,还剩14页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连理工大学微分几何作业学院:姓名:学号:授课教师:电子邮箱:完成时间:机械工程学院王晓明2012年6月25日1/18非均匀有理B样条(NURBS曲线和曲面1,非均匀有理B样条曲线(3阶)NURB珈线提供了对标准解析几何和自由曲线、曲面的统一数学描述方法,它可通过调整控制顶点和权因子,方便地改变曲面形状,同时也可方便地转换成对应Bezier曲面。给定n+1个控制点及权因子,则k阶(k-1)次NURB釉线的表达式为:r(x)nNi,k(x)WRi0nNi,k(x)Wii0其中:Ni,k(u)为非均匀有理B样条基函数,按照deBoor-Cox递推公式,基函数满足一下关系:M,k(x)01,当Uiu

2、Ui1其它M,k(x)(xUi)Ni,k1(x)(Uikx)Ni01(x)1.1.曲线的建立Uik1UiUikUi1本文选取四个控制顶点P1,P2,P3,P4,已经四个权因子W,W2,%,WA,通过Matlab计算其基函数,并作出曲线。P控制顶点:0.51;权因子:w20.513;1.52/18非均匀节点:u12456.57.589.3由Matlab绘制曲线如下:-控制多边形A-B-样条曲线在每个点上标注其Frenet标架如图:控制多边形*B-样条曲线alphabetagama3/18在每个点上标注其曲率、挠率如图:控制多边形控制多边形B-样条曲线-挠率2.非均匀有理B样条曲面(3阶)假设名&

3、amp;定R3空间中,齐次坐标下的m1n1个点R(X。,Zj,Wj)(WjXij,WijYj,WjZij,Wij),i0,1,m;j=0,1,n,w。0,则参数曲面:mnR(u,v)(X(u,v),Y(u,v),Z(u,v),w(u,v)2Bm(u)B:(v),u0,v01 0j0称为矩形域0,1x0,1上的mxn次有理B样条曲面。其中巳称为控制顶点,w。称为权因子。NURBS®面的表达式为:nR(u,v)Wi,jR,jNi,k(u)Nj(v)j0nWi,jNi,k(u)N"(v)i01.1. 曲面计算的基本公式曲面第一基本形式:Frurv,Grvi;4/18曲面第二基本形

4、式:Lnruu,Mnruv,Nnrwo高斯曲率计算公式:2LNMEGF2平均曲率计算公式:NE2MFLG2EGF2曲面主曲率计算公式:kiH4HK,k2H4HK1.2. 曲面的建立选才?16个顶点构造B样条曲面,如表1所示:表116个顶点坐标数据厅Pxyz1-24.8849.76-4.352-23.660.560.153-19.4771.915.174-11.9981.099.785-22.8950.75-3.016-21.0361.451.447-16.6572.446.348-9.4781.3510.729-20.2551.91-1.2910-17.6662.433.1811-12.967

5、2.967.9112-6.1581.5711.9513-16.3453.371.0414-12.8163.545.5715-7.6173.4110.0416-1.4581.7213.675/1820.513w权因子:0.310.8211.510.80.5010.51计算结果如图:图2B样条曲面平均曲率H图3E值图4F值图5G值图6L值6/18图9k1值图10k2值3.参考文献1王省富.样条函数及其应用M.西北工业大学出版社,1989,9,西安.2张化光,刘鑫蕊,孙秋野.MATLAB/SIMULINK实用教程M.人民邮电出版社,2009,3,北京.3JohnH.Mathews,KurtisD.F

6、ink.数值方法(MATLAB版).电子工业出版社,2002,6,北京.7/18附录(Matlab源程序):非均匀有理B样条曲线(3阶)functionNURBS3clear;clc;symsrP=010;000.5;101;111.5;w=2,0.5,1,3;%插入点权重%w=2,2,2,2;%权重相等时u=12456.57.589.3;%非均匀节点(构造样条基函数)k=3;%三阶非均匀有理B样条曲线n=size(P,1);%控制点数目nu=size(u,2);%非均匀节点数ifnu=n+k+1M=100;r1=zeros(M,3);r2=zeros(M,3);r=zeros(M,3);X=

7、linspace(u(k+1),u(n+1),M);forl=1:M%构造非均匀有理B样条基函数x=X(l);N=zeros(n+k,k+1);fori=1:n+kifx>=u(i)&&x<u(i+1)N(i,1)=1;endendforj=2:k+1fori=1:n+k-j+18/18N(i,j)=(x-u(i)/(u(i+卜1)-u(i)*N(i,j-1)+(u(i+j)-x)/(u(i+j)-u(i+1)*N(i+1,j-1);endendform1=1:nform2=1:3r1(l,m2)=r1(l,m2)+w(m1)*N(m1,k+1)*P(m1,m2);

8、%分子分母endr2(l,:)=r2(l,:)+w(m1)*N(m1,k+1);%endendr=r1./r2;plot3(P(:,1),P(:,2),P(:,3),'-ko',r(:,1),r(:,2),r(:,3),'-r.');holdon;gridon;axisequallegend('控制多边形','B-样条曲线');elsedisp('输入错误,请核查u的维数是否满足n+k+1');endaxisequal犷阶导xt1=diff(r(:,1)',1);yt1=diff(r(:,2)',1

9、);zt1=diff(r(:,3)',1);ft1=xt1;yt1;zt1'%2阶导xt2=diff(r(:,1)',2);yt2=diff(r(:,2)',2);zt2=diff(r(:,3)',2);ft2=xt2;yt2;zt2'%3阶导xt3=diff(r(:,1)',3);yt3=diff(r(:,2)',3);zt3=diff(r(:,3)',3);ft3=xt3;yt3;zt3'%率计算k=zeros(size(ft2,1),1);9/18fori=1:size(ft2,1)n1=ft1(i,:);n

10、2=ft2(i,:);ka=sqrt(sum(cross(n1,n2).*cross(n1,n2);kb=sqrt(sum(n1.*n1);k(i)=ka/kbA3;end%fc点上表示曲率大小figure(2)plot3(P(:,1),P(:,2),P(:,3),'-ko',r(:,1),r(:,2),r(:,3),'-r.');holdon;gridon;axisequalforj=1:2:M-3quiver3(r(j,1),r(j,2),r(j,3),0,0,k(j),b');endlegend('控制多边形','B-样条曲

11、线','曲率);%率计算t=zeros(size(ft3,1),1);fori=1:size(ft3,1)nn1=ft1(i,:);nn2=ft2(i,:);nn3=ft3(i,:);ta=det(nn1;nn2;nn3);t(i)=ta/kaA2;end%在点上表示挠率大小figure(3)plot3(P(:,1),P(:,2),P(:,3),'-ko',r(:,1),r(:,2),r(:,3),'-r.');holdon;gridon;axisequalforj=2:2:M-310/18quiver3(r(j,1),r(j,2),r(j,3)

12、,0,0,t(j),b');endlegend('控制多边形','B-样条曲线',挠率);%fc点上表示其Frenetic标架figure(4)plot3(P(:,1),P(:,2),P(:,3),'-ko',r(:,1),r(:,2),r(:,3),'-r.');holdon;gridon;axisequalforj=1:M-2alpha=ft1(j,:)/norm(ft1(j,:);quiver3(r(j,1),r(j,2),r(j,3),alpha(1),alpha(2),alpha(3),'b');

13、beta=ft2(j,:)/(k(j)*norm(ft2(j,:)A2);beta=beta/norm(beta);quiver3(r(j,1),r(j,2),r(j,3),beta(1),beta(2),beta(3),'g');gama=cross(alpha,beta)/norm(cross(alpha,beta);quiver3(r(j,1),r(j,2),r(j,3),gama(1),gama(2),gama(3),'m');endlegend('控制多边形','B-样条曲线','alpha','

14、beta','gama');非均匀有理B样条曲面(3阶)P1,P2,P3,F4,已经四个权因子w,w,wi,W4,通过Matlab计算其基函数,并作出曲线。Clear;clcfid=fopen('Data.dat','r');k=1;s=fscanf(fid,'%s',1);%读字符串1维num=0;%NUMB行数Dotnum=zeros(1);%保存每个NUM勺点的个数Dot=cell(1);%保存每个NUM勺点的坐标whilek=111/18ifstrcmp(s,'NUM')a=fscanf(fid,&

15、#39;%d',2);%读整型数据2维num=num+1;k=1;elsek=0;break;endb=fscanf(fid,'%f,3*a(2);%读浮点型数据3*a(2)维Dotnum(num)=a(2);b=reshape(b,3,a(2);%将b转化为3行19列Dotnum=b'%clearaclearbend%hold;view(3);s=fscanf(fid,'%s',1);%读字符串1维u=0:0,08:1;v=0:0,04:1;a1=(1-3*u+3*u.*u-u.*u.*u);a2=(3*u-6*u.*u+3*u.*u.*u);a3=(

16、3*u.*u-3*u.*u.*u);a4=u.*u.*u;b1=(1-3*v+3*v.*v-v.*v.*v);b2=(3*v-6*v.*v+3*v.*v.*v);b3=(3*v.*v-3*v.*v.*v);b4=v.*v.*v;aa1=(-3+6*u-3*u.*u);aa2=(3-12*u+9*u.*u);aa3=(6*u-9*u.*u);aa4=3*u.*u;bb1=(-3+6*v-3*v.*v);bb2=(3-12*v+9*v.*v);bb3=(6*v-9*v.*v);bb4=3*v.*v;aaa1=(6-6*u);aaa2=(-12+18*u);aaa3=(6-18*u);aaa4=6*

17、u;bbb1=(6-6*v);bbb2=(-12+18*v);bbb3=(6-18*v);bbb4=6*v;12/18forh=1:length(u)a(h,:)=a1(h)a2(h)a3(h)a4(h);aa(h,:)=aa1(h)aa2(h)aa3(h)aa4(h);aaa(h,:)=aaa1(h)aaa2(h)aaa3(h)aaa4(h);endfork=1:length(v)b(k,:)=b1(k)b2(k)b3(k)b4(k);bb(k,:)=bb1(k)bb2(k)bb3(k)bb4(k);bbb(k,:)=bbb1(k)bbb2(k)bbb3(k)bbb4(k);end%fori

18、=1:num-3forj=1:Dotnum(num)-3xc=Doti(j,1),Doti(j+1,1),Doti(j+2,1),Doti(j+3,1);Doti+1(j,1),Doti+1(j+1,1),Doti+1(j+2,1),Doti+1(j+3,1);Doti+2(j,1),Doti+2(j+1,1),Doti+2(j+2,1),Doti+2(j+3,1);Doti+3(j,1),Doti+3(j+1,1),Doti+3(j+2,1),Doti+3(j+3,1);yc=Doti(j,2),Doti(j+1,2),Doti(j+2,2),Doti(j+3,2);Doti+1(j.2),

19、Doti+1(j+1,2),Doti+1(j+2,2),Doti+1(j+3,2);Doti+2(j,2),Doti+2(j+1,2),Doti+2(j+2,2),Doti+2(j+3,2);Doti+3(j,2),Doti+3(j+1,2),Doti+3(j+2,2),Doti+3(j+3,2);zc=Doti(j,3),Doti(j+1,3),Doti(j+2,3),Doti(j+3,3);Doti+1(j.3),Doti+1(j+1,3),Doti+1(j+2,3),Doti+1(j+3,3);13/18Doti+2(j,3),Doti+2(j+1,3),Doti+2(j+2,3),Do

20、ti+2(j+3,3);Doti+3(j,3),Doti+3(j+1,3),Doti+3(j+2,3),Doti+3(j+3,3);A=a*xc*b'%曲面上点的坐标赋值B=a*yc*b'C=a*zc*b'rA=A;rB=B;rC=C;surf(A,B,C),shadinginterp;colormap(jet)%彩色显示endendfori=1:num-3forj=1:Dotnum(num)-3xc=Doti(j,1),Doti(j+1,1),Doti(j+2,1),Doti(j+3,1);Doti+1(j,1),Doti+1(j+1,1),Doti+1(j+2,1)

21、,Doti+1(j+3,1);Doti+2(j,1),Doti+2(j+1,1),Doti+2(j+2,1),Doti+2(j+3,1);Doti+3(j,1),Doti+3(j+1,1),Doti+3(j+2,1),Doti+3(j+3,1);yc=Doti(j,2),Doti(j+1,2),Doti(j+2,2),Doti(j+3,2);Doti+1(j,2),Doti+1(j+1,2),Doti+1(j+2,2),Doti+1(j+3,2);Doti+2(j,2),Doti+2(j+1,2),Doti+2(j+2,2),Doti+2(j+3,2);Doti+3(j,2),Doti+3(j

22、+1,2),Doti+3(j+2,2),Doti+3(j+3,2);zc=Doti(j,3),Doti(j+1,3),Doti(j+2,3),Doti(j+3,3);Doti+1(j,3),Doti+1(j+1,3),Doti+1(j+2,3),Doti+1(j+3,3);Doti+2(j,3),Doti+2(j+1,3),Doti+2(j+2,3),Doti+2(j+3,3);Doti+3(j,3),Doti+3(j+1,3),Doti+3(j+2,3),Doti+3(j+3,3);forh=1:length(u)fork=1:length(v)14/18A=a(h,:)*xc*b(k,:)

23、'%曲面上点的坐标赋值B=a(h,:)*yc*b(k,:)'C=a(h,:)*zc*b(k,:)'Au=aa(h,:)*xc*b(k,:)'Av=a(h,:)*xc*bb(k,:)'Bu=aa(h,:)*yc*b(k,:)'Bv=a(h,:)*yc*bb(k,:)'Cu=aa(h,:)*zc*b(k,:)'Cv=a(h,:)*zc*bb(k,:)'Auu=aaa(h,:)*xc*b(k,:)'Avv=a(h,:)*xc*bbb(k,:)'Buu=aaa(h,:)*yc*b(k,:)'Bvv=a(h,

24、:)*yc*bbb(k,:)'Cuu=aaa(h,:)*zc*b(k,:)'Cvv=a(h,:)*zc*bbb(k,:)'Auv=aa(h,:)*xc*bb(k,:)'Buv=aa(h,:)*yc*bb(k,:)'Cuv=aa(h,:)*zc*bb(k,:)'Sz=Au,Bu,Cu;Sf=Av,Bv,Cv;Sff=Avv,Bvv,Cvv;Sfz=Auv,Buv,Cuv;Szz=Auu,Buu,Cuu;N=cross(Sz,Sf);n=N/norm(N,2);E(h,k)=dot(Sz,Sz);F(h,k)=dot(Sz,Sf);G(h,k)=do

25、t(Sf,Sf);L(h,k)=dot(Szz,n);M(h,k)=dot(Sfz,n);N(h,k)=dot(Sff,n);f2(h,k)=L(h,k)*N(h,k)-M(h,k)*M(h,k);f1(h,k)=E(h,k)*G(h,k)-F(h,k)*F(h,k);K(h,k)=f2(h,k)/f1(h,k);%高斯曲率H(h,k)=L(h,k)*G(h,k)-2*M(h,k)*F(h,k)+N(h,k)*E(h,k)/(f1(h,k);%平均曲率k1(h,k)=H(h,k)+sqrt(H(h,k)A2-K(h,k);k2(h,k)=H(h,k)-sqrt(H(h,k)A2-K(h,k);

26、%»%bl=1000;if(H(h,k)=NaN)break;15/18elseAD(h,k)=A+bl*1.0/H(h,k)*n(:,1);BD(h,k)=B+bl*1.0/H(h,k)*n(:,2);CD(h,k)=C+bl*1.0/H(h,k)*n(:,3);line(AAD(h,k),BBD(h,k),CCD(h,k),'Color','b');endendendendendfigure(2);surf(rA,rB,rC),shadinginterp;colormap(jet)%彩色显示holdon;gridon;fori=1:size(rA,

27、1)forj=1:size(rA,2)quiver3(rA(i,j),rB(i,j),rC(i,j),0,0,E(i,j),'b');endendfigure(3);surf(rA,rB,rC),shadinginterp;colormap(jet)%彩色显示holdon;gridon;fori=1:size(rA,1)forj=1:size(rA,2)quiver3(rA(i,j),rB(i,j),rC(i,j),0.0,F(i,j)/20,'b');endendfigure(4);surf(rA,rB,rC),shadinginterp;colormap(jet)%彩色显示holdon;gridon;16/18fori=1:size(rA,1)forj=1:size(rA,2)quiver3(rA(i,j),rB(i,j),rC(i,j),0.0,G(i,j)/20,b');endendfigure(5);surf(rA,rB,rC),shadinginterp;colormap(jet)%彩色显示holdon;gridon;fori=1:size(rA,1)forj

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论