Фрактал "Млечный путь"

Млечный путь

Задача: построить фрактал "Млечный путь"

"Млечный путь" строится таим образом:

в цикле вычисляем z по формуле:

z = a + b*z*exp[k-p/(1+|z^2|)] ,
где a, b, k и p - задаваемые нами параметры;
a и b влияют на кол-во точек в рисуемом изображении;
k определяет угол поворота изображения;
p определяет амплитуду закручивания;

После, в этом же цикле, мы рисуем на экране точку:

putpixel(real(z)*180+240, imag(z)*180+280, 14);

В результате получаем данный фрактал.

#include <graphics.h>
#include <math.h>
#include <complex.h>
#include <conio.h>
 
int main() {
  double a=0.85, b=0.9, k=0.5, p=7.7; //константы. При изменении их будет модифицироваться изображение
  complex z;
  int gd=DETECT, gm;
  int i;
  initgraph(&gd, &gm, "G:\\programs\\BC31\\BGI"); // инициализируем графику
  z=0;
  for (i=0; i<=30000; i++) {
    z=a+b*z*exp(complex(0,(k-p/(1+abs(z*z))))); // формула, по которой рисуем
    putpixel(real(z)*180+240, imag(z)*180+280, 14); //ставим точку на экране
  }
  getch(); // пауза для задержки изображения на экране
  closegraph();
  return 0;
}

Ключевые слова: 
фрактал, Млечный путь
ВложениеРазмер
mlechnyipyt.rar768 байтов
MLECHNYI PYT.rar74.67 кб