Отчет по учебной
Скачать 415.93 Kb.
|
Создание плагина в среде BlenderСистема скриптов в Blender предоставляет обширные возможности по упрощению и ускорению трудового процесса, дозволяя перекладывать испол нение обыденных операций на систему и расширяя потенциал работы бла годаря доступу к скриптовому языку. Однако, написав успешный скрипт, который будет зачастую употребляться в разных проектах, неудобно каж дый раз вновь вводить его в каждый новый проект. К тому же такой скрипт вполне возможно потребовать усовершенствований в виде окон и полей с ре дактируемыми параметрами. Обратив скрипт в полноценный плагин, можно снабдить его дополнительным функционалом и подключить в систему допол нений Blender. В работе был написан скрипт Blender, который генерирует сетки “кри вых Коха” или “снежинок Коха”[15]. Создание снежинки:Чтобы создать снежинку Коха, необходимо: Базовая полигональная сетка (треугольник, прямоугольник, пятиугольник и т.д.); Объект, который свяжет эту геометрию сетки со сценой; Чтобы перебраться по краям многоугольника, необходимо разделить их и создать треугольники в центре каждого ребра; Повторяем этот процесс для такого количества итераций, которое ука зано пользователем. Шаги 1 и 2 были решены раньше, и все, что нужно будет сделать, это повторно использовать код. Вычисления, необходимые для создания базового полигона, уже появляются в дополнении «curvaceous galore», которое поставляется в комплекте с Blender. Функция, из которой позаимствован код для этого, - "StarCurve"(строка 258). Код для создания новой сетки из предоставленного списка вершин и ребер, а также создания объекта, связывающего эту геометрию со сценой, указан в Blender API "Code Snippets". Алгоритм создания снежинки Коха из базового многоугольника:Выберем алгоритм автоматизации для создания этой формы, который имитировал бы, по крайней мере, в некоторой степени, процесс ручного мо делирования[16]. Для создания снежинки из многоугольника необходимо выполнить сле дующие действия. Повторить каждый край. Разделить каждое ребро на 3 равных ребра (с помощью оператора mesh.subdivide). Выбрать край в центре 3 вновь созданных краев. Подразделить его снова на два равных края и выбрать центральную вершину. Перевести эту вершину в положение и расстояние, которые создадут равносторонний треугольник между ней и двумя другими вершинами разде ленного ребра. Эти 5 шагов, если они выполняются на всех краях, определяют одну «итерацию» всего алгоритма генерации снежинки. Следующая итерация бу дет проходить по всем новым краям и делать то же самое с каждым, создавая таким образом более сложную фрактальную форму. |