***************************** * The Beauties Of Binomials * ***************************** Idee, Realisation und Dokumentation (C) by Gero Zahn 12/90 Ein PD-Programm von Gero Zahn Bergring 27 W-4953 Petershagen Tel.: 05707/2501 Release 1.0 vom 12. 12. 1990 Enstehung der Grafiken: ======================= Wir haben hier ein Programm vor uns, daá Computer-Grafiken von bisher unbekannter Art und Weise erzeugt. Wie die bekannten Mandelbrot'schen "Apfelm„nnchen"-Bilder liegt einmal mehr eine mathematische Formel zugrunde, die in diesem Falle der Stochastik, also der Wahrscheinlichkeits-Rechnung enstammt. Es w„re m”glicherweise sinnvoll, zuerst einmal den Text "MATHE.TXT" (im ASCII-Format) oder "MATHE.DOC" (im WORDPLUS-Format) durchzulesen, danach wird einiges deutlicher ber die Entstehung der Grafiken. Diese Dokumentation enth„lt zwar eine Menge mathematische Fakten, aber sie ist bewuát einfach gehalten, damit nicht nur Mathematik-Professoren sich denken k”nnen, worum es eigentlich gehen soll. Urheber-Rechte: =============== Das Berechnungs-Prinzip kann ich wohl kaum urheberrechtlich schtzen, ein Copyright erhebe ich aber auf die Programme sowie GfA-Basic-Source-Texte dazu und auf die Dokumentation. Sie alle sind in ihrer unver„nderten Gesamtheit komplett PD und drfen in beliebiger Stckzahl vervielf„ltigt, nicht aber kommerziell verbreitet werden. Ein Ver„nderung einzelner Files ist nicht gestattet, wenn die ver„nderten Produkte noch weitergegeben werden sollen. Wer ein Update von mir haben m”chte, kann dies gegen 10,- DM und eine formatierte Leerdiskette bei mir erhalten, sofern bis dahin eine erschienen ist. Vorgesehen ist ein benutzerfreundlicheres Programm, bereits in Vorbereitung ist eine PC-Version, die auf allen g„ngigen Grafikkarten (bzw. die, die Turbo-Pascal 4.0 untersttzt) funktionieren wird. Gewnschte User-Resonanz: ========================= Wer mich kennt weiá, daá ich den Source-Text zu meinen Programmen normalerweise nie direkt beilege. Bei SHOWBIN.BAS und CUTBIN.BAS w„re es aus Verst„ndnisgrnden wahrscheinlich auch nicht unbedingt n”tig gewesen. Warum also diesmal? Der Grund fr die Ausnahme liegt auf der Hand: Ich suche optimierte Algorithmen, also zum Beispiel eine neu implementierte, in Assembler geschriebene Binomial-Funktion. Auáerdem wrden mich andere Ann„herungen an die Fakult„ts-Funktion als meine lineare interessieren. Wer immer also Verbesserungen vorzuschlagen hat, mag dies gern ausprobieren, das Grundgerst ist ja vorhanden. Die Ver„nderten Versionen interessieren mich brennend, vor allem die erw„hnte Assembler-Version. In meinem Namen weiterverbreitet werden drfen diese ver„nderten Fassungen allerdings nicht ohne meinen Segen. Das neue, verbesserte Release gibt's dann natrlich kostenlos, sofern eine Leer-Diskette beilag. Wer interessante Grafiken herausgefunden hat, kann mir die auch gerne zuschicken, entweder auf Diskette oder in Form der Bild-Daten. Eine solche Diskette kommt natrlich postwendend mit dem neuesten Release oder sofern dies noch nicht erschienen ist, mit anderer PD-Software von mir zurck. Programm-Erkl„rungen: ===================== BINOMIAL: --------- Hierbei handelt es sich eigentlich um das Herzstck dieses Programm-Relases: Mit diesem Programm k”nnen Binomial-Grafiken gezeichnet werden. Hierzu ist natrlich die Eingabe von Bild-Daten erforderlich, den Ausschnitt, den Bereich, die Farbanzahl usw. betreffend. Hierbei wird keine Zeit und kein Speicherplatz darauf verwendet, die Eingaben auf Fehlerfreiheit zu untersuchen. Es ging mir nicht darum, ein besonders ansprechendes Programm zu schreiben, sondern auch den Source-Text noch verst„ndlich zu halten. Die Eingaben mssen in folgender Reihenfolge erfolgen: "k-min" / "k-max" - Bereich, in dem k horizonzal variiert wird "n-min" / "n-max" - Bereich, in dem n vertikal variiert wird "probability" - fr das Bild konstante Wahrscheinlichkeit "exponent" - die n-te Nachkommastelle "x-start" / "y-start" - Bildschirm-Koordinate, mit der die Binomial- Grafik links oben beginnen soll "x-len" - Breite der zu zeichnenden Grafik "y-len" - L„nge der zu zeichnenden Grafik "colors" - Anzahl der zu verwendenden Farben "name" - File-Name, unter dem das fertige Bild sp„ter abgespeichert werden soll Nicht alle Wert-Kombinationen sind sinnvoll. Benutzt man zum Beispiel "1" fr "exponent" (also soll die 1. Nachkommastelle benutzt werden) ist es ziemlich unsinnig, 16-farbige Bilder zu verlangen, da sowieso nur 10 gezeichnet werden. Ein Fehler ist es aber nicht. "x-start" / "y-start" sowie die durch "x-len" / "y-len" entstehenden Rechtecke sollten im Bereich der aktuellen Bildschirm-Aufl”sung liegen. Man tut gut daran, sich bei der Namens-Wahl des abzuspeichernden Bildes an gewisse Konventionen zu halten, zum Beispiel die Extension ".LOW" fr 16-farbige Bilder, ".MED" fr 4-farbige Bilder und ".HIG" fr monochrome Bilder. Nach dem Zeichnen der Grafik (und ggf. nach dem Abspeichern) fhrt einen ein Tastendruck wieder zum Desktop. CONVBIN: -------- Dieses Programm ist dazu da, fertige Bilder, die von BINOMIAL abgespeichert worden sind, auf dem Bildschirm darzustellen. Eine Fileselector-Box erscheint, und man kann ein Bild anklicken. Es k”nnen allerdings nur Bilder angezeigt werden, die auch in der aktuellen Grafik-Darstellung entstanden sind (also 16-farbige Bilder in niedriger Aufl”sung usw.). Danach erscheint eine zweite Fileselector-Box, die die Kennung "*.DOO" offeriert. Klickt man auf "Abbruch", so passiert nichts weiter. Gibt man einen Namen ein, so wird der Bildschirminhalt im DOODLE-Format (z. B. MAXON-PD S-1) ab. Das ergibt zumindeset fr monochrome Bilder einen Sinn, da dieses Format (auch Screen-Format genannt) viele andere Programme verarbeiten k”nnen. Nachdem die Grafik auf dem Bildschirm erschienen und ggf. abgespeichert worden ist, fhrt einen ein Tastendruck wieder zurck zum Desktop. CUTBIN: ------- Mit diesem Programm kann man sich die Bild-Daten eines Ausschnittes aus einer bereits vorhandenen Grafik ausrechnen lassen, den man neu zu berechnen gedenkt. Wie bei CONVBIN erscheint zuerst eine File-Selector-Box, in der man ein Bild anklicken sollte, daá in der aktuellen Grafik-Aufl”sung entstanden ist. Erscheint dies auf dem Bildschirm, muá man der Maus einen Eckpunkt des gewnschten Ausschnittes definieren, indem man an gewnschter Steller eine Maustaste drckt. Hat man dies geschafft erscheint ein blinkendes Rechteck, das man durch einen weiteren Mausclick definieren kann. Damit ist die Auswahl des Ausschnittes abgeschlossen und sofort erscheinen die Bild-Daten des soeben definierten Bild-Teiles. Bei Druck auf
werden diese Daten auf einem
Text-Drucker ausgegeben, jede andere Taste fhrt zurck zum Desktop.
Abspeicherungs-Format der Bilder:
=================================
Die Bild-Daten werden von BINOMIAL auf folgende Weise abgespeichert bzw.
von CONVBIN und CUTBIN eingelesen:
- L„nge des abgespeicherten Bildausschnittes (GfA MKI-Format)
- Bildausschnitt (GfA SGET-Format)
- k-min (GfA MKF-Format)
- k-max (MKF)
- n-min (MKF)
- n-max (MKF)
- propability (MKF)
- exponent (MKI)
- x-start (MKI)
- y-start (MKI)
- x-len (MKI)
- y-len (MKI)
- colors (MKI)
MKI's sind von GfA-Basic zu Strings konvertierte 2 Byte-Integers,
MKF's sind von GfA-Basic zu Strings konvertierte Reals, und zwar in ein
GfA-Basic-eigenes 6-Byte langes Format. Hinter allen Zahlen folgt eine
Zeilenende-Kennung in Form von "