AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Kreisbogen direkt zeichnen (ohne canvas.arc)

Kreisbogen direkt zeichnen (ohne canvas.arc)

Ein Thema von cltom · begonnen am 19. Mär 2008 · letzter Beitrag vom 21. Mär 2008
 
cltom

Registriert seit: 22. Sep 2005
230 Beiträge
 
Delphi 12 Athens
 
#1

Kreisbogen direkt zeichnen (ohne canvas.arc)

  Alt 19. Mär 2008, 11:30
Hallo DP,

folgende Sache: ich möchte genau das, was die Funktion canvas.arc kann, manuell nachbauen. Also ein Kreissegment (oder einen Kreisbogen) zeichnen und zwar zwischen zwei Punkten P1 und P2. Warum nicht arc nehmen? Ich brauche die Koordinaten einzelner Kreispunkte explizit, nicht das fertige Ding.

Jetzt kann ich mit der Kreisgleichung anfangen:

(x-xm)² + (y-ym)² = r²

Die Frage aber dann: wie kann ich den relevanten Teil des Kreises herausnehmen? Den ganzen Kreis durchgehen und prüfen ... ja, aber was? Ich sehe hier keine sinnvolle Prüfung.

Alternative Kreisgleichung:

x = xm + r * cos phi
y = ym + r * sin phi

mit phi = 0 .. 2pi

Die Idee hier: ich rechne mir von P1 und P2 jeweils phi aus und prüfe, ob phi im gegebenen Bereich liegt. Im Grunde rolle ich also den Kreis auf eine Strecke von 0 bis 2 pi ab und lasse nur jene werte durch, die zwischen P1 und P2 liegen.

Das Problem dabei: nach der Umkehrung des Cos mit dem ArcCos kann ich ja nicht mehr sagen, ob der ursprüngliche Wert zB: pi/2 oder 3pi/2 war. Eine einfache Prüfung geht also so auch nicht.

So, und hier stecke ich einmal. Aber dieses Problem hat doch bestimmt schon irgendwer einmal gelöst. Nicht zuletzt die Leute von Borland (oder vermutlich Microsoft), die den arc geschrieben haben.

kann mir jemand weiterhelfen?

danke!

gruß
tom
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:15 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