void doApfelmannFloat() { const int radius = 16 * 1000 * 10; const float pmin = -2.25; const float pmax = 0.75; const float qmin = -1.5; const float qmax = 1.5; const int anzahl = 100; const float pdiff = pmax-pmin; const float qdiff = qmax-qmin; float xneu, yneu; float p, q, x, y; float xsq, ysq; volatile int k; GDP_CLS(); for (int xkoor=0; xkoor < 511; xkoor++ ) { for (int ykoor=0; ykoor < 255; ykoor++) { p = pdiff*xkoor/511+pmin; q = qdiff*ykoor/255+qmin; x = 0; y = 0; k = 0; do { xneu = x*x-y*y + p; yneu = 2*x*y + q; k++; x = xneu; y = yneu; } while (((x*x+y*y) < radius) && (k < anzahl)); if ((k % 2) == 1) { GDP_MOVETO(xkoor, ykoor); GDP_CMD(0xFFFFFF70, 0b10100000); } } } }