{Program Fractal Fly-through by Josh Lannin.  Version 1.0. 12/14/90.
Feeling Anti-Kleptomanic?  You can send me donations at

                  634 W. Fairmount, State College, PA 16801.

My phone number is (814) 237-1843.

This software is FREEWARE, no strings attached.  Eliminate shareware
"Register to get all the features" software!

Hail Discordia!    I see the fnords!}


PROGRAM Fractint_Flythrough (Input, Output);
USES Crt, Printer;
VAR x1, x2, y1, y2, x1a, x2a, y1a, y2a, decx1, decx2, decy1, decy2, step : REAL;
x1temp, x2temp, y1temp, y2temp : REAL;
i : REAL;
outdata : TEXT;

PROCEDURE Input_Coordinates;

BEGIN;
      ASSIGN (outdata, 'frabatch.bat');
      REWRITE (outdata);
      CLRSCR;
      WRITELN ('Enter the starting coordinates');
      WRITE ('X1= ');
      READLN (x1);
      WRITE ('X2= ');
      READLN (x2);
      WRITE ('Y1= ');
      READLN (y1);
      WRITE ('Y2= ');
      READLN (y2);
      CLRSCR;
      WRITELN ('Enter the target coordinates');
      WRITE ('X1= ');
      READLN (x1a);
      WRITE ('X2= ');
      READLN (x2a);
      WRITE ('Y1= ');
      READLN (y1a);
      WRITE ('Y2= ');
      READLN (y2a);
      CLRSCR;
      WRITE ('Enter the number of steps ');
      READLN (step);
END;


PROCEDURE writeout;
          BEGIN
               i := step;
               decx1 := ( (x1 - x1a) / step);
               decx2 := ( (x2 - x2a) / step);
               decy1 := ( (y1 - y2a) / step);
               decy2 := ( (y2 - y2a) / step);
               REPEAT
               WRITE (outdata, 'Fractint batch=yes type=mandel corners=');
               x1 := x1 - decx1;
               x2 := x2 - decx2;
               y1 := y1 - decy1;
               y2 := y2 - decy2;
               WRITE (outdata, x1 : 10 : 10);
               WRITE (outdata, '/');
               WRITE (outdata, x2 : 10 : 10);
               WRITE (outdata, '/');
               WRITE (outdata, y1 : 10 : 10);
               WRITE (outdata, '/');
               WRITE (outdata, y2 : 10 : 10);
               WRITELN (outdata);
               i := i - 1;
               UNTIL (i <= 1);
               CLOSE (outdata);
END;
BEGIN
Input_Coordinates;
Writeout;
END.




