APPLICATIONSCREATION GRAPHIQUE ★ KOMPLEXE ZAHLENFOLGEN|CPC AMSTRAD INTERNATIONAL) ★

Das Software-Experiment - Teil 1: Komplexe GrafikDas Software-Experiment - Folge 2: Das Spiel des Lebens
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Nicht nur in der Arbeitswelt erzeugt die moderne Computertechnik revolutionäre Veränderungen. Auch den Wissenschaftlern und Künstlern stehen in zunehmendem Maße Hilfsmittel zur Verfügung, deren Möglichkeiten sich heute noch gar nicht vollständig abschätzen lassen.

So ist es zum Beispiel mit dem Hochleistungs-Computer CRAY X-MP möglich geworden, die Entstehungsgeschichte unseres Universums zu rekonstruieren und auf einem Bildschirm grafisch darzustellen. Wer schon einmal mit der Differentialgleichung zu tun hatte, die die Bewegung nur eines Planeten um die Sonne beschreibt, kann ermessen, welchen Rechenaufwand ein Projekt erfordert, das die Wechselwirkungen zwischen einer wahrhaft astronomischen Anzahl von Himmelskörpern berücksichtigt.

Der Wissenschaftler früherer Zeiten, der praktisch nur über den Rechenschieber und die Logarithmentafel als Werkzeug verfügte, wäre damit hoffnungslos überfordert gewesen. Erst durch die Mikroelektronik ist es möglich geworden, komplizierte mathematische oder physikalische Systeme durch Simulationen experimentell zu erforschen. Besonders bemerkenswert ist dabei, daß die Ergebnisse dieser Experimente nicht nur in abstrakter Form als Zahlen oder Gleichungen vorliegen, sondern teilweise faszinierende Bilder ergeben. Wie ein Fernrohr oder ein Mikroskop erlaubt der Computer Einblicke in Welten und Dimensionen, die dem menschlichen Auge sonst verschlossen blieben. Mathematisch-logische Strukturen werden sichtbar, erscheinen als Farben und Formen auf dem Bildschirm, können experimentell und spielerisch verändert werden - kein Wunder also, daß die lange Zeit als trocken verschrieene Mathematik enorm an Attraktivität gewonnen hat. Nicht nur Künstler entdecken hier neue Motive und Ausdrucksmöglichkeiten - auch Jugendliche entwickeln zunehmend ein lebhaftes Interesse an dieser Wissenschaft, die erst durch das Medium Computer im wahrsten Sinne des Wortes anschaulich geworden ist.

In der Serie "Das Software-Experiment" werden wir uns mit einigen besonders interessanten Aspekten dieser Entwicklung beschäftigen und schwerpunktmäßig die Themen experimentelle Mathematik, Simulationen und künstliche Intelligenz behandeln. Zwar verfügt der CPC nicht über die Kapazität eines CRAY-Rechners, doch das wird uns nicht daran hindern, mit Hilfe verschiedener Programme einige der neuen Möglichkeiten auszuloten.

Als erstes Software-Experiment soll ein Programm vorgestellt werden, das mit einer relativ einfachen mathematischen Formel eine Vielzahl verblüffender Bilder erzeugt, die unter dem Namen "Chaos-Grafik" oder "Apfelmännchen" bereits für einiges Aufse-

hen gesorgt haben. Doch wir wollen es nicht dabei belassen, Programme zu veröffentlichen und die Bedienung zu erklären - diese Serie soll auch Grundlagen vermitteln, Hintergründe erhellen und Anregungen für eigene Experimente geben.

Die "Apfelmännchen-Grafiken" entstehen durch die bildliche Darstellung der Eigenschaften komplexer Zahlenfolgen - was sind überhaupt komplexe Zahlen? Wie ist es möglich, daß eine mathematische Formel Strukturen erzeugt, die durch ihre "geordnete Unregelmäßigkeit" fast schon organischen Charakter haben? Um der Antwort auf diese Fragen näher zu kommen, beginnen wir mit einem kleinen Ausflug in die Arithmetik, die Theorie der Zahlen:

Herr Ober, bitte Zahlen!

