/* Hoppy's animated Juliaset program * Displays Julia set and varies the parameters from frame to frame * Displays frame rate * Quit with key press /* #include "allegro.h" #include #define XRES 320 #define YRES 200 #define XSIZE 290 #define YSIZE 180 #define ITER 50 volatile int blitflag=0; volatile int times=0; volatile int otimes=0; void blittime() { blitflag=1; } END_OF_FUNCTION(blittime); void calltimes() { otimes=times; times=0; } END_OF_FUNCTION(calltimes); void main() { float x0,y0,p,q,xs,ys,xsq,ysq,xmin,xmax,ymin,ymax; int x,y,iter=ITER,s=3; int xoff,yoff; register unsigned int i; long a; char *msg; BITMAP *temp; xmin=-1.5; ymin=-1.5; xmax=1.5; ymax=1.5; allegro_init(); install_keyboard(); install_timer(); LOCK_VARIABLE(blitflag); LOCK_FUNCTION(blittime); set_gfx_mode(GFX_VGA, XRES, YRES, 0, 0); install_int(blittime, 20); install_int(calltimes, 1000); xoff=(XRES-XSIZE)>>1; yoff=(YRES-YSIZE)>>1; temp=create_bitmap(XSIZE+1,YSIZE+1); xs=(xmax-xmin)/XSIZE; ys=(ymax-ymin)/YSIZE; while (!keypressed()) { a++; p=1.5-sin(a/26.6)*3; q=1.5-cos(a/31.15)*3; for (y=0;y<=YSIZE/2;y++) { for (x=0;x<=XSIZE;x++) { y0=ymax-y*ys; x0=xmin+x*xs; for (i=1;i