Рекурсия
October 12, 2022

Снежинка Коха

Как нарисовать снежинку Коха? Это - фрактальная кривая, и в основе программы - использование рекурсии.

Слайд с конференции PascalABC.NET 2021

Для решения используется крайне простой школьный модуль Turtle (Черепашка), написанный поверх модуля GraphWPF:

uses Turtle,GraphWPF;

procedure Koch(sz: real; n: integer);
begin
  if n = 0 then
    Forw(sz)
  else begin
    Koch(sz/3,n-1); Turn(-60);
    Koch(sz/3,n-1); Turn(120);
    Koch(sz/3,n-1); Turn(-60);
    Koch(sz/3,n-1);
  end;
end;

begin
  Window.Title := 'Снежинка Коха';
  Forw(-350);
  Down;
  Koch(600,5);
end.