Am Anfang der Entwicklung des Zahlbegrifles standen die natürlichen Zahlen 1, 2, 3,... "Natürlich" wohl deshalb, da sie nicht aus theoretischen Überlegungen entstanden, sondern direkt aus der Anschauung. Der Urmensch trat aus seiner Höhle und begann zu zählen: "1 Säbelzahntiger, 2 Säbelzahntiger..." - nun, wenn auch vielleicht nicht genauso, aber so ähnlich müssen die natürlichen Zahlen entstanden sein. Und für viele Zwecke reichen sie wirklich aus! Wir können sie addieren oder multiplizieren, und das Ergebnis wird wieder eine natürliche Zahl sein. Der Bereich der natürlichen Zahlen ist also hinsichtlich dieser Operationen abgeschlossen, wie der Mathematiker sagt.

Probleme tauchen jedoch auf, wenn wir subtrahieren oder dividieren wollen. Manchmal geht es gut, aber manchmal auch nicht, wie die Gleichung x + 5 — 3 zeigt: sie hat im Bereich der natürlichen Zahlen keine Lösung. Ein unbefriedigender Zustand - und so erfanden die Menschen die negativen Zahlen, um sie mitsamt der Null zur Menge der ganzen Zahlen zusammenzufassen, oder um es im Computerlatein auszudrücken: Die Integerzahl war geboren. Aber gleichzeitig hatte der Mensch damit auch den Bereich der Anschauung verlassen. Die negativen Zahlen stellen abstrakte Gebilde dar, mit denen sich zwar gut rechnen läßt, die aber unser Vorstellungsvermögen bereits auf eine harte Probe stellen. So gab es zum Beispiel während meiner Studienzeit einen Mathematikdozenten, der wegen seiner miserablen Vorlesungen sehr unbeliebt war. Im Laufe des Semesters schmolz sein Publikum zusehends zusammen, bis eines Tages nur noch kümmerliche drei Studenten anwesend waren - und um es kurz zu machen: Die Vorlesung war wieder dermaßen unverständlich, daß insgesamt fünf von ihnen fluchtartig den Raum verließen. "So", sagte der Prof mit finsterer Miene, "wenn jetzt noch zwei reinkommen, dann ist keiner mehr da!"

Negative Zahlen sind also irgendwie doof, wie es einer meiner Nachhilfeschüler einmal kurz und bündig zum Ausdruck brachte, aber sie sind auch praktisch, und haben sich deshalb bis heute halten können. Das gleiche gilt sicherlich auch für die rationalen Zahlen, die Menge der Brüche, mit deren Hilfe man problemlos fünf Kühe auf sieben Bauernhöfe verteilen kann - theoretisch zumindest -, aber leider sind damit noch längst nicht alle Probleme beseitigt. Man kann nämlich sehr einfach und schlüssig nachweisen, daß sich die algebraische Gleichung

x² = 2

nicht durch einen Bruch lösen läßt. Angenommen, es wäre so, so müßte sich x in der Form p/q darstellen lassen, wobei wir jetzt voraussetzen wollen, daß dieser Bruch bereits so weit wie möglich gekürzt wurde, p und q sind damit teilerfremd, und daran ändert sich auch nichts, wenn wir den Bruch quadrieren. Andererseits erhalten wir nach dem Einsetzen die Aussage

p²/q² = 2 

Das Ergebnis kann aber nur 2 lauten, wenn sich der Bruch kürzen läßt, was im Widerspruch zu unserer Annahme steht, sie muß deshalb falsch sein. Also blieb den Mathematikern nichts anderes übrig, als für diesen und ähnliche Fälle neue Zahlen zu erfinden, die irrationalen Zahlen. Was bedeutet aber eigentlich irrational? Nehmen wir also ein Fremdwörterlexikon zur Hand, und dort finden wir wahrhaftig "mit dem Verstände nicht erfaßbar, gefühlsbetont, triebhaft". Sie merken schon - jetzt wird's gefährlich! Zwar habe ich persönlich an der Wurzel aus 2 noch keine triebhaften Züge entdeckt, doch den Mathematikern müssen diese Zahlen irgendwie unheimlich gewesen sein, denn sie wurden flugs mit den rationalen Zahlen zur Menge der reellen Zahlen vereint, die Sie auf dem CPC als "REAL-Typ" wiederfinden. "Reell" heißt soviel wie "realisierbar, einwandfrei, anständig", Sitte und Ordnung sind also wieder hergestellt und man könnte sich jetzt in Ruhe anderen Dingen zuwenden, wenn es da nicht noch ein kleines Problem gäbe:

