Построить фрактал "HenonIFS" Для получения различных изображений изменяйте в программе параметр m. На рисунке m=3. Алгоритм: void main () { #include <graphics.h> // подключаем нужные библиотеки #include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> #define m 3 // m-угольник int main () { int i,n,l; // объявляем переменные float x1,y1,x,y; float a[m],b[m]; int gd,gm; // инициализация графического режима gd = DETECT; initgraph (&gd, &gm, "EGAVGA.bgi"); x=0; y=0; // координаты A (x,y) for (i=0; i<m; i++) { a[i] = cos (2*M_PI * i/m); b[i] = sin (2*M_PI * i/m); } while (!kbhit ()) // Выполняется цикл, пока не нажана клавиша { l = random (m); // присвоение l случайной величины (0<l<m-1) if (random (m) < 2) // 1 случай { x1 = x/2 + a[l]; y1 = y/2 + b[l]; } else // 2 случай { x1 = (x*a[l] + y*b[l] + x*x*b[l])/ 6; y1 = (y*a[l] - x*b[l] + x*x*a[l])/ 6; } x=x1; // присвоение значений новым переменным y=y1; putpixel (320 + ceil (x*140), 240 + ceil (y*140), 2); // рисование точки } getch (); // задержка closegraph (); // закрытие графического режима return 0; } }
Ключевые слова:
HenonIFS, фрактал
|
|||||||