當前位置:編程學習大全網 - 編程語言 - 繪制立方體的編程

繪制立方體的編程

x = 1;

y = 2;

θ= pi/10;

r = 0.5

軸?平等?

t?=?linspace(0+theta,2*pi+theta,6);?

xr?=?x+r * cos(t);?

yr?=?y+r * sin(t);?

xk?=?零(1,11);?

yk?=?零(1,11);?

xk(1)?=?xr(1);?yk(1)?=?yr(1);?【xk(2)?yk(2)]?=?交叉點([xr(1)?yr(1)],[xr(3)?yr(3)],[xr(2)?yr(2)],[xr(5)?yr(5)]);?

xk(3)?=?xr(2);?yk(3)?=?yr(2);?【xk(4)?yk(4)]?=?交叉點([xr(2)?yr(2)],[xr(4)?yr(4)],[xr(1)?yr(1)],[xr(3)?yr(3)]);?

xk(5)?=?xr(3);?yk(5)?=?yr(3);?【xk(6)?yk(6)]?=?交叉點([xr(2)?yr(2)],[xr(4)?yr(4)],[xr(3)?yr(3)],[xr(5)?yr(5)]);?

xk(7)?=?xr(4);?yk(7)?=?yr(4);?【xk(8)?yk(8)]?=?交叉點([xr(3)?yr(3)],[xr(5)?yr(5)],[xr(1)?yr(1)],[xr(4)?yr(4)]);?

xk(9)?=?xr(5);?yk(9)?=?yr(5);?【xk(10)?yk(10)]?=?交叉點([xr(1)?yr(1)],[xr(4)?yr(4)],[xr(2)?yr(2)],[xr(5)?yr(5)]);?

xk(11)= xk(1);yk(11)= yk(1);

plot(xk,yk);?

%fill(xk,yk,' w ')?

軸?平等的

軸?關;妳需要寫另壹個函數來計算交集。

功能?[x,y]=交叉點(p1,p2,p3,p4)?

x1?=?p 1(1);?y1?=?p 1(2);?

x2?=?p2(1);?y2?=?p2(2);?

x3?=?P3(1);?y3?=?P3(2);?

x4?=?P4(1);?y4?=?P4(2);?

如果?x1==x2

x?=?x 1;?

k2?=?(y4-y3)/(x4-x3);

y?=?k2 *(x-x3)+y3;?

埃爾瑟夫?x3==x4?

x?=?x3;?

k1?=?(y2-y 1)/(x2-x 1);

y?=?k 1 *(x-x 1)+y 1;?

不然呢?

k1?=?(y2-y 1)/(x2-x 1);?

k2?=?(y4-y3)/(x4-x3);?

索爾?=?【-k1?1;-k2?1]\[y 1-k 1 * x 1;y3-k2 * x3];

x?=?sol(1);y?=?溶膠(2);?

結束

結束%球體

syms?x?y?z;

f=x^2+y^2+z^2-16;

nv =雅可比(F,[x?y?z]);

[x,y,z]=球面;

surf(4*x,4*y,4 * z);

底紋?interp

%指定壹個點

x =-1;y =-2;z=sqrt(16-x^2-y^2);

NV = double(subs(NV));

保持?開;

quiver3(x,y,z,nv(1),nv(2),nv(3),. 5);%法向量

t =-1:. 5:1;

[xx,yy]=meshgrid(t+x,t+y);

ZZ =-(NV(1)*(xx-x)+NV(2)*(YY-y))/NV(3)+z;

mesh(xx,yy,ZZ);%切面清晰?所有;

接近?所有;

圖;保持?開;

x1=[0?10?10?0?0];

y1=[0?0?0?0?0];

z1=[0?0?10?10?0];

x2=[10?10?10?10?10];

y2=[0?10?10?0?0];

z2=[0?0?10?10?0];

x3=[0?10?10?0?0];

y3=[10?10?10?10?10];

z3=[0?0?10?10?0];

x4=[0?0?0?0?0];

y4=[0?10?10?0?0];

z4=[0?0?10?10?0];

plot3(x1,y1,z1,'顏色',[0?0?0]);

plot3(x2,y2,z2,'顏色',[0?0?0]);

plot3(x3,y3,z3,'顏色',[0?0?0]);

plot3(x4,y4,z4,'顏色',[0?0?0]);

%?plot3(x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,x5,y5,z5,'顏色',[0?0?0]);

視圖(3);

x = 0:0.1:10;

z=0.4。*(x-5)。^2;

y =零(長度(x));

保持?開;

plot3(x,y,z);

y=10。*個壹(長度(x));

plot3(x,y,z);

y = 0:0.1:10;

z=0.4。*(y-5)。^2;

x =零(長度(x));

plot3(x,y,z);

x=10。*個壹(長度(x));

plot3(x,y,z);

set(gca,' xtick ',[],' xticklabel ',[]);

set(gca,' ytick ',[],' yticklabel ',[]);

set(gca,' ztick ',[],' zticklabel ',[]);

  • 上一篇:棗莊科技職業技術學院的專業介紹
  • 下一篇:VB什麽時候出的?具體年份哪壹年?
  • copyright 2024編程學習大全網