Пример. Пифагорово дерево задается
так: "ствол" дерева-
вертикальный отрезок длиной
l. От него вверх симметрично отходят две ветки так, чтобы угол
между ними был
90 градусов, их длина равна k*l, где k<1. Так
повторяется для заданного
количества уровней. На
рисунке показано дерево Пифагора при
k=0.7, имеющее 5 уровней.
void Pifagor( float x, float y, float l, float angle, int n)
{
float k = 0.7, x1, y1;
x1 = x + l*cos(angle);
y1 = y - l*sin(angle);
line (x, y, x1, y1);
if ( n <= 1) return;
Pifagor(x1, y1, k*l, angle+M_PI_4, n-1);
Pifagor(x1, y1, k*l, angle-M_PI_4, n-1);
}
2009-12-19 • Просмотров [ 5762 ]