Дерево Пифагора — разновидность фрактала, основанная на фигуре, известной как «Пифагоровы штаны». Алгоритм : #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <math.h> #include <graphics.h> const double Pi = 3.14159; double n,m; int max ; int color; void Draw(double x, double y, double L, double a) { // функция рисования фрактала if(L > max) { L*=0.7; moveto(x,y); lineto((int)(x+L*cos(a)),(int)(y-L*sin(a))); x=x+L*cos(a); y=y-L*sin(a); // рекурсивный вызов Draw(x,y,L,a+Pi/n); Draw(x,y,L,a-Pi/m); } } int main() { printf("Введите параметры : \n"); printf("угол по X : Pi/"); // ввести числа от 1 до 10 scanf("%lf",&n); printf("угол по Y : Pi/"); scanf("%lf",&m); printf("глубина рекурсии : "); // чем больше коэф. тем меньше шагов рекурсии // ввести 1 scanf("%d",&max); int gdriver = DETECT, gmode, errorcode; // подключаем графику initgraph(&gdriver, &gmode, ""); errorcode = graphresult(); if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); } Draw(320, 460, 200, Pi/2); getch(); closegraph(); return 0; }
Ключевые слова:
фрактал , дерево пифагора
|
|||||||