home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1995 November
/
PCWK1195.iso
/
inne
/
dos
/
fraktale
/
fracxtr6.exe
/
OTHER
/
FA100.TXT
< prev
next >
Wrap
Text File
|
1994-07-21
|
15KB
|
318 lines
┌─────┐ ┌──────┐ ┌──────┐ ┌─────┐ ┌─────┐ ┌──────┐ ┌─┐
│ ┌───┘ │ ┌──┐ │ │ ┌──┐ │ │ ┌─┐ │ └─┐ ┌─┘ │ ┌──┐ │ │ │ ■ 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