x² = -1

Das ist wirklich eine harte Nuß: Welche Zahl ergibt mit sich selbst multipliziert -1? Mit den reellen Zahlen kommt man keinen Schritt weiter, und auch unser schlauer CPC ist hier überfordert:

PRINT SQR(-1)

entlockt ihm nur ein ratloses "Improper Argument". Doch an dieser nahezu unüberwindlichen Schwelle wagten die Mathematiker einen mutigen Schritt. "Gut", sagten sie sich, "wir kennen die Lösung nicht, aber wir wollen einfach mal annehmen, daß eine existiert", und nannten diese geheimnisvolle Zahl "i", für die definitionsgemäß gilt

i*i = -1

Der Buchstabe i steht für "imaginär"  (scheinbar, unwirklich), ein treffender Name für eine absolut abstrakte Zahl, die keine Entsprechung mehr in der Wirklichkeit hat.

Doch wie Versuche zeigen, kann man mit der imaginären Zahl alle gewohnten Rechenoperationen durchführen, ohne das es zu Widersprüchen kommt; die Erweiterung des Zahlbegriffs ist damit zumindest formal in Ordnung. Insbesondere ist es möglich, die Zahl i durch Addition oder Multiplikation mit reellen Zahlen zu verknüpfen, wodurch Gebilde wie etwa 3+2*i entstehen, oder in allgemeiner Form

c=x+y*i

Solche Zahlen c, die aus einer reellen Zahl und einem Vielfachen der imaginären Grundeinheit zusammengesetzt sind, nennt man komplexe Zahlen. Dem berühmten Mathematiker Gauß ist der Nachweis zu verdanken, daß damit unser Zahlensystem endgültig abgeschlossen ist, jede algebraische Gleichung hat also zumindest eine komplexe Lösung. Es fragt sich nur, warum man sich überhaupt mit solchen Hirngespinsten beschäftigen soll, die auf den ersten Blick nicht den geringsten praktischen Wert haben. Doch ähnlich wie die negativen Zahlen stellen die komplexen Zahlen trotz ihrer Unanschaulichkeit für manche physikalischen oder mathematischen Problemstellungen ein sehr effektives Werkzeug dar. So lassen sich zum Beispiel einige Differentialgleichungen wesentlich einfacher lösen, wenn man von vornherein bestimmte Variablen als komplexe Zahlen betrachtet. Nicht umsonst stellen höhere Programmiersprachen für wissenschaftliche Anwendungen (z.B. FORTRAN) neben INTEGER und REAL auch den Variablentyp COMPLEX zur Verfügung.

Obwohl das Schneider-Basic keine Anweisung wie DEFCOMPLEX kennt, kann man jedoch auch mit dem CPC in die Gefilde der höheren Mathematik vordringen. Jede komplexe Zahl c=x+y*i läßt sich nämlich durch ein ganz normales Zahlenpaar darstellen, wobei die eine den Realteil und die andere den Imaginärteil repräsentiert:

Re(c) = x, Im(c) = y

Indem wir den Rechner die Komponenten separat bearbeiten lassen, ersparen wir ihm die ominöse Wurzel aus -1, die j a sofort einen Error auslösen würde.

Solch ein Zahlenpaar läßt sich natürlich hervorragend in einem Koordinatensystem darstellen, wobei die x-Achse der reellen Zahlengeraden und die y-Achse der imaginären Geraden entspricht. Zeichnet man vom Ursprung des Koordinatensystems einen Pfeil bis zu dem Punkt, der die komplexe Zahl repräsentiert, so kann man sich noch veranschaulichen, was man unter dem Absolutbetrag dieser Zahl versteht: Er ist identisch mit der Länge des Pfeils, die mit dem Satz des Pythagoras berechnet wird: L2 = X2 + Y2 Auf diese Weise ist es sogar möglich, komplexen Zahlen eine Art Größe zuzuordnen, die für die Apfelmännchen-Grafik noch eine wichtige Rolle spielen wird.


Chaos im Computer


