C 64 + SB
Tips & Tricks

Haben Sie den Bogen raus?

Wenn Sie mit Hilfe von Simons Basic Halb- und Viertelkreise, sowie Rauten, Dreiecke, Fünfecke und so weiter zeichnen wollen, müssen Sie den ARC-Befehl völlig durchschaut haben. Um aber den ARC-Befehl wirklich zu verstehen, sollte man mit CIRCLE beginnen.

Wie Sie wissen, gehen wir bei HIRES von einem Grid aus, das aus 64000 Einzelpunkten besteht. Da das »erste« beim C 64 immer Null heißt, lauten die Adressen:
waagerecht (x-Achse): 0 - 319
senkrecht (y-Achse): 0 -199

Bei HIRES/MULTI hingegen ist jeder der 32000 Punkte doppelt so breit, so daß die Adressen (x-Achse) dann 0 - 159 lauten.

Als erstes brauchen wir die Koordinaten x, y, welche den Mittelpunkt des Kreises bestimmen. Laut Handbuch von Simons Basic stellt der »Kreis eine Sonderform der Ellipse dar«, so daß der CIRCLE-Befehl auch für »ovale Kreise« benutzt werden kann. Daher müssen wir zwei Radien angeben (das ist eine gedachte Linie vom Kreismittelpunkt zum Kreisrand), und zwar einen waagerechten (x1) und einen senkrechten (y1). Somit sieht das Format nun so aus:
CIRCLE x,y,x1,y1,…

Aber, nach y1 fehlt noch eine Angabe. Wir haben noch nicht gesagt, wie die Figur gezeichnet werden soll! Es gibt drei Möglichkeiten:

  1. Hintergrundfarbe (zum Beispiel wenn wir in einen Block nachträglich hineinzeichnen möchten),
  2. Zeichenfarbe (bei HIRES nur eine, bei MULTI können wir unter drei wählen), oder
  3. Invertiert (das heißt: wo bereits ein Punkt gesetzt ist, zum Beispiel durch eine mit PAINT gefüllte Fläche, wird jetzt gelöscht; wo keiner ist, wird einer gesetzt).

Der Parameter, der die Entscheidung über den Zeichenmodus trägt, heißt: Zeichentyp. Die Tabelle (Bild 1) faßt alle möglichen Zeichentyp-Zahlen zusammen. Jetzt ist unser CIRCLE-Befehl vollständig:
CIRCLE x,y,x1,y1,ZT

Bild 1. Tabelle/Zeichentyp:HIRES + MULTI

Wenn Sie ein wenig herumprobieren, dann werden Sie feststellen: Um einen »richtigen« Kreis zu bekommen, muß bei HIRES x1 gleich y1 sein! Da bei MULTI jeder Punkt doppelt so breit ist, muß der x-Radius (x1) die Hälfte von y1 betragen.

Nun wollen wir mit dem Experimentieren anfangen. Als erstes ein START-Programm:
10 COLOUR 14,14: HIRES 0,14
(Jetzt wird mit schwarz auf hellblau gezeichnet.)
15 REC 0,0,319,199,1

Dieses REChteck zeichnet einen Rahmen um den gesamten Bildschirm.

Aber noch können wir nichts sehen, weil das Bild zu schnell verschwindet. Testen Sie dies einmal durch RUN. Deshalb gebe ich von Anfang an immer eine Programmzeile mit höherer Nummer ein:
90 WAIT 653,2

Dies ist ein normaler C 64-Befehl; er bewirkt ein Warten, bis jemand die CBM (C=)-Taste drückt. Durch diesen Befehl können Sie Ihre derzeitigen Versuche immer am Bildschirm betrachten und dann am Programm weiterarbeiten! Wenn Sie jetzt noch einmal RUN eintippen, dann sehen Sie das Rahmen-REC! Jetzt können wir weitermachen:
20 CIRCLE 159,99,50,50,1

Bitte versuchen Sie, ehe Sie jetzt RUN eintippen, vor Ihrem geistigen Auge sich vorzustellen, was gleich zu sehen sein wird. Erstens: Wo ist der Kreis? Zweitens: Ist es ein »richtiger« Kreis oder eine Ellipse? Wenn Sie sich ein »Bild« machen können, dann erst durch RUN Ihren Eindruck überprüfen:

