Kreisbewegung

Einen Kreis in Basic zu zeichnen ist ja ganz einfach, um aber etwas auf einer Kreisbahn zu bewegen, benötigt schon etwas Mathematik.

Das Zauberwort dazu heißt 'trigonometrische Funktion'. Das hört sich zwar kompliziert an, ist es aber nicht. Sie haben doch bestimmt schon mal etwas von Sinus und Cosinus gehört.

Mit diesen beiden 'trigonometrischen Funktionen' lässt sich ein Gradwert (ein Kreis hat bekanntlich 360 Grad) in Koordinaten umrechnen. Dieser Satz ist zwar nicht ganz mathematisch korrekt, aber dies soll ja nur zum Verständnis beitragen.

Nun in Basic stehen uns dafür der SIN und der COS Befehl zur Verfügung. Im GFA BASIC 3.0 empfehlen sich jedoch SINQ und COSQ, da diese 10 mal so schnell wie die beiden obigen sind. Wenn Sie aber GFA BASIC 2.02 oder ein anderes Basic haben können sie auch ohne weiteres SIN und COS verwenden.

Sehen wir uns das ganze an einem Beispiel an:

DEFFILL 5,1         ! Füllmuster und Füllfarbe setzen
PCIRCLE 10,10,5       ! Einen Ausgefüllten Kreis setzen
GET 0,0,20,20,a$       ! Kreis ausschneiden und in a$ speichern
DO              ! Endlosschleife
 FOR xw=0 TO 360 Step 2   ! Ein Umlauf (volle 360 Grad)
  x=COSQ(xw)        ! X-Koordinate berrechnen
  y=SINQ(xw)        ! Y-Koordinate berrechnen
  x1%=x*xrad%       ! X-Wert ganzzahlig machen und vergrößern
  y1%=y*yrad%       ! Y-Wert ganzzahlig machen und vergrößern
  VSYNC          ! Auf Vertical Blank Interrupt warten
  PUT x1%+x%,y1%y%,a$   ! Kreis auf den Bildschirm setzen
 NEXT xw          !
LOOP             !

Beiden Änderungen der xrad%, yrad% Werte lässt sich der Kreisbahn fast beliebig verformen. Mit x% und y% können Sie den Kreis an einer beliebigen Stelle des Bildschirms setzten.

Ein Beispielprogramm finden Sie wir immer im Programme Ordner unter dem Namen 'KREIS.LST'.


SR/HH
Aus:Hitdisk disk01 /1991, Seite

Links

Copyright-Bestimmungen: siehe Über diese Seite