资源描述:
《b样条曲线正算反算贝塞尔曲线拼接曲面车身cad作业答案》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1、贝塞尔曲线的拼接用matlab画代码如下:%Bylyqmathclc;clearall;closeall;p=[12;48;615;918];p=p';t=linspace(0,1,200);n=size(p,2)-1;r=0;fork=0:nr=r+prod(1:n)/(prod(1:k)*prod(1:n-k))*p(:,k+1)*(t.^k.*(1-t).^(n-k));endplot(r(1,:),r(2,:),p(1,:),p(2,:),'-or')2、B样条曲线的正算functionBy
2、t8(p0,p1,p2,p3,p4,p5,p6,p7)t=0:0.001:1;%m=[-13-31;3-630;-3030;1410];x=p0(1)*(1/6)*(-t.^3+3*t.^2-3*t+1)+p1(1)*(1/6)*(3*t.^3-6*t.^2+4)...+p2(1)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+p3(1)*(1/6)*t.^3;y=p0(2)*(1/6)*(-t.^3+3*t.^2-3*t+1)+p1(2)*(1/6)*(3*t.^3-6*t.^2+4)..
3、.+p2(2)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+p3(2)*(1/6)*t.^3;%plot([p0(1)p1(1)p2(1)p3(1)],[p0(2)p1(2)p2(2)p3(2)]);holdon;plot(x,y,'r');x=p1(1)*(1/6)*(-t.^3+3*t.^2-3*t+1)+p2(1)*(1/6)*(3*t.^3-6*t.^2+4)...+p3(1)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+p4(1)*(1/6)*t.^3;y=p1(2
4、)*(1/6)*(-t.^3+3*t.^2-3*t+1)+p2(2)*(1/6)*(3*t.^3-6*t.^2+4)...+p3(2)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+p4(2)*(1/6)*t.^3;%plot([p0(1)p1(1)p2(1)p3(1)],[p0(2)p1(2)p2(2)p3(2)]);holdon;plot(x,y,'r');x=p2(1)*(1/6)*(-t.^3+3*t.^2-3*t+1)+p3(1)*(1/6)*(3*t.^3-6*t.^2+4)..
5、.+p4(1)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+p5(1)*(1/6)*t.^3;y=p2(2)*(1/6)*(-t.^3+3*t.^2-3*t+1)+p3(2)*(1/6)*(3*t.^3-6*t.^2+4)...+p4(2)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+p5(2)*(1/6)*t.^3;%plot([p0(1)p1(1)p2(1)p3(1)],[p0(2)p1(2)p2(2)p3(2)]);holdon;plot(x,y,'r');x=p3(1
6、)*(1/6)*(-t.^3+3*t.^2-3*t+1)+p4(1)*(1/6)*(3*t.^3-6*t.^2+4)...+p5(1)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+p6(1)*(1/6)*t.^3;y=p3(2)*(1/6)*(-t.^3+3*t.^2-3*t+1)+p4(2)*(1/6)*(3*t.^3-6*t.^2+4)...+p5(2)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+p6(2)*(1/6)*t.^3;%plot([p0(1)p1(1)p2(
7、1)p3(1)],[p0(2)p1(2)p2(2)p3(2)]);holdon;plot(x,y,'r');x=p4(1)*(1/6)*(-t.^3+3*t.^2-3*t+1)+p5(1)*(1/6)*(3*t.^3-6*t.^2+4)...+p6(1)*(1/6)*(-3*t.^3+3*t.^2+3*t+1)+p7(1)*(1/6)*t.^3;y=p4(2)*(1/6)*(-t.^3+3*t.^2-3*t+1)+p5(2)*(1/6)*(3*t.^3-6*t.^2+4)...+p6(2)*(1/6)*
8、(-3*t.^3+3*t.^2+3*t+1)+p7(2)*(1/6)*t.^3;%plot([p0(1)p1(1)p2(1)p3(1)],[p0(2)p1(2)p2(2)p3(2)]);holdon;plot(x,y,'r');plot([p0(1)p1(1)p2(1)p3(1)p4(1)p5(1)p6(1)p7(1)],[p0(2)p1(2)p2(2)p3(2)p4(2)p5(2)p6(2)p7(2)]);执行:>>Byt8([0,0],