Построение фрактала Барнсли Для реализации данного фрактала необходимо реализовать следующие формулы : z0 = pixel для 50ти итераций, при |z|<2 #include <conio.h> #include <graphics.h> #include <math.h> #include <complex.h> double sgn(double x) { // реализация функции sign, определяющей знак числа double result; if (x>=0) {result=1;} else {result=-1;} return result; } void main() { int gd = DETECT, gm; //иницилизация графики initgraph(&gd, &gm, ""); int mx, my; complex c, z; int it=50, max=2; int k; mx = getmaxx() / 2; my = getmaxy() / 2; for (int x = -mx; x <= mx; x++) { //задание комплексных z и с for (int y = -my; y <= my; y++) { z = complex(x*0.008, y*0.008); c = complex(0.6, 1.1); k = 0; while ((k < it)&&(abs(z) < max)) { if ((real(z)*imag(c)+real(c)*imag(z)) >= 0) z = c*(z-1); //непосредственные реобразования - else {z = c*(z+1); //реализация формулы k++; } putpixel(mx+x, my+y, (k % 15)+1); } } getch(); closegraph(); return; }
Ключевые слова:
Фрактал Барнсли2
|
|||||||