Сущность turtle-технологии

 

Классические фракталы имеют единый принцип построения – добавление либо выбрасывание отдельных линий или областей. Этот процесс повторяется многократно (итерационно).

Достаточно большую группу самоподобных фракталов (фрактальные деревья, растения, русла рек и т д.) можно создавать с помощью так называемых L -систем, в которых используется подсистема графического вывода под названием тертл-графика (от английского turtle – черепаха).

Сущность тертл-графики состоит в том, что изображающая точка (черепашка) движется по экрану монитора прямолинейно, дискретными шагами, оставляя или не оставляя свой след. После каждого перемещения она может повернуться на некоторый угол в ту, или иную сторону, или продолжить движение вновь по прямой. Так образуется непрерывная или разрывная дискретная линия на экране. Изображающая точка может вернуться на несколько шагов назад, не прерывая свой след, и начать движение в новом направлении. В этом случае происходит ветвление траектории движения.

Изображающая точка движется по командам, задаваемых кодовыми словами. В каждой точке экрана положение изображающей точки задается тремя параметрами х, у, (х, у – координаты точки; – угол, определяющий направление движения). Кодовое слово состоит из указаний перемещения на один шаг с оставлением или неоставлением следа, увеличением или уменьшением направления движения на некоторый угол , открытием ветви, закрытием ветви.

L -систему образуют алфавит, инициатор (слово инициализации, аксиома) и набор порождающих правил, определяющих преобразование аксиомы для организации итерационного процесса. Алфавит состоит из набора отдельных символов. Каждый символ представляет собой микрокоманду, предписывающую определенное действие, выполняемое изображающей точкой.

Например:

F – переместиться вперед на один шаг, прорисовывая след;

b - переместиться вперед на один шаг, не прорисовывая след;

[ – открыть ветвь;

] – закрыть ветвь;

+ – увеличить угол на величину ;

– – уменьшить угол на величину .

Из элементов алфавита можно создавать слова инициализации (аксиомы). Например, L -система, позволяющая нарисовать на экране равносторонний треугольник, следующая:

,

аксиома: F + +F + +F.

Изображающая точка имеет первоначальное направление движения под углом . Согласно команде выполняется движение на один шаг. По команде + и + осуществляется поворот на угол . Следующая команда F предписывает движение еще на один шаг. Окончательная команда F замыкает треугольник.

Порождающее правило предназначено для замены микрокоманды в аксиоме группой микрокоманд. Например, если в приведенной выше аксиоме команду F заменить порождающим правилом , то изображающая точка при движении по экрану нарисует снежинку Коха.

Порождающее правило – это разновидность рекурсивной процедуры. Глубина рекурсии показывает, какое количество итераций по замене микрокоманд группой микрокоманд необходимо выполнить.

С помощью микрокоманды ветвления осуществляется построение деревьев и растений. Порождающие правила позволяют выполнять ветвления многократно не только от линии основного направления движения изображающей точки, но и от построенных ранее ветвей.

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: