Files
fe-prog2/vaja3/julia.c
2022-03-28 23:48:47 +02:00

48 lines
1.1 KiB
C

#include "knjiznica/bitmap.h"
#include "cplxlib.h"
#include "stdio.h"
#include "math.h"
#define resolution 3400
const double dimension = 1.7;
const double orbit = 2.0;
unsigned char canvas[resolution][resolution]; // platno za risanje
unsigned char iteratePolynomial(cplx z0, cplx c)
{
cplx z = z0;
for (unsigned i = 0; i<255; i++)
{
z = cprod(z, z);
z = csum(z, c);
if (sqrt((z.re*z.re)+(z.im*z.im)) > orbit) return i+1;
}
return 255;
}
int main(void)
{
cplx c;
double a,b;
printf("Vnesi adicijsko konstanto polinoma: ");
scanf("%lf%lfi", &a, &b);
puts("Iteriram:");
c.re = a;
c.im = b;
for(unsigned p = 0; p < resolution; p++)
{
printf(".");
for(unsigned q = 0; q < resolution; q++)
{
cplx z0;
z0.re = ((dimension/resolution) * p * 2) - dimension;
z0.im = -(((dimension/resolution) * q * 2) - dimension);
canvas[p][q] = iteratePolynomial(z0, c);
}
}
shraniBMP(canvas, resolution, resolution, "julia.bmp");
printf("\n\n Končano. Slika shranjena\n");
}