我正在绘制矩形。我希望从最大的矩形开始绘制矩形到最小的矩形。我的代码的问题是我保持同心矩形,其中宽度的间隙小于长度的间隙。如果您想了解更多信息,请在第 81 行放置一个断点并运行每个循环以了解我的意思。查看每个后续矩形是如何绘制的。您会看到新旧矩形的宽度之间的差距小于长度差距。我提供代码以便您提供帮助。非常感谢您的帮助。
gap=(22.2/20)*10^(-3);
h=(0:7)*10^(-3);
n=20;
a=-59.9*10^(-3);
b=-5.5*10^(-3);
c=-125*10^(-3);
d=125*10^(-3);
a2=59.9*10^(-3);
b2=5.5*10^(-3);
c2=-125*10^(-3);
d2=125*10^(-3);
for i=1:length(h)
for j=1:n
%line 1
y1=c+gap*(j-1):0.1*10^-(3):d-gap*(j-1);
x1=ones(1,length(y1))*(a+gap*(j-1));
z1=ones(1,length(y1))*h(i);
lx1=ones(1,length(c2+gap*(j-1):0.1*10^(-3):d2-gap*(j-1)))*(a2-gap*(j-1));
ly1=c2+gap*(j-1):0.1*10^-(3):d2-gap*(j-1);
lz1=ones(1,length(ly1))*h(i);
%line 2
x2=a+gap*(j-1):0.1*10^-(3):b-gap*(j-1);
y2=ones(1,length(x2))*d-gap*(j-1);
z2=ones(1,length(y2))*h(i);
lx2=a2-gap*(j-1):-0.1*10^-(3):b2+gap*(j-1);
ly2=ones(1,length(lx2))*(d2-gap*(j-1));
lz2=ones(1,length(ly2))*h(i);
%line 3
y3=d-gap*(j-1):-0.1*10^-(3):c+gap*(j-1);
x3=ones(1,length(y3))*(b-gap*(j-1));
z3=ones(1,length(y3))*h(i);
ly3=d2-gap*(j-1):-0.1*10^-(3):c2+gap*(j-1);
lx3=ones(1,length(ly3))*(b2+gap*(j-1));
lz3=ones(1,length(ly3))*h(i);
%line 4
x4=b-gap*(j-1):-0.1*10^-(3):a+gap*(j-1);
y4=ones(1,length(x4))*c+gap*(j-1);
z4=ones(1,length(x4))*h(i);
lx4=b2+gap*(j-1):0.1*10^-(3):a2-gap*(j-1);
ly4=ones(1,length(lx4))*c2+gap*(j-1);
lz4=ones(1,length(lx4))*h(i);
u=[x1 x2 x3 x4];
v=[y1 y2 y3 y4];
w=[z1 z2 z3 z4];
u1=[lx1 lx2 lx3 lx4];
v1=[ly1 ly2 ly3 ly4];
w1=[lz1 lz2 lz3 lz4];
plot3(u1,v1,w1);
hold on
plot3(u,v,w);
hold on
end
end