Punkt im Kreissektor? [gelöst]

Design Patterns, Erklärungen zu Algorithmen, Optimierung, Softwarearchitektur
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Antworten
joggel

Punkt im Kreissektor? [gelöst]

Beitrag von joggel »

Hallo Leutz,

ich habe ein Problem....
Ich habe ein Kreissegment!
Gegeben ist der Mittelpunkt, und der Anfangswinkel des Segmentes und der Winkel, wie lange dieses Segment geht.
Also, sorry für das Wort, es ist ein "TortenStück" .... :D.

Nun habe ich einen 2.Punkt. Ich möchte wissen, ob dieser Punkt in diesem Kreissegment ist, oder nicht.

Wie gehe ich da vor?

LG joggel
Zuletzt geändert von joggel am 22.11.2010, 12:20, insgesamt 2-mal geändert.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4868
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Punkt im Kreissegment?

Beitrag von Schrompf »

Transformiere die Punktposition in Kreiskoordinaten - also ebenso in Abstand zum Mittelpunkt und Winkel zum Kreissegment-Start. Abstand ist ja einfach nur die Vektorlänge, und für den Winkel gibt es in C/C++ atan2()
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
TGGC
Establishment
Beiträge: 569
Registriert: 15.05.2009, 18:14
Benutzertext: Ich _bin_ es.
Alter Benutzername: TGGC
Echter Name: Ich _bin_ es.
Wohnort: Mainz
Kontaktdaten:

Re: Punkt im Kreissegment?

Beitrag von TGGC »

Sinvoller finde ich immer solche "Tortenstuecke" aus Mittelpunkt, Richtung, Radius und Winkel zu definieren zu definieren, wobei die Richtung durch die Mitte des Tortenstuecks geht. Mittelpunkt + Richtung + Radius lassen sich durch eine Strecke AB angeben. A ist der Mittelpunkt, Abstand von A nach B der Radius und der normierte Vektor AB die Richtung. Der Winkel ist dann quasi die zulaessige Abweichung von dieser Richtung, also z.b. 40 Grad laesst nach links oder rechts eine Abweichung von 20 Grad zu. Der Test ob C nun innerhalb von dem Tortenstueck liegt: AB ist laenger als AC und der Winkel zwischen AB und AC ist kleiner als 20 Grad. Winkel bekommt man sehr einfach damit: http://de.wikipedia.org/wiki/Skalarprodukt. Weiterhin laesst sich damit auch immer gut erkennen, wohin und wieweit man sich drehen muss, damit etwas in den Winkel hineinkommt bzw. den Level verlaesst.
joggel

Re: Punkt im Kreissegment?

Beitrag von joggel »

Okay, vielen Dank für die Antworten...
Ich habe mir eine Variante rausgepickt, und setze die in meinem Programm um....

Btw: Toll wie gut und schnell einem hier geholfen wird. :)

lg jogge(l)
Benutzeravatar
Schrompf
Moderator
Beiträge: 4868
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Punkt im Kreissegment? [gelöst]

Beitrag von Schrompf »

Das stimmt: man kann ja das Tortenstück auch durch Kreiszentrum, Zentralvektor und Öffnungswinkel beschreiben. Die Prüfung eines Punktes gegen diese Art der Tortenstück-Darstellung kommt ohne sin/cos aus und dürfte ein Stück schneller sein. Gute Idee!
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Antworten