ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ÚÄ¿ ³ ÚÄÄÄÙ ³ ÚÄÄ¿ ³ ³ ÚÄÄ¿ ³ ³ ÚÄ¿ ³ ÀÄ¿ ÚÄÙ ³ ÚÄÄ¿ ³ ³ ³ þ Version 1.0 ³ ÀÄ¿ ³ ÀÄÄÙ ³ ³ ÀÄÄÙ ³ ³ ³ ÀÄÙ ³ ³ ³ ÀÄÄÙ ³ ³ ³ ³ ÚÄÙ ³ ÚÄ¿ ÚÙ ³ ÚÄÄ¿ ³ ³ ³ ÚÄ¿ ³ ³ ³ ÚÄÄ¿ ³ ³ ³ þ Copyright 1994 ³ ³ ³ ³ ³ À¿ ³ ³ ³ ³ ³ ÀÄÙ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄ¿ Brian Towles ÀÄÙ ÀÄÙ ÀÄÄÙ ÀÄÙ ÀÄÙ ÀÄÄÄÄÄÙ ÀÄÙ ÀÄÙ ÀÄÙ ÀÄÄÄÄÙ ÚÄÄÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄ¿ ÚÄÄÄ¿ ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ³ ÚÄÄ¿ ³ ³ À¿ ³ ³ À¿ ÚÙ ³ Ú¿ Ú¿ ³ ³ ÚÄÄ¿ ³ ÀÄ¿ ÚÄÙ ³ ÚÄÄ¿ ³ ³ ÚÄÄ¿ ³ ³ ÀÄÄÙ ³ ³ Ú¿ À¿³ ³ ³ ³ ³ ³³ ³³ ³ ³ ÀÄÄÙ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÙ ³ ³ ÚÄÄ¿ ³ ³ ³À¿ ÀÙ ³ ³ ³ ³ ³ÀÄÙ³ ³ ³ ÚÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ÚÄ¿ ÚÙ ³ ³ ³ ³ ³ ³ À¿ ³ ÚÙ À¿ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÙ ³ ³ ³ ³ À¿ ÀÄÙ ÀÄÙ ÀÄÙ ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÙ ÀÄÙ ÀÄÙ ÀÄÙ ÀÄÙ ÀÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÙ Fractal Animator is a flexible command-line tool to be used in conjunction with Fractint to create fractal animations with ease. ®®® TABLE OF CONTENTS ¯¯¯ - IDEAS BEHIND FRACTAL ANIMATOR - BASIC USES OF FRACTAL ANIMATOR - ADVANCED FEATURES OF FRACTAL ANIMATOR - OTHER FEATURES OF FRACTAL ANIMATOR - EXAMPLE COMMAND LINES - A FEW COMMON QUESTIONS - THANKS - LEGAL JAZZ AND MONEY ®®® IDEAS BEHIND FRACTAL ANIMATOR ¯¯¯ The whole idea for Fractal Animator originated when I needed to created a series of single images, using Fractint, and capture them frame-by-frame to video tape. I had a few zooming utilities for Fractint, but their output was basically useless. So I wrote small C programs to make giant batch files to control Fractint via the command line, which worked well, but it was somewhat complex. So I've simplified all the things that I've learned about fractal animation into a rather easy to use command line tool. Fractal Animator solves these problems presented by other zooming utilities I've seen: - The command line length is limited from a batch file because of DOS, so image information is stored in Fractint .PAR files, for greater precision and more options - A substitute for the linear zooming formula, which creates a slow to fast zoom speed; the Fractal Animator's "power" formula creates a smooth zoom, and keeps the aspect ratio in tact - Multiple input and output options, for real control of what is written to the .PAR files - Many helpful functions are provided: zooming, panning, rotation, .GIF input, parameter functions, .MAP file input, palette transition, and additional .PAR file input for custom animations ®®® BASIC USES OF FRACTAL ANIMATOR ¯¯¯ To use any of the functions of this program well, it is important that one basically understands the workings of Fractint, having to do with video mode, parameters, saving files, .PAR files, and some other important aspects of it. Any animation created by Fractal Animator will create a number of files: a .BAT file which controls the entire animation and is executed by the user to start the animation and a .PAR file which contains information about the individual images. Sometimes Fractal Animator will also create .MAP file(s) which are used to control the palette for every image. All of these files are vital in the creation of the animation and should be copied into the Fractint directory before trying to render the frames. Zoom-In & Pan: A zoom-in magnifies a small part of a fractal image, and the a is simply a movement across (translation) the fractal image. For the simplest applications of the program, you only need to have the initial and final corners of the fractal you wish to zoom into. The default fractal is the mandelbrot set, but this can be changed with a command line argument. The /i switch means initial corners in the form xmin, xmax, ymin, ymax; and the /f switch accepts the same format for the final corners. So the command line would end up similar to this: FA /i-2.5,1.5,-1.5,-1.5 /f-2,-1.6,-0.15,0.15 The two files created from Fractal Animator are ANIM.PAR and ANIM.BAT. If those files are copied to your Fractint directory, typing "ANIM (Enter)" will create your first animation! Link these images together with a .FLI animation program to view a smooth zoom-in. ** A zoom-in is seen when the length of the sides is decreasing (in the previous example from 4 and 3 to .4 and .3) and a pan is seen when there is a different center point for the viewing windows (from -.5,0 to -1.8,0). Also notice that the aspect ratio between the side lengths is constant (4:3). Zoom-Out & Pan: A zoom-out is the opposite of the zoom-in, so the following command line will create a simple zoom-out, which also pans: FA /i-2,-1.6,-0.15,0.15 /f-2.5,1.5,-1.5,-1.5 Also, the coordinates of the corners of a fractal image get bulky (over ten significant figures) so fractal parameters can also be passed through .GIF files created by Fractint. An example would be: FA /igFRACT001.GIF /fgFRACT002.GIF The /ig and /fg switches mean initial and final input will come from a .GIF file. FRACT001.GIF is the initial image and Fractal Animator will create the transition between it and FRACT002.GIF automatically. Fractal Parameter Control: Fractal Animator also allows control of up to ten fractal parameters used by Fractint. From this another basic form of fractal animation emerges. Changing the parameters of a fractal can also create a pleasing animation. The following is a simple parameter control animation: FA /i-2.5,1.5,-1.5,1.5 /0:cos(2*p*x) /1:sin(2*p*x) The /0 through /9 switches tell Fractal Animator the parameter to vary, as well as the function used to vary it. The first function is a simple cosine, in which the symbol p represents pi and x is the fraction of the current frame number over the total number of frames. As expected these two functions created a circle motion in the fractal images when animated. Functions and constants supported by Fractal Animator are: +, -, *, /, ^(power), cos, sin, tan, e, and p(pi). Constant values are also acceptable arguments. The function evaluator in Fractal Animator isn't forgiving, which will be improved in later versions. Here are the basic rules: no implied multiplication: ex. 3x+3, no spaces: ex. 5 + x won't work as a function, and all trig functions are followed by a set of parathesis: ex. sin(x). All parameters are declared by putting the switch and parameter number (ex. /4), followed by a colon(:), and then the parameter function. The only variable is x, which is always the ratio of the current frame over the total number of frames. With these simple commands you can create interesting fractal animations, but Fractal Animator also has an array of other options. ®®® ADVANCED FEATURES OF FRACTAL ANIMATOR ¯¯¯ Rotation: With the /r and /k switches the user can control the direction of image rotation. The /r switch can be followed by a + or - for clockwise or counterclockwise rotation respectively (default is counterclockwise). The /k switch followed by a number tells the number of whole rotations to perform during the animation. The /ri and /rf switches followed by a angle in degrees can be used to set initial and final image rotation angles, and Fractal Animator also accepts rotated images and coordinates from Fractint. Using these effects together can create amazing output. Palette Control: With the /im and /fm input options the user can tell Fractal Animator to load .MAP palette files for the initial and final images, and Fractal Animator will automatically create a new .MAP file for every frame, making a smooth transition between the two palettes. Palettes are also extracted from .GIF input files and the same transition is created between those palettes. ®®® OTHER FEATURES OF FRACTAL ANIMATOR ¯¯¯ Number of Frames: The /s switch is followed by the number of frames to be used in the current animation (default value is 30). Zoom and Panning Formulas: The /z and /m switches followed by a l, p, or i sets the method used to calculated the steps for zooming and panning respectively. The l stands for linear, which seems to be the standard zooming formula, but this creates problems in zoom speed (explained later). The p is for power, which means the size of the steps between calculations gets smaller as the current frame increases, creating a smooth zoom-in. The i, is simply the inverse-power, which is useful for thinks such as zooming-out (default is l for both panning and zooming). Excluding Last Frame: The /x or exclude last frame switch is useful when linking together an animation in which the last .GIF image of one animation is the first of the following - one would not want that frame to appear twice. So with this switch the final frame is left out of the animation, and another frame is added between the initial and final frames, so that the same number of frames are generated as without the switch (not default). Fractint Video Mode: The Fractint video mode is given with the /v switch (default is F3, which is 320x200x256). Fractint Fractal Name: The name of the type of fractal used is preceded by the /t switch in the animation as defined by Fractint (default is mandel). Additional .PAR Info: The /a switch followed by text, will insert that text into every .PAR file module created. Command Line File: The /c switch can be followed by a filename of a file that contains extra command-line info (sometimes the DOS command line is too small). The file must be a text file, with each line containing a new switch for Fractal Animator. Output File Control: The names of the output files can be controlled with the /b, /p, and /m switches. Following the /b and /p switches are the full filenames of the .BAT and .PAR files respectively. Following the /m switch is up to five letters, which serve as the prefix of the map files (ex. /mfract, will create this map fract000.map for the first frame). ®®® EXAMPLE COMMAND LINES ¯¯¯ Here are some command lines with basic techniques: To create a spiraling zoom-in (FRACT001.GIF is zoomed out): FA /igFRACT001.GIF /fgFRACTA002.GIF /zp /yp /k4 To create a swirling effect: FA /igFRACT001.GIF /0:2*sin(x*2*p) /1:2*cos(x*2*p) To link three frames into one animation: FA /igFRACT001.GIF /fgFRACT002.GIF /x /panim1.par /banim1.bat /manim1 and then: FA /igFRACT002.GIF /fgFRACT003.GIF /panim2.par /banim2.bat /manim2 To use a command-line file: FA /canimate.fa The animate.fa file: // animate.fa - a simple fractal animation /igFRACT001.GIF /fgFRACT002.GIF /zp ®®® A FEW COMMON QUESTIONS ¯¯¯ Q: Why do the frames seem to be random, and unrelated? A: Your trying to cover to much ground. Try adding more steps, changing the zoom or pan formula, moving the frames closer together, or lessening the magnitude of parameter functions. Q: How do a test an animation to see if it is what I wanted? A: Simply load the .PAR file created by Fractal Animator into Fractint, and view a couple of single frames (type @ from the main menu and then press F6 to load a new .PAR file). Q: Why do frames begin shutter or wiggle when animated? A: You are zoomed in past the precision of Fractint (try float=yes) or parameter functions need to be smoothed or lessened in magnitude. Q: Why does Fractal Animator tell me the .GIF I tried to use as input does not have an application extension block? A: Make sure any .GIF is completely drawn before you save it, otherwise Fractal Animator cannot use it. For really slow fractals render them at a very low resolution and change the video mode with the /v option. Q: I made a long animation, and some frames are blacked out, or half filled, why? A: I have found this to be a puzzling problem, but basically isolated it to Fractint not saving the .GIF correctly. What is really odd is that if you load the half-image into Fractint, redraw it, and save it again it will save properly, and this is the only way I know to fix this puzzlin' problem. Q: Why don't formula fractals (from .FRM files) work when loaded from a .GIF file? A: Fractal Animator version 1.0 doesn't detect all the nessary formula information needed to create the .PAR file, so this information must be included with the /a switch. About recording animations: Putting fractal animations on videotape can create INCREDIBLE results - you can use high resolutions (640x480, is what I've used in the past), with a constant speed of 30 fps. This operation requires a number of different tools to successfully complete: a VCR with a serial interface (major cash), a program written to control the VCR (beyond expensive, if purchased), a VGA to NTSC/S-VHS converter (cheapest, but still expensive), and also an RS-232 to RS-422 converter for many high-end VCRs. The scheme I used was to create a batch file that first displayed a .GIF on the screen, then a command-line program was called to record a single frame onto tape. With a shortened pre-roll, and a good VCR, you can record five to six frames per minute . . . the resutls are well worth the wait! ®®® THANKS ¯¯¯ Thanks to Fractint, for which my entire program is based on. Thanks to Borland and their C compilers. Thank you for at least reading this far in this documentation (this is my first documentation file, so bare with me. I've also been known to misspell three letter words). ®®® LEGAL JAZZ AND MONEY ¯¯¯ Disclaimer: This program was designed to help people get into fractal animation, thus the name of the program. I take no responsibility for what the program does, so use Fractal Animator at your own risk. Distribution: This program claims to be Shareware, so feel free to distribute it as you will, but for no charge. Do not bundle it with other products, and distribute it in original form (with all files: FA.EXE, FA.TXT, and the example files). If you are one of those Shareware Houses or want to distribute this program for a small charge, you must first contact me in person and get my okay, before doing so. And Finally Money and Support: I would greatly appreciate any donations for the use of this program (about $20 dollars is good, or whatever you deem enough). A lot of work went into planning this program and trying to make it as comprehensive as possible. I am possibly planning a Windows version of this program, with features such as a preview mode, to get the feel of what the animation will look like. This all depends on your response, so at least try to write. If you write with any technical questions or bugs, I'll try to respond. I also have an Internet address most of the year, I'm willing to give that out, too. Thanks: Brian Towles 8109 Running Cedar Trail Raleigh, NC 27615