Эта программа создана по мотивам Fractint и предназначена для построения фракталов с помощью черепашьей графики:
Скачать fractal-2013-12-08.tar.bz2 (42 Кб)
Скачать описание языка построения фракталов в форме Бекуса-Наура (3,24 Кб)
Скачать файл с примерами фракталов (10 Кб)
Для сборки Fractal необходимо установить пакет cmake.
Выполните следующие команды:
tar xvf fractal-xxxx-xx-xx.tar.gz cd fractal-xxxx-xx-xx cmake -DCMAKE_BUILD_TYPE=Release make
Также возможна сборка в cmake и в Windows:
cmake -G "Visual Studio 10 Win64"
Синтаксис:
имя_фрактала { описание фрактала }
Параметры описания:
| 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