1.10 Построение поверхностей 47
Cuboid[{x
1
, y
1
, z
1
}, {x
2
, y
2
, z
2
}] порождает прямоугольный парал-
лелепипед, заданный координатами противоположных вершин.
Point[{x, y, z}] порождает точку с данными координатами.
Polygon[{{x
1
, y
1
, z
1
}, {x
2
, y
2
, z
2
}, ...}] порождает возможно не плос-
кий многоугольник с данными координатами вершин.
PolygonIntersections−> True опция, устанавливающая закраску
общей части многоугольников.
Примеры.
1. Show[Graphics3D[{ Cuboid[{0, 0,0}],Cuboid[{1, 0,0}], Cuboid[{0, 1,0}]}]]
2. Show[Graphics3D[ Cuboid[{0, 0,0},{1, 1,1}]]]
3. Построим ломаную в пространстве. Пусть q = Table[Random[], Random[],
Random[], i, 1, 8]; вершины ломаной. Выполним команду
Show[Graphics3D[Line[q]], ViewPoint -> 1.848, 2.455, 1.418], получим
4. Построим дом из кубиков. Создадим массивы центров ”кирпичей”,
составляющих стены, потолок и крышу.
q1 = Flatten[Table[{0, i, j}, {i, 0, 10}, {j, 1, 6}], 1];
q2 = Flatten[Table[{10, i, j}, {i, 0, 10}, {j, 1, 6}], 1];
q3 = Flatten[Table[{i, 0, j}, {i, 0, 10}, {j, 1, 6}], 1];
q4 = Flatten[Table[{i, 10, j}, {i, 0, 10}, {j, 1, 6}], 1];
q5 = Flatten[Table[{-7 + j, i, j}, {i, 0, 10}, {j, 6, 12}], 1];
q6 = Flatten[Table[{17 - j, i, j}, {i, 0, 10}, {j, 6, 12}], 1];
q7 = Flatten[Table[{i, j, 7}, {i, 0, 10}, {j, 0, 10}], 1];
Объединим массивы в один список:
w = Join[q1, q2, q3, q4, q5, q6, q7];
Зададим массив центров ”кирпичей”, удаление которых даст окна и
дверь.
d = {{2, 0, 3}, {2, 0, 4}, {3, 0, 3}, {3, 0, 4}, {7, 0, 3},
{7, 0, 4}, {8, 0, 3}, {8, 0, 4}, {10, 4, 1}, {10, 4, 2},
{10, 4, 3}, {10, 4, 4}, {10, 5, 1}, {10, 5, 2}, {10, 5, 3},
{10, 5, 4}, {10, 6, 1}, {10, 6, 2}, {10, 6, 3}, {10, 6, 4}};