Structure Synth - синтез объемных структур
В программе Structure Synth можно создавать различные объемные фигуры, пользуясь набором определенных правил, похожих на комбинацию математических формул. В основе этих правил лежат такие понятия как состояние, преобразование и действие.
Состояние описывает текущую систему координат и текущий способ окрашивания фигуры. Система координат определяет позицию, ориентацию и размеры всех объектов, отрисованных в текущем состоянии.
Состояния изменяются преобразованиями. Например, мы можем передвинуть систему координат на одну единицу вдоль оси X, применяя преобразование { x 1 }. Также мы можем повернуть систему координат на 90 градусов вокруг оси X, используя преобразование { rx 90 }.
Состояния могут комбинироваться с вызовами правил для создания действия. Например, { x 2 } box - это преобразование встроенного правила box, отрисовывающее куб, сдвинутый по оси X на две единицы. Правило box без преобразования рисует куб с координатами (0,0,0) -> (1,1,1)
Перечисление следующих комбинаций отрисует четыре куба, расположенных вдоль оси X на равных расстояниях друг от друга:
box
{ x 2 } box
{ x 4 } box
{ x 6 } box
Можно немного разнообразить череду кубов, добавив вращение:
{ rx 0 x -4 } box
{ rx 11 x -2 } box
{ rx 22 x 0 } box
{ rx 33 x 2 } box
{ rx 44 x 4 } box
Усложняя комбинации из преобразований и действий над различными фигурами, можно строить очень красивые объемные модели.
Например, используя создание своих правил, и включая их в рекурсию, можно получать такие объемные структуры:
{ x -3 y -3 } R1
rule R1 {
{ x 0.9 rz 6 ry 6 s 0.99 sat 0.99 } R1
{ s 2 } sphere
}
Используя более сложные правила, можно получать поистине фантастические фигуры, многочисленные примеры которых выложены энтузиастами на фотохостинге flickr.com.
(По материалам блога разработчиков программы Structure Synth)