home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
542.lha
/
Aequipot_v1.15
/
Aequipot.doc.pp
/
Aequipot.doc
Wrap
Text File
|
1991-08-10
|
11KB
|
266 lines
--------------------------- Aequipot V1.15 --------------------------------
Aequipot is Copyright 1990, 1991 by Juergen Matern.
This is a program that draws multicolor images with a certain
algorithm.
---------------------------- BACKGROUND -----------------------------------
The algorithm discribes a problem, of the electrostatics. An electric charge
is the cause of an electric field. This field is not linear. When
you examine only one charge, this field is easy to be drawn, it only
consists of concentric circles. When you examine more charges you have to
make a superposition of the field of every single charge with the other
fields. This is what the program does for you. Lines in the field which have
the same potential are called equipotential lines. Areas of the same
potential are drawn in the same color. Near the charges there's no drawing
because the potential strives for infinity. I hope my english is not too
bad so that you can understand a bit of the problem.
----------------------------- FEATURES ------------------------------------
* up to twenty charges
* LoRes- and HiRes-resolution possible
* optimized algorithm to gain time
* fast-function to get an idea of how the final graphic looks like
* works with 32, or 16 colors, depending on the mode
* parameters from CLI
* when started from Workbench the program asks for the parameters
* repair-function, when the algorithm is making errors
* script-file-mode
* animation-rendering via script-file
* graphics can be saved
------------------------------ USAGE --------------------------------------
There are two different versions, the PAL and the NTSC version. They have
different names (AequipotP and AequipotN). The program can be started
either from Workbench or from CLI. When the program is started via
Workbench then there is no possibility to use the script-file-mode!
Control via CLI and Workbench:
When the program is started from CLI you have to give two parameters to the
program or you specify a script-file. If there is no file specified the
first parameter is the screenmode the second is the renderingmode. If there
is no parameter or there are wrong parameters, the following message is
printed.
Usage: AEQUIPOT [ScriptFile] OR [ScreenMode RenderingMode]
Where ScreenMode is h(igh) or l(ow)
and RenderingMode is s(low) or f(ast)
and ScriptFile is name of file to start from.
Now the required screen is opened. The places of the charges can now
be set by mouseclicking. If you won't any more charges then click right
mousebutton. The maximum number of charges is 20. When you reach #20 the
program leaves this mode. Now you can enter the strength of each charge. You
can enter positive or negative charges between -20 and +20.
When you finished the input, rendering is started. The rendering can be
stopped by pressing right mousebutton. With left mousebutton you toggle
the title.
When the renderingmode f(ast) was selected at the end of rendering is asked
if you want the same graphic to be rendered in the s(low) mode. Choose <OK>
or <Cancel> to tell the program what you want.
When the program rendered a graphic in mode <s> you're asked if any repairs
should be done. Try the following and you know what I mean: coordinates
(73/120) and strength 1 with renderingmode s(low) and screenmode l(ow).
When you choose <OK> you can select the area to be re-rendered with your
mouse. Press left mousebutton at the upper left corner and release button.
Move mouse to lower right corner and press again left button. Now you can
see the selected area to be re-rendered. If you want the program to
re-render this area then press right button. If you want another area to be
re-rendered then press again left button and so on. When you choose
<Cancel> the requester disappears.
Now the program waits for a right button. With left one you can toggle the
title (e.g. for saving the picture). When the right button was pressed the
screen is closed and the graphic is lost. To save pictures you have to
press <s>. A file-requester appears and you can enter a name for the
picture. Before you press <s> you optionally can press <c> to change the
colors of the pic.
Control via script-file:
A script-file can be written with any editor (i.e. DME). The commands
which can be interpreted by the parser are enclosed in <>, parameters
which have to follow a comand are enclosed in [], several possibilities are
seperated by |. When you read [h|l] there must be h or l in the file. but
without <> and []. At the end of every line you can find the number of
arguments expected by the parser.
Command Parameter Number
<Mode> [h|l] [s|f] 2
<Charge> [LadX] [LadY] [+|- Lad] 3
<AnimateStart> [LadX] [LadY] [+|- Lad] 3
<AnimateEnd> [LadX] [LadY] [+|- Lad] 3
<Frames> [Number of Pictures] 1
<Name> [Filename and Path] 1
<*> none 0
<Mode> is choosing the rendering-mode (see above).
<Charge> is setting the coordinates of a charge, [LadX] and [LadY], and the
strength of a charge [Lad]. You have to specify, whether you want a
positive or a negative charge.
<AnimateStart> is setting the beginning-coordinates of an animated charge,
and its beginning-strength. Parameters like <Charge>.
<AnimateEnd> is setting the ending-coordinates of an animated charge and
its ending-strength. The commands <AnimateStart> and <AnimateEnd>
allways have to appear one after the other and are then animating
the same charge. All 20 charges can be moved.
<Frames> is setting the total number of pictures to be rendered. I.e. with
<Frames> [20] you get 20 pictures on your disk. Between first and
last of these pictures the animated charges are moving from start-
to end-coordinates and the strength moves from start- to end-strength.
<Name> is setting the name of the picture or the animation you want to
save. When you produce an animation [Name] is followed by the number
of the picture. [Name] must not contain any " or spaces!
<*> after this command every following is ignored. Let's call it a
comment.
Lines without commands are not allowed in script-files!
This package includes two example-script-files named 'Script1.pot' and
'Script2.pot'.
--------------------------- KNOWN BUGS ------------------------------------
* The NTSC version of the program renders in the 'slow' mode a full PAL
screen (but I don't know how to change this). The result is o.k. but the
rendering time gets longer than necessarry.
--------------------- TO BE DONE (I hope it's done) -----------------------
* implementation of menus
* killing of the bug
------------------------ AUTHOR AND COPYRIGHT -----------------------------
Aequipot was written by Juergen Matern using the PD-Pascal-Compiler PCQ
V1.1c. (Thanks to Patrick Quaid for writing this Compiler). The
executables, the sourcecodes, the icons and the documentation files
are all:
Copyright © 1990, 1991 by Juergen Matern.
I will allow the package to be freely distributed, as long as all the files
in the archive are included and unchanged.
These files are:
<Aequipot>:
- AequipotP (executable/PAL version)
- AequipotP.info (the icon of AequipotP)
- AequipotN (executable/NTSC version)
- AequipotN.info (the icon of AequipotN)
- Aequipot.anl (the german documentation)
- Aequipot.doc (this file)
- Script1.pot (first script-file)
- Script2.pot (second script-file)
- InstallLibs (installationfile for libraries)
- InstallLibs.info (the icon of InstallLibs)
- Message.txt (message for InstallLibs)
<Source>:
- AequipotP.p (sourcecode/PAL version)
- AequipotN.p (sourcecode/NTSC version)
- reqlibrary.i (include-file of req.library)
- ilbm.i (include-file of ilbm.library)
- process.i (include-file with process-record)
Send comments, bugs, MONEY (if you want), a document in better english,
postcards, or anything else to the following address:
Juergen Matern
Max-Wieland-Strasse 13
Herrlingen
W-7906 Blaustein
Federal Republic of Germany
Phone: 07304-3745
Have fun 8-)
--------------------------- REVISION HISTORY ------------------------------
V0.?? - December 23, 1990 to January 01, 1991:
- Main programing was done.
V1.0 - January 02, 1991:
- First public release.
V1.01 - January 16, 1991:
- Minor changes.
- Parameters from CLI are handled.
- But no WorkBench-start any more.
V1.02 - January 21, 1991:
- Minor changes.
- sqrt replaced by SPSqrt; great speed increase.
V1.03 - February 26, 1991:
- Minor changes.
- Sourcecode cleaned up.
- 20 charges are handled.
V1.04 - February 27, 1991:
- The repair function was included.
- The slow-rendering after fast-rendering with same coordinates was
included.
V1.05 - March 01, 1991:
- Again program can be started from WorkBench.
V1.06 - March 06, 1991:
- Inclusion of two requesters (repair, re-render).
- Repair and fastdrawing are put together in one procedure
(executable 700 Bytes / sourcecode 1.3 K shorter).
- March 14, 1991:
- Changed this document a little bit.
V1.07 - March 29, 1991:
- Program uses now the font 'Topaz 80'.
- Uses its own mousepointer.
- The Codesize went down because I used some consts instead of
variables (all IntuiTexts, Screen- and WindowDefinitions).
V1.08 - April 05, 1991:
- SystemRequesters appear on my own screen.
- Colors can be chosen with ColorRequester from 'req.library'.
V1.09 - April 06, 1991:
- Pics can be saved in IFF-ILBM-format (I'm using the function
'SaveWindowToIFF' from 'ilbm.library').
- Filename is chosen with FileRequesters from 'req.library'.
V1.10 - April 06, 1991:
- Programming of the parser for reading the script-files. Some of
the commands are not yet supported.
V1.11 - April 07, 1991:
- All script-commands are working.
V1.12 - April 23, 1991:
- Animationcommands added.
V1.13 - June 12, 1991:
- Commentcommand '*' added.
V1.14 - June 23, 1991:
- Works propper with 'MemGuard'.
V1.15 - June 28, 1991:
- Charge-input in graphic-screen.
- Removed some smaller bugs.
Last changed June 29, 1991.