AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas.Arc Länge abfragen?

Ein Thema von AlexanderVieth · begonnen am 17. Aug 2009 · letzter Beitrag vom 17. Aug 2009
 
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: Canvas.Arc Länge abfragen?

  Alt 17. Aug 2009, 14:40
Okay, also hast du mehrere Punkte, die du durch Linen verbindest, und du möchtest die Ecken abrunden.

Dann hast du für jeden (Zwischen-)Punkt 2 Vektoren, die besagen, in welche Richtung die beiden Linienstücke abgehen.

Also wenn du die Punkte A, B, C, D hast und den Punkt B betrachtest brauchst du erstmal die Vektoren BA und BC.

Jetzt berechnest du 2 Winkel:
phi als der winkel dazwischen: Bei beiden Vektorn den Winkel ausrechnen (atan2) und subtrahieren.
theta als die Richtung des Kreismittelpunkts Beide Vektoren normieren, dann addieren, und math.atan2 benutzen. Falls beim addieren 0 rauskommt, kannste abbrechen (gerade Verbindung)

Damit hast du die Richtung in die du gehen musst. Jetzt brauchst du noch den Radius der Verrundung (z.B. 30px) um den Mittelpunkt des Kreises zu errechnen. Der Abstand zum Punkt B ergibt sich durch Z = R/cos(phi/2) der Kreismittelpunkt dann mit (X = Z*cos(theta) und Y = Z*sin(theta))
Am Ende nicht vergessen, den Punkt B draufzurechnen und du hast die Koordinaten des Kreismittelpunkts.

So ungefähr. Kann sein, dass das eine oder andere Vorzeichen noch falsch ist
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz