Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РГЗ №1.docx
Скачиваний:
3
Добавлен:
20.09.2019
Размер:
51.97 Кб
Скачать

Создание изображения гексагональной и кубической плотнейших шаровых упаковок с использованием пакета 3Ds max

Построение плотнейшей кубической упаковки:

Текст программы:

for i=-5 to 5 do

(for k=-5 to 5 by 2 do

(for j=-5 to 5 by 2 do

(b=sphere ()

b.pos.x=i

b.pos.y=j*0.866

b.pos.z=k*0.817

b.radius=0.5 )

for j=-6 to 4 by 2 do

(b=sphere ()

b.pos.x=i+0.5

b.pos.y=j*0.866

b.pos.z=k*0.817

b.radius=0.5 )))

for i=-5 to 5 do

(for k=-4 to 6 by 2 do

(for j=-5 to 5 by 2 do

(b=sphere ()

b.pos.x=i+0.5

b.pos.y=j*0.866+0.289

b.pos.z=k*0.817

b.radius=0.5 )

for j=-6 to 4 by 2 do

(b=sphere ()

b.pos.x=i

b.pos.y=j*0.866+0.289

b.pos.z=k*0.817

b.radius=0.5 )))

Выполнение программы: создается два цикла с чередованием слоев для структуры плотнейшей кубической упаковки (.1-2-1-2..). Оператором «by 2» задаем шаг слоев. Рассматривая каждый слой в отдельности видим, что разница координат по сравнению с предыдущим слоем будет составлять для х-0,5, для у-0,866. Для чередующихся слоев наблюдается также увеличение значения координаты z – на 0,817. Таким образом, программа представляет собой два цикла в цикле. Все координаты и индексы при них получены из простейших теорем геометрии.

Построение плотнейшей гексагональной упаковки:

Текст программы:

for i=-5 to 5 do

(for k=-5 to 5 by 3 do

(for j=-5 to 5 by 2 do

(b=sphere ()

b.pos.x=i

b.pos.y=j*0.866

b.pos.z=k*0.817

b.radius=0.5 )

for j=-6 to 4 by 2 do

(b=sphere ()

b.pos.x=i+0.5

b.pos.y=j*0.866

b.pos.z=k*0.817

b.radius=0.5 )))

for i=-5 to 5 do

(for k=-4 to 6 by 3 do

(for j=-5 to 5 by 2 do

(b=sphere ()

b.pos.x=i

b.pos.y=j*0.866+0.577

b.pos.z=k*0.817

b.radius=0.5 )

for j=-6 to 4 by 2 do

(b=sphere ()

b.pos.x=i+0.5

b.pos.y=j*0.866+0.577

b.pos.z=k*0.817

b.radius=0.5 )))

for i=-5 to 5 do

(for k=-3 to 7 by 3 do

(for j=-5 to 5 by 2 do

(b=sphere ()

b.pos.x=i+0.5

b.pos.y=j*0.866+0.289

b.pos.z=k*0.817

b.radius=0.5 )

for j=-6 to 4 by 2 do

(b=sphere ()

b.pos.x=i

b.pos.y=j*0.866+0.289

b.pos.z=k*0.817

b.radius=0.5 )))

Данная программа аналогична предыдущей, разница состоит лишь в том, что количество слоев равно трем. Имеем три цикла – для каждого из слоев, при этом шаг повторяющегося слоя отражается оператором «by 3», и для каждого слоя создается цикл в цикле, отражающий чередование рядов. Все значения коэффициентов при координатах получены геометрическим путем.

ВЫВОД

В результате выполнения данного РГЗ мы ознакомились с основами моделирования объектов, с помощью языка скриптов. Создали модели двух видов плотнейших упаковок.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]