00001 #include "FBlib.h"
00002
00003 FB_pixel iterate (double x, double y)
00004 {
00005 int i;
00006 float val;
00007 float xn, yn;
00008 float xn1;
00009
00010 xn = 0;
00011 yn = 0;
00012
00013 for (i = 0; i < 256; i++) {
00014 xn1 = xn * xn - yn * yn + x;
00015 yn = 2.0 * xn * yn + y;
00016 xn = xn1;
00017 val = xn * xn + yn * yn;
00018 if (val > 9.0) break;
00019 }
00020 if (i > 250) return FB_makecol (0,0,0,0);
00021 return FB_makecol (0, i, (2 * i * (i/2) + i/20) % 256,0);
00022 }
00023
00024 int main ()
00025 {
00026 int i, j;
00027 float dx, dy;
00028 float x = -2.3;
00029 float y = -1.5;
00030 int max_x, max_y;
00031 dx = 0.004;
00032 dy = 0.004;
00033
00034 FB_initlib ("/dev/fb0");
00035 FB_clear_screen (FB_makecol (0,0,0,0));
00036 FB_getres(&max_x, &max_y);
00037
00038 for (j = 10; j < max_y - 10; j++) {
00039 for (i = 10; i < max_x - 10; i++) {
00040 FB_putpixel(i, j, iterate (x, y));
00041 x += dx;
00042 }
00043 x = -2.3;
00044 y += dy;
00045 }
00046
00047 getchar ();
00048 FB_clear_screen (FB_makecol(0,0,0,0));
00049 FB_exit ();
00050
00051 return 0;
00052 }