Ordnung ist das halbe Leben, so sagt ein Sprichwort - und Unordnung die andere Hälfte, ergänzt der erfahrene Programmierer, der nach intensiver Suche die Systemdiskette zwischen ein paar alten Listings im Papierkorb wiederfindet. Doch Schreck beiseite: Heutzutage macht sich in den Naturwissenschaften mehr und mehr die Überzeugung breit, daß hochkomplizierte Strukturen wie lebende Organismen nur durch das Zusammenspiel von Ordnung und Chaos, von Gesetz und Zufall entstehen konnten. Und diese Theorie wird insbesondere durch die Ergebnisse einiger Computersimulationen gestützt! Die exakten Naturgesetze geben der Welt einen festen Rahmen. Sind alle Anfangsbedingungen eines Systems bekannt, so kann man mit ihrer Hilfe zumindest theoretisch in allen Einzelheiten berechnen, was passieren wird. Doch die moderne Physik hat nachgewiesen, daß im Bereich der Elementarteilchen Abläufe stattfinden, die unbestimmt sind, und über die höchstens statistische Aussagen gemacht werden können. Unsere Welt besitzt also einen eingebauten Zufallsgenerator, der zuverlässig verhindert, daß sie in gleichbleibenden Mustern stagniert Jeder Spiele-Programmierer weiß die RND-Funktion seines Computers zu schätzen, den vorprogrammierten Unbestimmtheitsfaktor, der für Abwechslung und Spannung sorgt. Bei Bedarf produziert er eine Folge von Zahlen, denen beim besten Willen kein System mehr anzusehen ist - und trotzdem handelt es sich nicht um echten Zufall, sondern nur um eine sehr gute Simulation! Natürlich kann ein Computer sich nicht intuitiv Zahlen ausdenken, sondern muß sie auf irgendeine Weise berechnen. Eine Folge von Pseudo-Zufallszahlen wird im allgemeinen iterativ erzeugt, d.h. jede Zahl entsteht aus der vorherigen durch ein bestimmtes Büdungsgesetz, das allerdings vom Betrachter kaum nachzuvollziehen ist - es sei denn, er schaut sich im ROM-Listing um. Eine einfache Rechenoperation wie das Quadrieren der Zahl reicht hier natürlich nicht, das Bildungsgesetz wäre noch zu offensichtlich. Wesentlich mehr "künstliches Chaos" entsteht schon, wenn man zusätzlich noch die erste Zahl der Folge als konstanten Wert subtrahiert, wie das folgende Kurzprogramm zeigt:

10 xstart=1.5:x=xstart
20 x=x*x-xstart: PRINT x
30 GOTO 20

Obwohl die recht strengen Kriterien für "professionelle" Zufallsgeneratoren durch dieses einfache System noch nicht erfüllt sind, ist das Ergebnis schon recht beachtlich, und es wird noch interessanter, wenn wir die gleiche Iterationsvorschrift auf komplexe Zahlen anwenden. Um das Gesetz noch einmal exakt zu formulieren: Wenn die komplexe Zahl C der Startwert ist,

C1 = C

dann berechnen wir alle weiteren Zahlen nach der Vorschrift

Cn+1 = Cn2-C

So einfach sich dieses System auch darstellen läßt - in der Praxis bedeutet es einige Rechnerei. Das Quadrat einer komplexen Zahl muß mit Hilfe der binomischen Formel ermittelt werden:

c² = (x + yi)²

— x² + 2xyi + y²i²

Da i*i = -1 ergibt, können wir noch vereinfachen,

c² = x² + 2xyi - y2

und dann Real- und Imaginärteil trennen,

Re(c²) = x2² - y²

Im(c²) = 2xy

womit deutlich wird, daß diese Operation insgesamt eine Subtraktion und vier Multiplikationen erfordert. Das Subtrahieren zweier komplexer Zahlen ist glücklicherweise etwas weniger 
aufwendig; hier werden einfach die Real- und Imaginärkomponenten der beiden Zahlen separat voneinander abgezogen.

Um zu verstehen, wie diese Rechenoperationen das Apfelmännchen und Konsorten erzeugen, sollten Sie sich zunächst das Programm "Komplexe Folgen" vornehmen. Nach dem Pro-grammstart erscheint auf dem Bildschirm ein Koordinatenkreuz, das durch die reale und imaginäre Achse der Zahlenebene gebildet wird. Zusätzlich ist ein Kreis und ein kleiner heller Punkt zu sehen, der mit den Cursortasten gesteuert wird und den Startwert repräsentiert. Oben links werden Real- und Imaginärteil des augenblicklichen Standortes angezeigt.

