跪求matlab画折叠桌的图

2023-05-24 综合 21阅读

L=120;  %长

D=50;   %宽,圆桌面直径

d=2.5;  %木板宽

hL=L/2; %半长

R=D/2;  %圆桌面半径

y=-R+d/2:d:R-d/2; %长条宽度方向中心位置

x=sqrt(R^2-y.^2); %长条中心在圆上的位置

H=hL-x(1);        %最长差颂腿长卖庆和度,也就是最大桌子高度

 

Tx=R*cosd(0:3:360);Ty=R*sind(0:3:360);Tz=zeros(size(Tx)); %桌面数据

legx=[hL*ones(size(x));x;nan(size(x))];                   %桌腿数据

legy=[y;y;nan(size(y))];

legz=[zeros(size(x));zeros(size(x));nan(size(x))];

legx=legx(:);legy=legy(:);legz=legz(:);

zhoux=[hL-H/2;hL-H/2];zhouy=[-R R];zhouz=[0;0];             %轴数据

                           

figure(1),clf;

DEG=5:9:68;              %角度增量

for ii=1:8      %最长条桌腿相对桌面折叠角度

    deg=DEG(ii);

    zz=-H/2*sind(deg);     %轴相对桌面高度

    xx=x(1)+H/2*cosd(deg); %轴横坐标

    alldeg=atan2(-zz*ones(size(x)),xx-x); %每个条腿折叠角度

    allx=(hL-x).*cos(alldeg)+x;           %每条腿末端x坐标

    allz=-(hL-x).*sin(alldeg);            %每条腿末端z坐标

    legx=[allx;x;nan(size(x))];                 %腿x数据  

    legz=[allz;zeros(size(allz));nan(size(allz))];%t腿z数据

    legx=legx(:);legz=legz(:);

    zhoux=[xx;xx];zhouz=[zz;zz];

    subplot(4,2,ii),

    h1=plot3(Tx,Ty,Tz,'k');hold on

    h2=plot3(legx,legy,legz,'b');

    h3=plot3(-legx,legy,legz,'g');

    h4=plot3(zhoux,zhouy,zhouz,'r');

    h5=plot3(-zhoux,zhouy,zhouz,'r'中盯);

    hold off

    view(3);

    axis equal;

    xlabel('X');ylabel('Y');zlabel('Z');

end

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com