In questo esempio l'insieme di Mandelbrot e' stato generato con la libreria PngWriter che permette di creare dei file png.
La libreria e' gia' pacchettizzata in Debian ed e' di facile utilizzo perche' si deve solo indicare le dimensioni del file png da creare e le coordinate del punto da disegnare con il colore in formato RGB
Per compilare il file di esempio deve essere utilizzata la seguente stringa
g++ mand_png.c -o mand_png `freetype-config --cflags` -I/usr/local/include -L/usr/local/lib -lpng -lpngwriter -lz -lfreetype
I file del progetto sono reperibili a questo Link
Per visualizzare il file png da linea di comando puo' essere utile installare il pacchetto ImageMagick e digitare
display mandelbrot.png
-------------------------------------------------
#include <pngwriter.h>
#define SCREEN_WIDTH 1024
#define SCREEN_HEIGHT 768
float re_min = -2.0;
float im_min = -1.2;
float re_max = 1.0;
float im_max = 1.2;
double iterazioni = 255;
double r;
float a,b;
float x,y,x_new,y_new;
int test;
int k,j,i;
int keypress = 0;
int main() {
pngwriter png(SCREEN_WIDTH, SCREEN_HEIGHT,0,"mandelbrot.png");
float re_factor = (re_max-re_min);
float im_factor = (im_max-im_min);
for (i=0;i<SCREEN_HEIGHT;i++)
{
for (j=0;j<SCREEN_WIDTH;j++)
{
a = re_min+(j*re_factor/SCREEN_WIDTH);
b = im_min+(i*im_factor/SCREEN_HEIGHT);
x = 0;
y = 0;
test = 0;
for (k=0;k<iterazioni;k++)
{
x_new = (x*x)-(y*y)+a;
y_new = (2*x*y)+b;
if (((x_new*x_new)+(y_new*y_new))>4)
{
r = k%2;
png.plot(j,i, r, r, r);
break;
}
x = x_new;
y = y_new;
}
}
}
png.close();
return(0);
}
Iscriviti a:
Commenti sul post (Atom)
Perche' investire su Unix
Un libro trovato nel libero scambio alla Coop su cio' che poteva essere e non e' stato...interessante la storia su Unix del primo c...
-
Per lo shield WiFly e' stata effettuata la patch descritta qui Per la connessione del lettore Rfid si usano i seguenti pin VCC ...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
Nessun commento:
Posta un commento