home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
400-499
/
ff474.lzh
/
Aequipot
/
Aequipot.anl
< prev
next >
Wrap
Text File
|
1991-04-17
|
8KB
|
178 lines
--------------------------- Aequipot V1.06 --------------------------------
Aequipot ist Copyright 1990, 1991 von Jürgen Matern.
Dies ist ein Programm, das mehrfarbige Grafiken mit einem bestimmten
Algorithmus berechnet.
-------------------------- HINTERGRUND ------------------------------------
Der Algorithmus beschreibt ein Problem der Elektrostatik. Eine elektrische
Ladung baut um sich ein elektrisches Feld auf. Dieses Feld verhält sich
nichtlinear. Bei einer Ladung kann dieses Feld noch gezeichnet werden, bei
mehreren Ladungen ist dies kaum noch möglich. Auf eine Probeladung in
diesem Überlagerungsfeld wirken Kräfte. Linien, auf denen eine Probeladung
bewegt werden kann, ohne Arbeit am System zu verrichten, werden als
Äquipotentiallinien bezeichnet (im dreidimensionalen sind dies
Äquipotentialflächen). Eine Probeladung hat ein bestimmtes Potential
gegenüber den betrachteten Ladungen. Bereiche gleichen Potentials werden
vom Programm mit gleicher Farbe gekennzeichnet. Direkt an den Ladungen wird
nichts gezeichnet, da dort das Potential gegen Unedlich strebt. Das
Programm macht nur quantitative Aussagen.
--------------------------- FEATURES --------------------------------------
* bis zu zwanzig Ladungen
* LoRes- und HiRes-Auflösung möglich
* optimierter Rechenalgorithmus, um Zeit zu sparen
* Übersichtsfunktion, um einen schnellen Einblick in die Grafik zu gewinnen
* arbeitet mit 32, oder 16 Farben, je nach Modus
* Parameterübergabe vom CLI aus
* bei Start von der Workbench werden die Parameter erfragt
* Reperaturfunktion, falls der optimierte Algorithmus Fehler macht
--------------------------- BENUTZUNG -------------------------------------
Es existieren zwei verschiedene Versionen, die PAL- und die NTSC-Version.
Sie sind durch verschiedene Namen gekennzeichnet (AequipotP und AequipotN).
Das Programm kann von der Workbench oder vom CLI aus gestartet werden.
Wird das Programm von der Workbench aus gestartet werden die beiden
benötigten Parameter nacheinander vom Programm erfragt.
Wird das Programm aus dem CLI heraus gestartet müßen dabei zwei Parameter
übergeben werden. Der erste Parameter gibt die Bildschirmauflösung an, der
zweite, die Berechnungsmethode. Werden keine, oder falsche Parameter
übergeben, wird folgende Kurzerklärung ausgegeben:
Usage: AEQUIPOT ScreenMode RenderingMode
Where ScreenMode is h(igh) or l(ow)
and RenderingMode is s(low) or f(ast).
(Benutzung: AEQUIPOT SchirmModus RechenModus
Wobei SchirmModus h(=hoch) oder l(=niedrig)
und RechenModus s(=langsam) oder f(=schnell) sein kann.)
Nach dem Start des Programms wird der entsprechende Schirm geöffnet. Hier
können jetzt mit der Maus Ladungen gesetzt werden. Das Setzen einer Ladung
erfolgt nach Druck auf die linke Maustaste. Sollen keine Ladungen mehr
gesetzt werden muß die rechte Maustaste gedrückt werden. Maximal können
20 Ladungen gesetzt werden. Bei der zwanzigsten Ladung wird automatisch
in den Eingabemodus gesprungen. Jetzt werden nacheinander die einzelnen
Koordinaten der Ladungen angegeben. Es können jetzt positive oder negative
Ladungen eingegeben werden. Es empfehlen sich Ladungswerte zwischen -15 und
15. Positive Ladungen müssen ohne Vorzeichen eingegeben werden, da das
Programm sonst abbricht (das ist leider eine Eigenheit von PCQ und kann
nicht abgefangen werden, das bedeutet auch, daß in einem solchen Fall noch
ein geöffneter Schirm im Hintergrund liegt der z.B. mit ARTM
entfernt werden kann). Nach Eingabe aller Ladungen wird die Grafik
berechnet. Der Berechnungsvorgang wird mit Druck auf die rechte Maustaste
beendet. Mit Druck auf die linke Maustaste kann die Titelleiste ein- und
ausgeschaltet werden.
Wurde der Berechnungsmodus f(=schnell) gewählt wird am Ende der Berechnung
gefragt, ob die gleiche Grafik im Modus s berechnet werden soll. Wird <OK>
gewählt, werden alle Koordinaten und Ladungen beibehalten und die Grafik
wird nochmal berechnet. Wird <Cancel> gewählt, wird der Requester
ausgeblendet (dann siehe unten).
Wurde eine Berechnung im Modus s beendet, so wird gefragt, ob eine Reperatur
durchgeführt werden soll. Dies ist nötig, falls der optimierte Algorithmus
einen Fehler gemacht hat (probieren sie z.B. eine Ladung mit den
Koordinaten (73/120) und der Ladung 1 im Berechnungsmodus s und Schirmmodus
l; dann wird klar, was ein Fehler ist). Wird jetzt <OK> gewählt wird mit
der Maus der Bereich ausgewählt, der nochmal berechnet werden soll. Am
oberen linken Eckpunkt wird der linke Mausknopf gedrückt und wieder
losgelassen. Am rechten unteren Eckpunkt wird wieder der linke Mausknopf
gedrückt. Auf dem Bildschirm ist jetzt ein Rechteck zu sehen. Soll dieses
Rechteck neu berechnet werden genügt ein Druck auf den rechten Mausknopf,
soll doch ein anderes Rechteck gewählt werden muß wieder der linke
Mausknopf gedrückt werden u.s.w. Wurde <Cancel> gewählt, so wird nur der
Requester ausgeblendet.
Das Programm wartet jetzt auf den rechten Mausknopf. Mit links kann der
Titel aus- oder eingeblendet werden (z.B. zum speichern). Wurde der rechte
Mausknopf gedrückt, so wird der Screen geschlossen und die Grafik ist
verloren. Um Bilder zu speichern muß ein Programm wie z.B. Pixmate oder ein
anderes verwendet werden, da ich noch keine Speicherroutine implementiert
habe.
----------------------- BEKANNTE FEHLER -----------------------------------
* Die NTSC-Version des Programms berechnet im 'Slow'-Modus einen PAL-Schirm
(ich weiß aber noch nicht, wie ich das ändern soll). Das Ergebnis ist
zwar richtig, es wird aber unnötig gerechnet.
* Das Programm arbeitet nicht mit MEMGUARD III.a zusammen!
Das Problem tritt auf, seitdem ich die Funktion IntToStr() benutze.
----------------- WAS NOCH SO KOMMT (hoffe ich) ---------------------------
* Steuerung über Menüs
* Speicherfunktion
* Ladungseingabe im Grafik-Schirm
* Entfernung der Fehler
------------------------- AUTOR AND COPYRIGHT -----------------------------
Aequipot wurde von Jürgen Matern unter Benutzung des PD-Pascal-Compilers
PCQ V1.1c geschrieben (vielen Dank an Patrick Quaid dafür, daß er diesen
Compiler entwickelt hat). Die ausführbaren Programme, die Quellcodes, die
Icons und die Dokumentationen sind alle:
Copyright © 1990, 1991 by Jürgen Matern.
Ich erlaube hiermit, daß dieses Programmpaket frei verbreitet werden darf,
solange alle Files des Pakets unverändert weitergegeben werden.
Die Files des Pakets sind:
- AequipotP (das ausführbare Programm/PAL Version)
- AequipotP.p (der Quellcode/PAL Version)
- AequipotP.info (das Icon von AequipotP)
- AequipotN (das ausführbare Programm/NTSC Version)
- AequipotN.p (der Quellcode/NTSC Version)
- AequipotN.info (das Icon von AequipotN)
- Aequipot.anl (dieses File hier)
- Aequipot.doc (die englische Dokumentation)
Kommentare, Fehler, GELD (wer will), Postkarten, oder alles andere an
folgende Adresse:
Jürgen Matern
Max-Wieland-Straße 13
Herrlingen
W-7906 Blaustein
Federal Republic of Germany
Tel.: 07304-3745
Viel Spaß 8-)
--------------------------- ENTWICKLUNGS-GESCHICHTE -----------------------
V0.?? - 23. Dezember 1990 bis 01. Januar 1991:
- Grundlegende Programmgestaltung.
V1.0 - 02. Januar 1991:
- Erste veröffentlichte Version.
V1.01 - 16. Januar 1991:
- kleinere Veränderungen.
- Parameterübergabe vom CLI aus.
- aber kein WorkBench-Start mehr.
V1.02 - 21. Januar 1991:
- kleinere Veränderungen.
- sqrt durch SPSqrt ersetzt; dadurch fast doppelt so schnell.
V1.03 - 26. Februar 1991:
- kleinere Veränderungen.
- Quellcode aufgeräumt.
- bis zu 20 Ladungen werden berechnet.
V1.04 - 27. Februar 1991:
- Reperaturfunktion eingefügt.
- Feinberechnung nach Überblick mit gleichen Koordinaten.
V1.05 - 01. März 1991:
- Programm kann wieder von der Workbench gestartet werden.
V1.06 - 06. März 1991:
- Einbau von zwei Auto-Requestern (Reperatur, Feinberechnung).
- Reperatur-Funktion und Fast-Drawing wurden zusammen in einer
Prozedur untergebracht (Prog. 700 Bytes / Quellc. 1.3 K kürzer).