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 }