Занятие № 5. Программное создание 3D-графики. Раздел «Блоки кода».

Цель: научиться создавать трёхмерные модели с помощью визуального программирования.

Задание № 1. Добавление форм. Движение

Рассмотрим программное добавление форм и их перемещение по рабочей области.

Перейдите в раздел Блоки кода и нажмите кнопку Создать блок кода. В появившемся окне нажмите кнопку Новый проект.

Изменение имени проекта

Название проекта: 05-1 Движение.

В появившемся проекте добавьте блок Параллелепипед:

Нажмите кнопку image-20211220233415128 чтобы выполнить шаг программы. В рабочей области должен появится красный куб.

Изменим размер формы. Для этого щелкните по галочке в блоке, чтобы получить доступ к изменению нужных параметров. Измените размеры формы на следующие (ширина х длина х высота): 40х50х10:

Чтобы запустить безостановочное выполнение программы нажмите кнопку image-20211220234049215. Получившаяся форма должна выглядеть следующим образом:

Удалите блок Параллелепипед, перетащив его на изображение корзины.

Начальное положение форм

Все формы добавляются в рабочую область в начало координат. Названия осей обозначены на следующем изображении:

Рассмотрим блок Движущий механизм, с помощью которого можно передвигать формы по рабочей области.

Составьте из блоков следующую программу:

На сцене должны появится два цилиндра. Первый сместится на 20 мм по оси x относительно начальной позиции. Второй цилиндр сместится на 20 мм по оси x, но в отрицательном направлении.

Задание № 2. Домик. Дерево

Создайте новый проект. Составьте программу с помощью которой будет создана модель дома и дерева.

Изменение имени проекта

Название проекта: 05-2 Домик и дерево.

Результат может выглядеть следующим образом:

Задание № 3. Вращение форм

Рассмотрим вращение форм с помощью блока Повернуть вокруг оси.

Изменение имени проекта

Название проекта: 05-3 Вращение форм.

Составьте следующую программу:

В блоке Повернуть вокруг оси указывается ось и угол поворота.

Выполните программу. Результат должен выглядеть следующим образом:

Ещё один важный параметр блока Повернуть вокруг оси - возможность указать точку в пространстве, вокруг которой будет вращаться форма (параметр от опоры).

К текущей программе добавьте следующие блоки:

В данном фрагменте к сцене добавляется цилиндр, а затем смещается по оси x на 50 мм.

Добавьте следующие три блока:

В этом фрагменте кода добавляем к сцене ещё один цилиндр, но теперь поворачиваем относительно начала координат (0, 0, 0) по оси z на 120 градусов.

Добавьте последние три блока:

Обратите внимание, что угол поворота может быть отрицательным (-120). Итоговая модель выглядит следующим образом:

Задание № 4. Ракета

Изменение имени проекта

Название проекта: 05-4 Ракета.

Создайте следующую модель:

Вид сверху:

Серым цветом обозначены конусы, у которых существует возможность задать радиус верхней и нижней части. Высота большего конуса - 50 мм, верхнего конуса - 20 мм. Жёлтым цветом обозначены параболоиды высотой 20 мм. В качестве иллюминатора (обозначен синим цветом) используется форма труба с радиусом 5 мм.

Задание № 5. Создание объектов. Циклы

Рассмотрим использование блока Создать объект и применение циклов.

Блок Создать объект позволяет создать сложную форму, которую можно использовать повторно множество раз, создавая её копии.

Изменение имени проекта

Название проекта: 05-5 Пропеллер.

Создадим модель пропеллера:

Создадим объект лопасть. Добавьте блок Создать объект. Нажмите на имя объекта, выберите пункт Rename variable (переименовать переменную). Укажите для объекта имя лопасть. Составьте следующую программу для создания одной лопасти:

Запустите программу, чтобы создать одну лопасть:

Составьте следующую программу, чтобы создать 4 копии лопасти и повернуть их на нужный угол:

Для поворота копий лопасти на необходимый угол, используем цикл по переменной i. Переменная цикла будет принимать значения от 1 до 4 с шагом 1. Используем данную переменную, для того чтобы рассчитать угол поворота каждой лопасти: \[ угол=i\cdot \frac{360}{4} \] Для того, чтобы поворот лопастей происходил вокруг начала координат, в блоке Повернуть вокруг оси в параметре от опоры указываем координаты точки (0, 0, 0).

Последний блок Создать группу объединяет все формы в одну.

Запустите программу, чтобы проверить её работу.

Задание № 6. Переменные

Добавим в программу возможность задавать длину лопасти и их количество. Воспользуемся для этого переменными.

Уведомление

Последующие изменения вносите в проект из предыдущего задания.

В самом начале программы разместите два блока с описанием переменных кол-во лопастей и длина лопасти:

Исправим создание объекта лопасть, применив созданные переменные:

Измените программу, создающую копии лопасти. Переменная кол-во лопастей будет указываться в цикле, а также в формуле для вычисления угла поворота копии лопасти:

Формула расчёта угла поворота теперь выглядит следующим образом: \[ угол=i\cdot \frac{360}{кол-во\spaceлопастей} \] Попробуйте выполнить программу с разным набором параметров. Некоторые варианты полученных моделей представлены в следующей таблице.

кол-во лопастей, длина лопасти Результат работы программы
3, 15
2, 30
6, 10

Задание № 7. Параметрическая шкатулка

Опишите программу, с помощью которой можно создать модель шкатулки и крышки для неё.

Изменение имени проекта

Название проекта: 05-7 Шкатулка.

Длина, ширина, высота и толщина стенок шкатулки указываются в переменных:

Для указанных выше параметров шкатулка должна выглядеть следующим образом: