c2

(программа распространяется по лицензии BSD из трех пунктов)

Эта программа создана по мотивам Fractint и предназначена для построения фракталов с помощью черепашьей графики:

No-touch     Fern

Скачать c2-fractal-2009-01-03.tar.bz2 (40,6 Кб)»

Скачать описание языка построения фракталов в форме Бекуса-Наура (3,24 Кб)»

Скачать файл с примерами фракталов (10 Кб)»

Сборка

Для сборки c2 необходимо установить пакет cmake.

Выполните следующие команды:

tar xvf c2-xxxx-xx-xx.tar.gz
cd c2-xxxx-xx-xx
cmake -DCMAKE_BUILD_TYPE=Release
make

Язык описания фракталов

Синтаксис:

имя_фрактала { описание фрактала }

Параметры описания:

alpha Начальный угол. Если не задан - считается равным нулю.
theta Задает угол смещения в радианах.
angle Задает угол смещения в градусах.
axiom Задает аксиому.
+ или - Увеличить или уменьшить угол на theta радиан.
! Инвертировать значения + или -.
[ и ] Начало и конец ветви.
F или D Рисовать вперед на шаг.
G или M Пройти на шаг вперед без рисования.
CЧИСЛО* Задает текущий цвет равный ЧИСЛУ.
>ЧИСЛО* Увеличивает текущий цвет на ЧИСЛО.
<ЧИСЛО* Уменьшает текущий цвет на ЧИСЛО.
| Увеличивает угол на 180°.
\ЧИСЛО* Увеличивает угол на ЧИСЛО градусов.
/ЧИСЛО* Уменьшает угол на ЧИСЛО градусов.
@ЧИСЛО* Умножает текущий шаг на ЧИСЛО.
@qЧИСЛО* Умножает текущий шаг на квадратный корень из ЧИСЛА.
@IЧИСЛО* Умножает текущий шаг на 1/ЧИСЛО.
@IqЧИСЛО или @qIЧИСЛО* Умножает текущий шаг на квадратный корень из 1/ЧИСЛО.
; Комментарий до конца строки.
; order ЧИСЛО* Задать порядок текущего фрактала равным ЧИСЛУ.

* Допустимо указывать только целые числа!

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

В одном файле может быть описано сразу несколько фракталов. При генерации изображений создаются файлы с названиями вида имя_фрактала.png.

Пример описания фрактала

Koch2 { ; Adrian Mariano
; from The Fractal Geometry of Nature by Mandelbrot
  Angle 12
  Axiom F---F---F---F
  F=-F+++F---F+
  }

Koch3 { ; Adrian Mariano
; from The Fractal Geometry of Nature by Mandelbrot
  Angle 4
  Axiom F-F-F-F
  F=F-F+F+FF-F-F+F
  }

Изображения генерируются с помощью этой команды:

../bin/lsystem.exe -l 5 < scripts/snoopy.ls

Примеры фракталов

astral-1 astral-2 citric-circles fractal-rose gothic-outline
grown-feather grown-fern grown-fern-star grown-grass grown-lawn
grown-maple koch-fireworks koch-levitation koch-star-ring mandelbrot-set
no-touch-basic no-touch-double no-touch-full no-touch-inside no-touch-insight
penta-spread penta-thesis rip-around seahorse shaded-paper
sierp-square sierp-trigon-1 sierp-trigon-2 sierp-trigon-3 sign
snowflake-1 snowflake-2 snowflake-3 snowflake-4 twelve-stones

Оставить комментарий

Для того, чтобы оставить комментарий, нужно заполнить все поля формы.
Ваше имя:
Пожалуйста, введите код, который вы видите на этой картинке: Проверочный код
Проверочный код:
Ваше сообщение: