c2
(программа распространяется по лицензии BSD из трех пунктов)
Эта программа создана по мотивам Fractint и предназначена для построения фракталов с помощью черепашьей графики:
Скачать 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
Примеры фракталов
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |


































