ин крок вперед, не прорисовуючі слід;
В· [- відкрити гілку;
В· ] - закрити гілку;
В· + - збільшити кут ? на величину ?;
В· ? - Зменшити кут ? на величину ?;
В· X, Y - допоміжні змінні.
Розмір кроку і величина збільшення по куту ? задаються спочатку і залишаються незмінними для всіх переміщень "черепашки".
Формально, детермінована L-система складається з алфавіту, слова ініціалізації, званого аксіомою або ініціатором, і набору породжують правил, що вказують як слід перетворювати слово при кожній наступній ітерації. Наприклад, L-система, відповідна снежинке Коха, представленої на малюнку 19, задається наступним чином:
Аксіома: F + + F + + F
Породжує правило:
Newf = F - F + + F - F
? : = ? /3
Очевидно, що графічним представленням аксіоми F + + F + + F є рівносторонній трикутник. "Черепашка" робить один крок вперед, потім кут збільшується на 2 ? /3 і "черепашка" робить ще один крок вперед, далі кут знову збільшується на 2 ? /3 і "черепашка" робить ще один крок. На першому кроці кожна буква F у слові инициаторе замінюється на слово New:
F? F + + F? F + + F? + + F? F + + F? F + + F? F
Повторюючи цей процес, на другому кроці отримаємо:
У пакеті MATLAB найбільш просто реалізувати L-систему, використовуючи рекурсивну функцію. Нижче наведено приклад рекурсивної функції, що повертає сніжинку Коха. br/>
2.1.1 Код програми "RuleKoch.m" (повертає функцію)
function z = RuleKoch (Lmax, Axiom, Newf, n, tmp);
% функція, що повертає L-систему для сніжинки Коха
% Вхідні параметри:
% Lmax - порядок сніжинки
% Axiom - рядок, що містить аксіому
% Newf - рядок, що містить породжує правило
% tmp - вхідна L-система
while n <= Lmaxn == 1 = Axiom; = n +1; = strrep (tmp, 'F', Newf);% заміна всіх букв F на