Интерпретация строкового представления L-system.

Задание правил для выполнения построения происходит путем ввода строковых символов, которые в дальнейшем интерпретируются программой. Модель L-system имеет небольшое число базовых символов, описывающих процесс генерации конечного результата:

F — перемещение вперед на шаг, равный длине d. Положение черепашки изменяется с (х, у, а) на (х', у', а), где х' = х + dcosa и у' = у + + dsina. Между точками (х, у) и (х',у') рисуется линия;

/— перемещение вперед на шаг, равный длине d, не рисуя линию;

«+» — поворот влево на угол 5. Следующее положение черепашки будет (х, у, а + 8) , т. е. положительная ориентация угла — против часовой стрелки;

«-» — поворот вправо на угол 8. Следующее положение черепашки будет (х,у, а-8).

Пример программы для угла поворота 8 = 90° приведен на рис. 1.12.

Реализация команд FFF - FF - F - F + F + FF - F - FFF

Рис. 112. Реализация команд FFF - FF - F - F + F + FF - F - FFF:

а — интерпретация строковых символов F, +, б — интерпретация строки

На примере, представленном на рис. 1.13, показаны четыре варианта квадратичного острова Коха, взятого из книги Б. Мандельброта1. Эти фигуры были получены путем интерпретации строк, генерируемых следующей L-Sistem:

где строка со — задание базового элемента (рис. 1.13, а), а р — правила дальнейшей генерации (рис. 1.13, б—г).

Каждое изображение соответствует изменению длины строки от О до 3, с углом поворота 8, равным 90°[1] [2].

При изменении угла с 90° на 120° при сохранении строковых правил генерации и числа итераций п = 3 результатом генерации будет являться узор на рис. 1.14.

Таким образом, можно сделать вывод, что, изменяя угол поворота 5 и число итераций при сохранении строковых правил, можно расширить количество получаемых вариантов генерации. Соответственно, можно изменять и само правило при постоянном значении угла поворота.

Далее возникает вопрос о реализации данного подхода создания форм применительно к дизайну ювелирных изделий при помощи компьютерных средств.

В качестве примера применения L-system в дизайне ювелирных изделий рассмотрим процесс разработки дизайна подвески на основе орнаментального узора.

Генерация квадратичного острова Коха, где п — число итераций

Рис. 1.13. Генерация квадратичного острова Коха, где п — число итераций

Результат генерации с измененным углом поворота

Рис. 1.14. Результат генерации с измененным углом поворота

Любой орнамент можно разложить на несколько структурных уровней:

  • — орнамент — макроструктура;
  • — раппорт — промежуточная структура, ритмически повторяющийся элемент орнамента. В зависимости от типа ритмического повторения раппорта орнамент может быть ленточным, сетчатым, розеткой;

— мотив — микроструктура, основной многократно повторяющийся элемент орнамента, раппорт может состоять из одного или нескольких мотивов[3].

Исходя из анализа структуры орнаментов составляем схему этапов создания модели, представленную на рис. 1.15.

Схема этапов создания модели

Рис. 1.15. Схема этапов создания модели

Для реализации системы генерации объемной виртуальной модели подвески на основе L-system используем возможности программного пакета для работы с компьютерной графикой Houdini от компании Side effects sofware. Главное отличие данного пакета от аналогичных продуктов в том, что он является средой визуального программирования, это дает большую гибкость и возможность для реализации сложных задач.

Процесс создания объектов происходит путем создания и редактирования отдельных операторов (нод).

Оператор — это основная структурная единица Houdini, способная в соответствии с ее типом обрабатывать определенные данные и возвращать результат.

В большинстве случаев пользователь имеет дело с графическим представлением оператора — нодой, которая отображается в виде прямоугольника с входными и выходными соединениями. Выходное соединение одной ноды можно связать с входным соединением другой, тем самым обеспечивая передачу данных между ними. Любое действие в проекте будет порождать новый оператор, поэтому пользователь всегда имеет возможность изменять параметры произведенных действий, а также отменять (удалять) действия или временно отключать.

Первым этапом будет создание мотива путем ноды L-system и задание правил генерации. Результатом первой итерации (п = 1) будет кривая, изображенная на рис. 1.16.

Результат генерации при п = 1

Рис. 7.76. Результат генерации при п = 1

При увеличении числа итераций до п = 3 результатом будет кривая, изображенная на рис. 1.17.

Результат генерации при п = 3

Рис. 1.17. Результат генерации при п = 3

