活用Wolfram Mathematica,如下是練習作空間規劃的3D繪圖,這輩子應該只會畫一次3D圖,所以用Wolfram往前衝,把他做完。

group[a_?NumberQ] := Cuboid /@ Table[{a, j, 0}, {j, 0, 5}]
group2[a_?NumberQ] := Cuboid /@ Table[{a, j, 0}, {j, 0, 1}]
group3[a_?NumberQ] := Cuboid /@ Table[{a, j, 0}, {j, 5, 6}]
road[a_?NumberQ] := {Red, Opacity[0.5],
Cuboid[{-1, a, 0}, {18, a + 1, 0.01}]}
wall = {White, Cuboid[{0.8, 0, 0}, {1, 9, 2}]};
door = {Brown, Opacity[1], Cuboid[{0.8, 7, 0}, {1, 9, 2}]};
enviroment = Sequence[wall, door, road[-1], road[7], road[8]];
list = {1, 3, 4, 6, 7, 9, 10, 12, 13, 15, 16};
floor1 = {Yellow, Opacity[0.9], group /@ list};
floor2 = {Blue, Opacity[0.6], Cuboid[{3, 4, 1}], Cuboid[{3, 5, 1}],
Cuboid[{4, 4, 1}], Cuboid[{4, 5, 1}], Cuboid[{6, 4, 1}],
Cuboid[{6, 5, 1}]};
before = Graphics3D[{floor1, floor2, enviroment}];
newfloor1 = {Yellow, Opacity[1], group2 /@ Range[1, 10]};
newfloor2 = {Green, Opacity[1],
group2 /@ Range[1, 10]} /. {x_?NumberQ, y_?NumberQ, 0} -> {x, y,
1};
newfloor3 = {Yellow, Opacity[1],
group3 /@ {1, 4, 6, 7, 10, 11, 13, 16}};
newfloor4 = {Green, Opacity[1],
group3 /@ {1, 4, 6, 7, 10, 11, 3, 16}} /. {x_?NumberQ, y_?NumberQ,
0} -> {x, y, 1};
emptyfloor1 = {Yellow, Opacity[0], group /@ list};
newroad = {road[2], road[3], road[4]} /. Red -> White;
after = Graphics3D[{Yellow, Opacity[1], newfloor1, newfloor2,
newfloor3, newfloor4, White, emptyfloor1, environment, newroad}]