Занятие № 5. Программное создание 3D-графики. Раздел «Блоки кода».
Цель: научиться создавать трёхмерные модели с помощью визуального программирования.
Задание № 1. Добавление форм. Движение
Рассмотрим программное добавление форм и их перемещение по рабочей области.
Перейдите в раздел Блоки кода и нажмите кнопку Создать блок кода. В появившемся окне нажмите кнопку Новый проект.
Название проекта: 05-1 Движение.
В появившемся проекте добавьте блок Параллелепипед:
Нажмите кнопку чтобы выполнить шаг программы. В рабочей области должен появится красный куб.
Изменим размер формы. Для этого щелкните по галочке в блоке, чтобы получить доступ к изменению нужных параметров. Измените размеры формы на следующие (ширина х длина х высота): 40х50х10:
Чтобы запустить безостановочное выполнение программы нажмите кнопку . Получившаяся форма должна выглядеть следующим образом:
Удалите блок Параллелепипед, перетащив его на изображение корзины.
Рассмотрим блок Движущий механизм, с помощью которого можно передвигать формы по рабочей области.
Составьте из блоков следующую программу:
На сцене должны появится два цилиндра. Первый сместится на 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 Шкатулка.
Длина, ширина, высота и толщина стенок шкатулки указываются в переменных:
Для указанных выше параметров шкатулка должна выглядеть следующим образом: