Sto leggendo il libro Fractals for the classroom - Introduction to fractals and chaos.
Ho trovato questo semplicissimo programma in BASIC che disegna il triangolo di Sierpinsky, utilizzando un sistema di coordinate binarie per colorare - le pari di un colore, le dispari di un altro - le celle del triangolo di Pascal.
codice:
DEFINT x, y
FOR x = 0 TO 255
FOR x = 0 TO y
IF (x AND (y-x)) = 0 THEN PSET (x + 158 - .5 * y, y + 30)
NEXT x
NEXT y
L'immagine generata è larga 256 pixels. 158 è la metà della larghezza + 30 (il perché non l'ho capito...!).
Ma comunque. Come potrei trasformare questo programma in C++ (i pixel li tratto come punti: li salvo in un file che poi passo a gnuplot).
Ho pensato a un codice tipo questo:
codice:
#include <iostream>
using std::cout;
using std::endl;
using std::ios;
#include <fstream>
using std::ofstream;
int main()
{
ofstream oFile("sierpinsky.txt", ios::out);
for (int x = 0, x < 256, x++)
{
// Non capisco come tradurre il ciclo dal BASIC
{
if (x == 0 and (x - y) == 0)
{
oFile << x + 158 - 0.5 * y << ' ' << y + 30 << endl;
}
}
}
return 0;
}
Ma visto che la y nel programma in BASIC non viene inizializzata come faccio a utilizzarla per un ciclo for in C++? Inoltre dovrei utilizzare le coordinate scritte in modo binario, ma non vedo dove questo avviene nel programma in BASIC...!
Idea di come fare?!