Main Page   File List   Globals  

examples/fbfract.c

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 }       

Generated on Sat Jul 5 09:04:51 2003 for LibFB by doxygen1.2.18