%绘制桁架函数,Scale为变形缩放系数 function AxisForcePlot(ele,Load,Constr,x,y,z,U,LineWidth,NodeSize,LineStyle,Scale,AxialForce) CoordScale=[max(x)-min(x),max(y)-min(y),max(z)-min(z)]; k=1; %计算变形后坐标 for i=1:length(x) if Constr(k,1)==i%--约束节点坐标不变 k=k+1; else%--非约束节点坐标加上缩放后的位移 x(i)=x(i)+Scale*U(3*i-2,1);y(i)=y(i)+Scale*U(3*i-1,1);z(i)=z(i)+Scale*U(3*i,1); end end %绘制杆件 jet_color = colormap(jet(ceil(max(AxialForce)-min(AxialForce)+1)));%+1是为了避免索引为0 color_index = ceil(AxialForce+(1-min(AxialForce))); for i=1:length(ele(:,1)) plot3([x(ele(i,2)),x(ele(i,3))],[y(ele(i,2)),y(ele(i,3))],[z(ele(i,2)),z(ele(i,3))],... 'Color',jet_color(color_index(i),:),'LineWidth',LineWidth*ele(i,4)/max(ele(:,4))); hold on end colorbar caxis([min(AxialForce),max(AxialForce)]); %绘制节点 for i=1:length(x) [xx,yy,zz]= ellipsoid(x(i),y(i),z(i),NodeSize,NodeSize,NodeSize); surf(xx,yy,zz,'facecolor','k') end %绘制载荷 maxLoad=abs(Load(1,2))%寻找绝对值最大的·载荷 for i=1:length(Load(:,1)) if(maxLoad