%装配方案结果绘图
function [ ] = depict( scheme, index ,colorku,mycolor)
global cargo;global num_box;global box;
num=size(scheme,2);
vert=zeros(8,3);%一个矩形八个顶点的坐标
%------------定义画出函数画出每个面----------------
fac = [1 2 3 4; ...
2 6 7 3; ...
4 3 7 8; ...
1 5 8 4; ...
1 2 6 5; ...
5 6 7 8];
vert(2,:)=[0 box(index,3) 0];
vert(3,:)=[box(index,2) box(index,3) 0];
vert(4,:)=[box(index,2) 0 0];
vert(5,:)=[0 0 box(index,4)];
vert(6,:)=[0 box(index,3) box(index,4)];
vert(7,:)=[box(index,2) box(index,3) box(index,4)];
vert(8,:)=[box(index,2) 0 box(index,4)];
patch('Faces',fac,'Vertices',vert,'FaceColor','y'); % patch function
alpha('color');
view(30,30);
hold on;
x=0;y=0;z=0; % 新货装载位置起点
xb=0;yb=0;zb=0; % 当前边界
j=1;
while (j <= num )
if scheme(index,j)~=0
if (cargo(scheme(index,j),4)+z ) < box(index,4) % Z越界 则判定已装不下
if (cargo(scheme(index,j),3)+y ) < box(index,3) %Z未越界 Y越界 则考虑上一层
if (cargo(scheme(index,j),2)+x ) < box(index,2) %X Y Z 均未越界,当前货物装载成功,否则考虑下一排
vert(1,:)=[x y z];
vert(2,:)=[x y+cargo(scheme(index,j),3) z];
vert(3,:)=[x+cargo(scheme(index,j),2) y+cargo(scheme(index,j),3) z];
vert(4,:)=[x+cargo(scheme(index,j),2) y z];
vert(5,:)=[x y z+cargo(scheme(index,j),4)];
vert(6,:)=[x y+cargo(scheme(index,j),3) z+cargo(scheme(index,j),4)];
vert(7,:)=[x+cargo(scheme(index,j),2) y+cargo(scheme(index,j),3) z+cargo(scheme(index,j),4)];
vert(8,:)=[x+cargo(scheme(index,j),2) y z+cargo(scheme(index,j),4)];
patch('Faces',fac,'Vertices',vert,'FaceColor',colorku{round(rand*4)+1});
material shiny;
alpha('color');
alphamap('rampdown');
x = x + cargo(scheme(index,j),2);
nyb = y + cargo(scheme(index,j),3);
nzb = z + cargo(scheme(index,j),4);
j=j+1;
if nyb > yb
yb=nyb;
end
if nzb > zb
zb=nzb;
end
else
x=0;y=yb;
end
else
x=0;y=0;z=zb; % 新货装载位置起点 (向上摞一层)
xb=0;yb=0;
end
else
solution( scheme(index,j))=0;
scheme(index,j)=0;
j=j+1;
end
else
j=j+1;
end
end
end
Simulated annealing genetic algorithm to load pallet
需积分: 0 70 浏览量
2023-02-08
11:02:10
上传
评论
收藏 290KB ZIP 举报
qq_45990854
- 粉丝: 0
- 资源: 2
最新资源
- Python爬取淘宝热卖商品并可视化分析
- 5152单片机proteus仿真和源码将按键次数写入AT24C02再读出并用1602LCD显示
- SE-SSD复现过程(Det3D的安装教程)
- 基于Python的在线学习与推荐系统设计与实现(论文+源码)-kaic
- 串口通过 YMODEM 协议进行文件传输
- 蓝桥杯2024年第十五届省赛真题-前缀总分
- com.qihoo.appstore_300101305-1.apk
- tensorflow-gpu-2.7.1-cp37-cp37m-manylinux2010-x86-64.whl
- tensorflow-2.7.2-cp37-cp37m-manylinux2010-x86-64.whl
- tensorflow-2.7.1-cp39-cp39-manylinux2010-x86-64.whl
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