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.
L'immagine generata è larga 256 pixels. 158 è la metà della larghezza + 30 (il perché non l'ho capito...!).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
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:
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...!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; }
Idea di come fare?!

Rispondi quotando