Wenn Sie nun mehrmals die Leertaste drücken, berechnet das Programm nach deroben angegebenen Methode die jeweils nächste Zahl der Folge und zieht eine Linie zur neuen Position. Je nach Startwert ergibt sich ein wilder Zickzack-Kurs, der allerdings beendet wird, wenn das Abbruchkriterium

x² + y² >= 8 

erfüllt ist, also eine Zahl der komplexen Folge außerhalb des Kreises mit dem Radius SQR(8) liegt. Mit DEL können Sie das Programm neu starten und einen anderen Anfangswert probieren.

Die Ergebnisse dieser Experimente können sehr verschieden ausfallen. Einige Folgen verlassen schon nach wenigen Iterationen den Kreis, andere erst nach vielem Hin und Her (probieren Sie 0.24/-0.64!), und manche, deren Anfangswert nahe genug bei 0 liegt, rennen sich fest und erreichen nie das Abbruchkriterium. Alles in allem zeigen die komplexen Folgen also ein recht chaotisches Verhalten, und genau das wollten wir ja auch erreichen. Doch jetzt der Clou: Eines Tages kam der Mathematiker Benoit Mandelbrot im IBM Research-Center New York auf die geniale Idee, die Punkte der komplexen Zahlenebe-ne einzufarben, und zwar in Abhängigkeit von der Iterationstiefe bis zum Abbruch - und er staunte nicht schlecht, als er das Ergebnis sah: Das erste Apfelmännchen war geboren! Die feinen Strukturen am inneren Rand der Figur hielt er übrigens zunächst für Unschärfen, erzeugt durch Rundungsfehler. Erst die Berechnung vergrößerter Ausschnitte förderte die erstaunliche Tatsache zu Tage, daß diese Grafik eine unendliche Anzahl von kunstvollen Unterstrukturen enthält. Bemerkenswert ist weiterhin, daß sich die Grundmuster in verkleinerter Form an verschiedenen Stellen der Grafik wiederholen. Der große Zusammenhang spiegelt sich im Kleinen wieder - ein wichtiger Grundgedanke der Esoterik und anderer ganzheitlich orientierter Philosophien, der in diesen Bildern auf verblüffende Weise seinen Ausdruck findet.

Kommt Zeit, kommt Grafik

Wie wird die komplexe Grafik nun auf dem CPC realisiert? Gehen wir von den technischen Voraussetzungen aus: Der Grafikbildschirm stellt ebenfalls ein Koordinatensystem dar, das in MODE 1 ingesamt 320*200 Bildpunk-te enthält. Wenn wir einen Bereich der komplexen Zahlenebene auswählen und auf den Bildschirm projizieren, entspricht jeder Punkt einer Zahl. Für ein komplettes Bild müssen also 64000 Folgen berechnet werden, für jede Folge abhängig von der Iterationstiefe einige -zig komplexe Zahlen, und das auch noch in der zeitaufwendigen Fließkomma-Arithmetik. Es i^t also leicht einzusehen, daß der Zeitaufwand für ein Bild mehrere Stunden betragen kann. Abhilfe würde hier nur eine verbesserte Hardware schaffen, z.B. ein schneller Arithmetik-Kopro-zessor.

Insgesamt stehen in MODE 1 vier Farben zur Verfügung. Wenn das Programm die Rcchcntiefe bis zum Abbruch der Folge ermittelt hat, wird der Punkt nach folgender Formel eingefärbt:

farbe = tiefe MOD 4

Wie wir gesehen haben, gibt es allerdings auch Folgen, die nie das Abbruchkriterium erreichen. Deshalb wird von vornherein eine maximale Tiefe als feste Grenze festgelegt, damit sich das Programm nicht in einer Endlosschleife verfängt. Die Berechnungsroutine für das Programm "komplexe Grafik" wurde in  Maschinensprache geschrieben, um eine möglichst hohe Geschwindigkeit zu erreichen. Da man in den DATA-Zeilen den Algorithmus kaum wiedererkennen kann, ist noch ein kleines Basic-Listing beigefügt, das bis auf leichte Modifikationen bei der Farbgebung dem Maschinenprogramm entspricht. Für den praktischen Einsatz wäre es allerdings viel zu langsam.