Aha! Es ist ein Kreis in der Mitte des Bildschirms. Da wir HIRES mit gleichen Längen bei x1 und y1 haben, ist es ein »echter« Kreis.

Jetzt probieren Sie bitte weiter:

  1. Verlängern Sie x1, das heißt den waagerechten Radius! Resultat: Ein »Kreis«, der breiter wird, also eine waagerechte Ellipse!
  2. Verlängern Sie y1, machen Sie also eine senkrecht stehende Ellipse daraus!

Jetzt geben Sie in Zeile 10 noch einen Doppelpunkt plus MULTI 0,6,0 ein.
Frage: Was wird mit unserem Rahmen-REC passieren, nachdem wir auf MULTI umgeschaltet haben? Bitte testen Sie dies durch RUN!

Da wir bei MULTI ja nur 160 doppelt so breite Punkte wie bei HIRES haben und da der letzte Punkt auf der x-Achse 159 heißt: Wie muß jetzt der REC-Befehl verändert werden, damit Sie wieder einen kompletten Rahmen erhalten?

Richtig: 319 muß in 159 umgewandelt werden.

Lassen Sie jetzt beide CIRCLE-Kombinationen von oben nochmal mit MULTI laufen: Die erste ergibt natürlich keinen »richtigen« Kreis mehr, denn 50 Punkte auf jeder Achse bedeuten ja 50 doppeltbreite Punkte bei x1, daher muß dies zu einer Ellipse führen!

Da die Erklärungen für ARC davon ausgehen, daß Sie den CIRCLE-Befehl voll und ganz verstanden haben, sollten Sie im Zweifelsfall noch ein wenig herumspielen, ehe Sie weiterlesen!

ARC heißt »Bogen« (vgl. ARC de Triomphe in Paris: Triumph-Bogen). Der ARC-Befehl zeichnet verschiedene Figuren, deren Außenlinie wirals Bogen verstehen müssen. Beginnen wir mit einem Kreis:

Als erstes brauchen wir x,y (wie bei CIRCLE). Als nächstes müssen wir zwei Angaben machen, die beim CIRCLE-Befehl bereits »eingebaut« sind, nämlich zwei Winkelangaben:

  1. einen START-Winkel und
  2. einen END-Winkel.

Wir beginnen unser Experiment mit den bei CIRCLE automatisch festgelegten Werten, nämlich

  1. START-Winkel gleich 0
  2. END-Winkel gleich 360

Eine solche Figur wird immer eine ganze Figur werden, also in unserem Beispiel zunächst ein ganzer Kreis. Veränderungen bei START- und END-Winkel werden auch Halb- oder Viertelfiguren liefern. Aber zunächst, weiter mit SW 0 und EW 360. Bis jetzt haben wir festgelegt:
ARC x,y,SW,EW,…

Die nun folgende Zahl ist immens wichtig: Sie bestimmt den ABSTAND der einzelnen Punkte auf der Bogenlinie. Beginnen wir mit 3, das heißt alle drei Punkte »weit« wird auf unserer Bogenlinie ein Punkt gesetzt:
ARC x,y,SW,EW,3,…
Nun fehlen nur noch:

  1. Radius x-Achse (x1),
  2. Radius y-Achse (y1) sowie
  3. ZT = Zeichentyp.

Die drei Parameter kennen Sie von CIRCLE her ja sehr gut!

Somit können wir beginnen. Nehmen Sie das kleine START-Programm von vorhin. Legen Sie den MULTI-Befehl durch ein vorgeschaltetes REM vorläufig »auf Eis« und geben dann ein:
20 CIRCLE 90,99,35,35,1
25 ARC 190,99,0,360,3,35,35,1

Es folgt RUN und erhöhte Aufmerksamkeit: Denn, wiewohl beide Befehle einen Kreis zeichnen, gibt es einen wichtigen Unterschied, den Sie am Bildschirm beobachten können. Welchen?

Nun, haben Sie es gemerkt? Der ARC-Kreis wurde viel langsamer gezeichnet. Warum? Weil wir einen ABSTAND von drei gewählt hatten. Beim CIRCLE-Befehl ist nämlich ein ABSTAND von zwölf bereits »eingebaut«, deshalb ist der CIRCLE-Kreis schneller erstellt. Denn wenn jeder dritte Punkt vom Computer berechnet und gezeichnet werden muß, dann sind dies viel mehr Punkte auf der Gesamtfigur, als wenn nur jeder zwölfte Punkt gefordert wird!

