Bogen zwischen zwei Punlten dynamisch zeichnen

Spaceman85

Mitglied
Hallo,

ich habe zwei Punkte A(x,y) und B(x,y), diese immer unterscheidlich sein können.
Ich möchte einen Bogen zwischen den Punkten zeichnen.
Klar hier gibt es die methode drawArc() von canvas, aber ich komme mit den Winkeln nicht so ganz klar.

Leider ist Mathe schon etwas her bei mir und komme hier nicht weiter.

Es soll dan zwischen zwei Punkten maximal zwei Bögen wie auf dem beigefügten Bild gezeichnet werden.
Kann mir jemand bei diesen Problem helfen?

Danke
Spaceman85
 

Anhänge

  • bogen.jpg
    bogen.jpg
    6,4 KB · Aufrufe: 6
Naja, x,y,width und height kannst ja schon bestimmen. arcAngle ist der Kreisabschnitt (Kreisbogen) des gesamten Kreises, den du über A-B legen willst. Damit es so aussieht wie du es haben willst, brauchst du eine Krümmung von ca. 30-40 Grad, z.B. PI/10 (also PI*0,1). Mehr Winkel=mehr Krümmung. Wenn height=0, dann solltest du als startAngle -1/2*arcAngle-PI/4 wählen (damit der Kreisbogen mittig ist). Wenn width=0 dann solltest du als startAngle -1/2*arcAngle wählen. Wenn du den Bogen in die andere Richtung haben willst, musst du das Vorzeichen von arcAngle umkehren und 180° (PI) zu startAngle dazu addieren. Hilfreich ist dazu bestimmt auch https://de.wikipedia.org/wiki/Bogenmaß . Winkel werden in Java im Bogenmaß("radians") gemessen.
 

Neue Beiträge

Zurück