getch();
closegraph();
}
Пифагорово дерево задается так: «ствол» дерева – вертикаль-ный отрезок длиной l. От него вверх симметрично отходят две ветки так, чтобы угол между ними был 90 градусов, их длина равна k*l, где k<1. Так повторяется для заданного количества уровней.
На рисунке показано дерево Пифагора при k=0.7, имеющее 5 уровнейЧтобы написать процедуру, придется вспомнить геометрию и тригонометрию. Проще всего получается, если написать формулы для произвольного угла наклона ветки α. Если (x,y) – координаты начала ветки и она наклонена по отношению к горизонту на угол α,
то формулы для определения координат конца ветки (x1,y1) принимают вид:
x1 = x + L * cos( α )
y1 = y - L * sin( α )
Знак минус при вычислении y1 появился из-за того, что ось y для экрана направлена вниз. Ветки следующего уровня,выходящие из вершины с координатами (x1,y1), имеют
углы наклона α + π /4 (правая ветка) и α - π /4 (левая ветка). Не забудем также, что для использования функций sin и cos надо подключить заголовочный файл math.h и передавать им значения углов в радианах.Параметрами процедуры являются координаты начала базовой ветки (x,y), ее длина L, угол наклона в радианах angle и количество уровней n, которые надо нарисовать.