К основному контенту

Построение дерева Пифагора

Это материалы для мастер-класса по информатике для школьников при ДВФУ.
Предлагается написать программу для рисования простого фрактала - дерева Пифагора.
Материалы из интернета:
Видеоролик: http://youtu.be/hq2npaicOOE
Хорошая статья на эту тему: http://elementy.ru/posters/fractals/Pythagoras
Статья с примером программы: http://fractalworld.xaoc.ru/Pythagoras_tree

 

Фракталы - это фигуры, обладающие свойством самоподобия, обычно у фрактала есть какой-нибудь повторяющийся узор.

Как построить дерево Пифагора?
Рисуем квадрат, и строим прямоугольный треугольник на одной из его сторон как на гипотенузе. В самом простом случае прямоугольный треугольник будет равнобедренным (с острыми углами 45°).
Затем на катетах этого треугольника строим квадраты ("пифагоровы штаны").
Дальше процесс повторяется для этих квадратов.

Сразу можно заметить, что процесс построения дерева Пифагора по своей сути рекурсивный: построение дерева Пифагора сводится к построению дерева Пифагора меньшего размера.

Опишем рекурсивную функцию, которая будет рисовать дерево Пифагора.
Функция принимает на вход следующие параметры:
  • оставшееся число шагов построения дерева
  • координаты точек основания квадрата (A, B)
  • координаты вектора  

Вначале вычислим координаты точки M.
Для этого вычислим векторы .
Заметим, что .
Теперь нетрудно вычислить координаты точки M, прибавив к точке C вектор a.
Далее легко вычислить координаты вершин квадратов, используя равенство соответствующих векторов.

Комментарии

Unknown написал(а)…
кто это написал ? что за чущь

Глеб Гренкин написал(а)…
Поясните.
Анонимный написал(а)…
Поясняю