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)

 

Разработка сайта: студия открытых решений o-nix.com