Und jetzt zur Bedienung: Nach dem Programmstart erscheint auf dem Bildschirm ein kleines Menuefenster. Es handelt sich um ein echtes "Pull Down-Menue", das man jederzeit mit Hilfe der ENTER-Taste aufrufen oder verschwinden lassen kann, ohne daß die Grafik zerstört wird. Die einzelnen Menuepunkte werden mit Hilfe eines Pointers angewählt, der mit den Cursortasten und bewegt wird. Die COPY-Taste aktiviert die Funktion, auf die der Pointer zeigt Um das "Apfelmännchen" als Grundlage für weitere Bilder zu erzeugen, wählen Sie am besten direkt den Punkt "Zeichnen" an. Danach will das Programm noch die maximale Iterationstiefe wissen; geben Sie hier den Wert 30 ein und drücken ENTER. Der CPC wird sich daraufhin etwa eine Stunde lang mit dem Bild beschäftigen. Wenn er fertig ist, erscheint wieder das Menuefenster, und Sie können mit der Funktion "Speichern" die Grafik nach Eingabe eines Dateinamens auf Kassette oder Diskette sichern. An den Namen hängt das Programm noch die Erweiterung "PKT (Picture) an, um das Binärfile als Bilddatei zu markieren. Auch beim Laden wird diese Kennzeichnung nicht mit eingegeben! Bei Diskettenbetrieb sollte man sich unbedingt davon überzeugen, daß der Name korrekt ist und sich wirklich eine Diskette im Laufwerk befindet, da sonst das Bild durch die Fehlermeldung zerstört wird. Wer will, kann noch zur Sicherheit die in CPC International 1/86, S. 67 vorgestellte Fehlerabfangroutine an geeigneter Stelle einfügen. Beim Speichern werden übrigens alle wichtigen Bilddaten (Farben, Koordinaten, Tiefe) mit aufgezeichnet Ein Trick erspart hier zusätzliche Parameterdateien: Die Werte stehen nämlich in einem nicht sichtbaren Bereich des Bildschirmspeichers! Nach dem Laden werden sie dann wieder gelesen und korrekt eingestellt Dadurch ist es sogar möglich, ein unvollständiges Bild abzuspeichern und bei Gelegenheit weiterzeichnen zu lassen. Der Abbruch erfolgt mit ENTER, der CPC reagiert allerdings erst, wenn er mit der aktuellen Rasterzeile fertig ist, was mitunter etwas dauern kann. Eine unvollständige Grafik im Speicher wird vom Programm automatisch erkannt: nach Anwahl von "Zeichnen" setzt es sein Werk fort, ohne vorher dumme Fragen zu stellen. Der Menuepunkt "Farben" ermöglicht es, mit Hilfe der Cursortasten und die vier Farbstifte (PEN) anzusteuern und dann mit den Tasten bzw. die dazugehörige Farbe (INK) zu ändern. Angezeigt wird dabei laufend die Nummer der Farbe - siehe CPC-An-leitungsbuch. Mit ENTER kommen Sie zurück ins Hauptmenue. Die Funktion "Ausschnitt" bietet die Möglichkeit, einen bestimmten Bereich der komplexen Zahlenebene herauszugreifen, um ihn entsprechend vergrößert zeichnen zu lassen. Wenn sich bereits ein Bild im Speicher befindet, so wird ein Rechteck auf dem Bildschirm erscheinen, das Sie mit den Cursortasten herumwandern lassen können. Für die Feinabstimmung sind die Cursortasten plus SHIFT bzw. CTRL zuständig; auf diese Weise wird die obere linke bzw. untere rechte Ecke des Ausschnitts pixelweise verschoben.