Далее, используя инструмент копирования, реализуем поворотную симметрию, при которой объект будет переводиться в самого себя поворотом вокруг своей оси на угол а = 360/(3, где (3 — количество копий объекта (рис. 1.18).

Результат применения поворотной симметрии к объекту, полученному при генерации L-system

Рис. 1.18. Результат применения поворотной симметрии к объекту, полученному при генерации L-system

Получившейся объект является набором кривых, к которым применимы все методы полигонального или NURBS-моделирования[4].

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

При изменении входящих параметров, таких как правила L-system или количества копий (3, система в реальном времени перестраивает трехмерную модель. Например, немного изменив правило генерации и число копий, оставив угол поворота 5 = 58°, получим результатом работы системы модель, изображенную на рис. 1.20.

Трехмерная модель полученная в результате работы системы

Рис. 1.19. Трехмерная модель полученная в результате работы системы

Модель, полученная при изменении правил

Рис. 1.20. Модель, полученная при изменении правил

На рис. 1.21 представлена финальная визуализация подвески.

Финальная визуализация трехмерной модели

Рис. 1.21. Финальная визуализация трехмерной модели

Стоит отметить, что в других приложениях для работы с компьютерной графикой, таких как Мауа или 3d max, тоже есть возможность подключения дополнительных модулей для работы с L-system. Существуют и отдельные приложения различного уровня, например Vlab, L-studio, позволяющие генерировать L-system. Но во всех альтернативных вариантах отсутствует или недостаточно эффективно реализована возможность дальнейшего использования результатов генерации для построения виртуальной модели[5]. Однако то, что L-system генерируется посредством ввода строковых символов и однозначно интерпретируется для исполнения компьютером, дает возможность сохранения результатов в текстовом виде и воспроизведения результата в любом другом приложении, имеющем возможность работы с L-system.

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

Наблюдая за ходом развития дизайна, можно проследить непосредственную связь между скоростью создания и разработки новых материалов и технологий и дизайном.

На сегодняшний день разработка дизайна практически невозможна без знания компьютерных программ, созданных для дизайнеров. Компьютерные технологии позволяют моделировать реалистичный вид изделия, показывать функциональную особенность, а также проектировать внутреннее наполнение изделий. Возможность быстрого изменения цвета, фактуры, текстуры, формы помогает найти наиболее гармоничное и эстетичное сочетание материалов. Но без знания основ материаловедения, особенности технологии изготовления, сбора и анализа информации о сочетании тех или иных материалов в данной форме, т. е. без информационной базы невозможно разработать уникальное, эстетичное и функциональное изделие.

Вопросы и задания для самопроверки

  • 1. Какова роль Пьера Безье в компьютерном дизайне?
  • 2. В чем отличие векторной графики от растровой?
  • 3. Чем отличается субтрактивная цветовая модель от аддитивной?
  • 4. Укажите особенности дизайн-визуализации.
  • 5. Укажите особенности моделирования ювелирных изделий.
  • 6. В чем заключается принцип черепашьего алгоритма?

Список рекомендуемой литературы

  • 1. Демин, А. Ю. Основы компьютерной графики / А. Ю. Демин. — Томск : Томский политехнический университет, 2018.
  • 2. Лившиц, В. Б. Художественное материаловедение. Ювелирные изделия / В. Б. Лившиц, В. И. Куманин, М. Н. Соколова., 2018.
  • 3. Милъчакова, Н. Е. Новые технологии художественной обработки материалов. Дизайн. Литье. Прототипирование : учеб, пособие / Н. Е. Мильчакова, В. Б. Лившиц. — М. : Онтопринт, 2014.
  • 4. Швембергер, С. 3ds max. Художественное моделирование и специальные эффекты / С. Швембергер, П. Щербаков, В. Горончаровский. — СПб. : БХВ- Петербург, 2006.
  • 5. Peddie, J. The history of visual magic in computers: how beautiful images are made in CAD, 3D, VR and AR / J. Peddie. — Springer, 2013.
  • 6. Prusinkiewicz, P. The algorithmic beauty of plants / P. Prusinkiewicz, A. Lindenmayer. — New York : Springer-Verlag, 1996.

  • [1] Мандельброт Б. Фрактальная геометрия природы. М. : Институт компьютерныхисследований, 2002.
  • [2] См.: http://www.3dmir.ru.
  • [3] Швембергер С., Щербаков П., Горончаровский В. 3ds max. Художественное моделирование и специальные эффекты. СПб. : БХВ-Петербург, 2006.
  • [4] Демин А. Ю. Основы компьютерной графики.
  • [5] Prusinkiewicz Р., Lindenmayer A. Op. cit.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >