Bezeichnung
ccontext:Arc -- Fügt einen zunehmenden Bogen zum aktuellen Pfad hinzu
Übersicht
ccontext:Arc(xc, yc, radius, angle1, angle2)
Beschreibung
Fügt dem aktuellen Pfad einen Kreisbogen mit dem angegebenen radius hinzu. Der Bogen ist bei (xc, yc) zentriert, beginnt bei angle1 und verläuft in Richtung zunehmender Winkel, um bei angle2 zu enden. Wenn angle2 kleiner als angle1 ist, wird er schrittweise um 2*#PI erhöht, bis er größer als Winkel1 ist.

Wenn ein aktueller Punkt vorhanden ist, wird dem Pfad ein erstes Liniensegment hinzugefügt, um den aktuellen Punkt mit dem Anfang des Bogens zu verbinden. Wenn diese Anfangslinie unerwünscht ist, kann sie vermieden werden, indem ccontext:NewSubPath() vor dem Aufruf von ccontext:Arc() aufgerufen wird.

Winkel werden im Bogenmaß gemessen. Ein Winkel von 0,0 liegt in Richtung der positiven X-Achse (im Benutzerbereich). Ein Winkel von #PI/2,0 Bogenmaß (90 Grad) liegt in Richtung der positiven Y-Achse (im Benutzerbereich). Die Winkel nehmen in Richtung von der positiven X-Achse zur positiven Y-Achse zu. Bei der Standardtransformationsmatrix nehmen die Winkel also im Uhrzeigersinn zu.

Um von Grad in Bogenmaß umzurechnen, verwenden Sie Grad * #PI / 180.

Diese Funktion gibt den Bogen in Richtung zunehmender Winkel an. Sehen Sie sich ccontext:ArcNegative() an, um den Bogen in Richtung abnehmender Winkel zu erhalten.

Der Bogen ist im Benutzerbereich kreisförmig. Um einen elliptischen Bogen zu erhalten, können Sie die aktuelle Transformationsmatrix um unterschiedliche Beträge in X- und Y-Richtung skalieren. Zum Beispiel, um eine Ellipse in das durch x, y, width, height gegebene Feld zu zeichnen:

 
ctx:Save()
ctx:Translate(x + width / 2, y + height / 2)
ctx:Scale(width / 2, height / 2)
ctx:Arc(0, 0, 1, 0, 2 * #PI)
ctx:Restore()

Eingaben
xc
X Position des Mittelpunkts des Bogens
yc
Y Position des Mittelpunkts des Bogens
radius
der Radius des Bogens
angle1
der Startwinkel im Bogenmaß
angle2
der Endwinkel im Bogenmaß

Navigation zeigen