Auch die Form und Größe des Rechtecks kann damit beliebig verändert werden, es empfiehlt sich jedoch, ein Seitenverhältnis zu wählen, das ungefähr dem Bildschirmformat entspricht, damit beim Zeichnen nicht zu starke Verzerrungen entstehen. Wer sich für die Koordinaten des Ausschnitts interessiert, kann die Werte einfach mitCOPY abrufen; eine beliebige Taste läßt sie wieder vom Bildschirm verschwinden. Mit ENTER wird die Wahl des Ausschnitts abgeschlossen, und das Menue erscheint. Wenn Sie den Punkt "Ausschnitt" anwählen, ohne daß sich ein Bild im Speicher befindet, ergibt das Rechteck natürlich keinen Sinn. Das Programm erwartet in diesem Fall von Ihnen, daß Sie den Bereich durch die Eingabe von vier Zahlen bestimmen:

  • linker Rand
  • rechter Rand
  • oberer Rand
  • unterer Rand

ENTER ohne eine Eingabe führt auch hier zurück ins Hauptmenue. Der Programmteil "Zeichnen" erzeugt immer den zuletzt eingestellten Ausschnitt Wenn Sie nach dem Programmstart keinen Bereich vorgeben, wird, wie bereits erwähnt, automatisch das "Apfelmännchen" mit folgenden Koordinaten gemalt:

  • links -0.7
  • rechts 2.1
  • oben 1
  • unten -1

Wenn das Programm ein neues Bild zeichnet, so wird das alte Bild einfach überschrieben. Es bleibt also noch auf dem Bildschirm, es sei denn, sie wählen zunächst den Punkt "Löschen". Diese Funktion löscht das Bild, nicht aber einen vorher eingestellten Ausschnitt!

Für das nächste Bild sucht man sich natürlich am besten einen Bereich aus, der schon von vornherein eine interessante Struktur erkennen läßt. Von den Vergrößerungen kann man natürlich weitere Ausschnitte zeichnen lassen und auf diese Weise immer weiter in Bilddetails vordringen - soweit die Rechengenauigkeit des CPC reicht.

Insbesondere der innere Rand des Apfelmännchens gibt allerhand her. Wenn Sie nach Wahl des Menue-punktes "Zeichnen" eine größere Rechentiefe vorgeben (maximal 255), kommen noch weitere Formen zum Vorschein: Je größer die Tiefe, um so mehr Strukturen kann das Programm noch erfassen. Allerdings steigt damit auch die Rechenzeit für ein komplettes Bild enorm an und kann sich bis auf mehrere Stunden ausdehnen. Etwas Geduld braucht man also schon für dieses Abenteuer im Land der komplexen Zahlen!

Hast du Töne?

Vom Funktionenplotter bis zur komplexen Grafik reicht die Palette der Programme, die auf Heimcomputern mathematische Strukturen sichtbar, machen. Doch sollte es nicht möglich sein, sie auch hörbar zu machen, d.h. aus Formeln interessante Klänge oder Tonfolgen zu erzeugen? Der CPC verfügt über einen Soundchip, der für solche Experimente im Prinzip gut geeignet ist. Doch bisher liegt in dieser Richtung kaum Material vor. Deshalb ein Aufruf und eine Bitte an unsere Leser: Wenn Sie zu diesem Thema eine Idee haben oder ein Programm schreiben wollen, schicken Sie uns das Ergebnis zu! Wohlgemerkt - wir erwarten keine Super-Synthesizer-Program me: wertvoll sind auch schon interessante Ansätze, die dann vielleicht im Rahmen eines Leserprojekts weiterentwickelt werden können. Legen Sie bitte nur eine Beschreibung des Algorithmus bei und schildern Sie mit ein paar Worten, wie die Idee entstanden ist. Längere Beiträge und Programme werden natürlich bei Abdruck wie üblich honoriert.

Bei entsprechender Resonanz werden wir demnächst eine Folge dieser Serie dem Thema "mathematische Klänge" widmen - doch ob es dazu kommt, hängt auch von Ihnen ab !

Berechnungsroutine in Basic:

Übergabeparameter: xl = linker Rand des Ausschnitts

  • xr = rechter Rand
  • yo = oberer Rand
  • yu = unterer Rand
  • tm = maximale Iterationstiefe

CPCAI 8607

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LICENCE: LISTING
★ AUTOR: Matthias Uphoff
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Transmod (Amstar&CPC)
» Applications » Sprite Handler/Sprite Definer (CPC Computing)
» Applications » Super Sprites
» Applications » Graph-it: Game for a Graph
» Applications » Des graphiques réutilisables
» Applications » Computer - Aided - Designer (CPC Amstrad International)

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 074 millisecondes et consultée 719 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.