Задание
ПОСТАНОВКА ЗАДАЧИ – смоделировать программным (с помощью Autodesk 3ds Max) путем 2 вида плотнейших упаковок: кубическую и гексагональную; и гранецентрированную кубическую решетку, схематично отобразить, что такое скрипт-программирование.
1. Кубическая плотнейшая упаковка
Тело программы:
(for i=-5 to i=15 do
for j=0 to j=6 by 2 do
for k=0 to k=6 by 3 do - - переменная задана через 2 шага, так как идет построение АВСАВС
( b=sphere()
b.pos.x=i
b.pos.y=j*0.866
b.pos.z=0.817*k
b.radius=0.5
p=b)
)
(for i=-5 to i=15 do
for j=-1 to 5 by 2 do
for k=0 to k=6 by 3 do
( b=sphere()
b.pos.x=i+0.5
b.pos.y=0.866*j
b.pos.z=0.817*k
b.radius=0.5
p=b)
)
- - данный блок программы отвечает за построение слоя A
(for i=-5 to i=15 do
for j=0 to j=6 by 2 do
for k=1 to k=7 by 3 do
( b=sphere()
b.pos.x=i+0.5
b.pos.y=j*0.866+0.289
b.pos.z=0.817*k
b.radius=0.5
p=b)
)
(for i=-5 to i=15 do
for j=-1 to 5 by 2 do
for k=1 to k=7 by 3 do
( b=sphere()
b.pos.x=i
b.pos.y=0.866*j+0.289
b.pos.z=0.817*k
b.radius=0.5
p=b)
)
- - данный блок программы отвечает за построение слоя В
(for i=-5 to i=15 do
for j=0 to j=6 by 2 do
for k=2 to k=8 by 3 do
( b=sphere()
b.pos.x=i+0.5
b.pos.y=j*0.866+0.577
b.pos.z=0.817*k
b.radius=0.5
p=b)
)
(for i=-5 to i=15 do
for j=-1 to 5 by 2 do
for k=2 to k=8 by 3 do
( b=sphere()
b.pos.x=i
b.pos.y=0.866*j+0.577
b.pos.z=0.817*k
b.radius=0.5
p=b)
)
- - данный блок программы отвечает за построение слоя С
Рис.5. Перспективный вид плотнейшей кубической упаковки
Рис. 6. Проекции плотнейшей кубической упаковки
2. Гексагональная плотнейшая упаковка
Тело программы:
(for i=-5 to i=15 do
for j=0 to j=6 by 2 do
for k=0 to k=6 by 2 do - - переменная задаётся через шаг, так как идет повторение слоёв АВАВ
( b=sphere()
b.pos.x=i
b.pos.y=j*0.866 - - данная координата равна высоте равностороннего треугольника, вершины которого соединяют центры соседних шаров
b.pos.z=0.817*k
b.radius=0.5
p=b)
) - - данный подблок отвечает за построение четных цепей шаров горизонтальной и вертикальной плоскостей
(for i=-5 to i=15 do
for j=-1 to 5 by 2 do
for k=0 to k=6 by 2 do
( b=sphere()
b.pos.x=i+0.5
b.pos.y=0.866*j
b.pos.z=0.817*k
b.radius=0.5
p=b)
) - - данный подблок отвечает за построение нечётных цепей шаров горизонтальной плоскости и четных цепей шаров вертикальной плоскости
- - данный блок программы отвечает за построение слоя А
(for i=-5 to i=15 do
for j=0 to j=6 by 2 do
for k=1 to k=7 by 2 do - - переменная задаётся через шаг, так как идет повторение слоёв АВАВ
( b=sphere()
b.pos.x=i+0.5
b.pos.y=j*0.866+0.289 - - координаты центров шаров смещаются на 1 1/3 высоты равностороннего треугольника
b.pos.z=0.817*k
b.radius=0.5
p=b)
)
- - данный подблок отвечает за построение четных цепей шаров горизонтальной и нечетных цепей шаров вертикальной плоскостей
(for i=-5 to i=15 do
for j=-1 to 5 by 2 do
for k=1 to k=7 by 2 do
( b=sphere()
b.pos.x=i
b.pos.y=0.866*j+0.289
b.pos.z=0.817*k
b.radius=0.5
p=b)
) - - данный подблок отвечает за построение нечетных цепей шаров горизонтальной и вертикальной плоскостей
- - данный блок программы отвечает за построение слоя В
Рис. 7. Перспективный вид плотнейшей гексагональной упаковки
Рис. 8.. Проекции плотнейшей гексагональной упаковки