Jetzt kommt ein ganz wesentliches Experiment: Bitte ändern Sie Ihr Programm um: Erstens löschen Sie den CIRCLE-Befehl, zweitens addieren Sie:
5 INPUT "ABSTAND”; AB

In Zeile 25 ändern Sie den ABSTANDs-Parameter von 3 in AB um. Spielen Sie jetzt bitte mit folgenden ABSTANDs-Zahlen:
12 (wie beim CIRCLE-Befehl)
18 (noch Kreis-artig!)
36 (noch immer ein Kreis?)
40 (Resultat?)
60 (Resultat?)
72 (Resultat?)
90 (Resultat?)
120 (Wer hätte das gedacht?)

(Bild 2 zeigt die wichtigsten ABSTANDs-Werte, zum Nachschlagen.)

Bild 2. Verschiedene Figuren per ARC-Befehl

Sie sehen also: Der ARC-Befehl ist einer der interessantesten Befehle! Aber noch immer haben wir ihn kaum zu nutzen begonnen. Nehmen wir im folgenden einen ABSTAND von 90 (Raute) und spielen ein wenig weiter. Wenn Sie also die Zeile fünf und sechs wie folgt verändern:
5 INPUT"X-RADIUS";X1
6 INPUT”Y-RADIUS”;Y1

In Zeile 25 tauschen Sie AB durch 90 aus und setzen an die Stelle von x1 den Variablen-Namen X1 und an die Stelle von y1 den Variablen-Namen Y1:
25 ARC 190,99,0,360,90,X1,Y1,1

Jetzt können Sie Rauten produzieren, die schmal und breit oder schmal und lang sind! (Bild 3)

Bild 3. Raute (senkr.) per ARC-Befehl

Aber auch das ist noch nicht alles! Geben Sie statt ABSTAND 90 mal 120 ein und probieren wieder per INPUT mit verschiedenen Radius-Zahlen!

Und zuletzt beginnen wir, die START- und END-Winkel-Zahlen zu verändern! Denn: START 0 und END 360 ergibtja eine voller Figur. Was aber, wenn Sie einen Halbkreis oder eine Halb-Raute wollen? Obere oder untere Hälfte? Waagerecht oder senkrecht »zerschnitten«? Bitte ändern Sie unser Programm ein letztes Mal:
5 INPUT”START-WINKEL’;SW
6 INPUT”END-WINKEL’;EW
25 ARC 199,90,SW,EW,12,35,35,1

ABSTAND 12 ergibt wieder einen Kreis, zwei gleiche Radien bedeuten einen »richtigen« Kreis. Wenn Sie jetzt ein Gefühl für die Möglichkeiten, welche Ihnen die START- und END-Winkel-Zahlen bieten, gewonnen haben( siehe Bild 4), dann:

  1. Verändern Sie den ABSTAND wieder (siehe Bild 5)
  2. Verändern Sie den x-Radius (x1)
  3. Verändern Sie den y-Radius (y1)
Bild 4. Halbkreise (senkr.) per ARC
Bild 5. ¾ Kreis + Halbe Raute/ARC

Dadurch, daß Sie immer nur einen Parameter verändern, bekommen Sie für jeden einzelnen dieser Parameter ein »Gefühl«; somit werden Sie den ARC-Befehl durchs Ausprobieren wirklich in den Griff bekommen!

In Verbindung mit REC für den Rahmen und Text-Befehlen, kann mit ARC in Null-Komma-Nix sogar »ernstlich« gearbeitet werden: Visitenkarten, Briefbögen, Übersichten, Einladungen (Bild 6) und so weiter. Wenn Sie einen Drucker haben, der den COPY-Befehl des Simons Basic unterstützt, oder aber mit einem Maschinenprogramm per SYS-Befehl Ihre Bildschirme auf Papier überträgt, dann steht Ihren »Fotosatz«-Experimenten nichts mehr im Wege!

(Vera F. Birkenbihl/aa)
Bild 6. Einladung zu einer Party
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →