Kollision: Kreis in "Radar"

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Antworten
Benutzeravatar
SPech
Moderator
Beiträge: 63
Registriert: 07.03.2002, 17:12
Echter Name: Sebastian Pech
Kontaktdaten:

Kollision: Kreis in "Radar"

Beitrag von SPech »

Guten Abend,

nach einem zwölf Stunden Code Marathon qualmt gerade mein Kopf.
Ich habe folgendes Problem ich muss eine Kugel in einem Radarfeld finden.
Das ganze habe ich bisher auf ein zweidimensionales Problem geändert.
Die Idee war das Radar als zwei unendliche Linien zu definieren aber ich habe gerade keine Idee wie ich das gegen einen Kreis testen soll?! :shock:

Viele Grüße
Sebastian
SPech.de - Meine Projekte: AirTaxi, Adberion, WOW Reborn
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: Kollision: Kreis in "Radar"

Beitrag von Zudomon »

So ganz verstehe ich das Problem nicht. Es hört sich für mich nach einem Strahl-Kugeltest an...
Könntest du das eventuell nochmal genauer beschreiben, was du suchst?
klickverbot
Establishment
Beiträge: 191
Registriert: 01.03.2009, 19:22
Echter Name: David N.

Re: Kollision: Kreis in "Radar"

Beitrag von klickverbot »

Wenn dein Problem ist, eine Gerade gegen einen Kreis zu testen, wäre meine erste Idee, den Abstand des Kreismittelpunkts von der Geraden auszurechnen (Einsetzen in die Hessesche Normalform) und zu überprüfen, ob er kleiner als der Kreisradius.

Aus deiner Problembeschreibung werde ich aber ehrlichgesagt noch nicht ganz schlau…
Benutzeravatar
SPech
Moderator
Beiträge: 63
Registriert: 07.03.2002, 17:12
Echter Name: Sebastian Pech
Kontaktdaten:

Re: Kollision: Kreis in "Radar"

Beitrag von SPech »

Es geht um die Fläche zwischen zwei geraden.
SPech.de - Meine Projekte: AirTaxi, Adberion, WOW Reborn
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: Kollision: Kreis in "Radar"

Beitrag von Zudomon »

Also soooo viel präziser ist deine Beschreibung immer noch nicht.

Wie wärs denn, wenn du statt Geraden ( du willst das ja letztendlich eh 3D haben ) als zwei parallele Ebenen betrachtest, dessen beide Normalen voneinander weg zeigen... nun könntest du eine Kugel gegen beide prüfen und schauen, ob diese zwischen den beiden Ebenen liegt.
Benutzeravatar
SPech
Moderator
Beiträge: 63
Registriert: 07.03.2002, 17:12
Echter Name: Sebastian Pech
Kontaktdaten:

Re: Kollision: Kreis in "Radar"

Beitrag von SPech »

Tut mir leid hier nochmal genauer mit einer Zeichnung.

Also ich habe ein Objekt welches ein bestimmtes Sichtfeld hat (Theoretisch ist da ein Dreieck)
Die Objekte werden als Kreise dargestellt (Mittelpunkt + Radius)

Einen Test von Kreis und Linie wäre kein Problem aber ich komme gerade nicht auf den Test für den Kreis mit dem Dreieck.
Dateianhänge
Unbenannt.png
Unbenannt.png (3.32 KiB) 3478 mal betrachtet
SPech.de - Meine Projekte: AirTaxi, Adberion, WOW Reborn
Benutzeravatar
Krishty
Establishment
Beiträge: 8235
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Kollision: Kreis in "Radar"

Beitrag von Krishty »

Am einfachsten: Winkel zwischen Blickrichtung und Richtung des Kreises bestimmen (Skalarprodukt der normalisierten Vektoren) und prüfen, ob er kleiner oder gleich dem halben Blickfeld ist. Dasselbe mit der Distanz zwischen Betrachter und Kugel machen, dabei Kugelradius abziehen und mit der Sichtweite vergleichen.

Edit: Ersteres funktioniert nur mit Punkten, nicht mit Kreisen – da war ich wohl vorschnell, sorry.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Richard Schubert
Moderator
Beiträge: 106
Registriert: 27.02.2009, 08:44
Wohnort: Hohen Neuendorf (b. Berlin)
Kontaktdaten:

Re: Kollision: Kreis in "Radar"

Beitrag von Richard Schubert »

Mit der Methode Atan2 kannst du dir den Winkel zwischen dem Ausganspunkt und dem gesuchten errechnen lassen. Sobald dieser zwischen den beiden Sichtwinkeln ist, ist der Punkt sichtbar.

Oder ist dein Problem doch was anderes?
Produktivität über Performance - XNA Creators Club
Jörg
Establishment
Beiträge: 296
Registriert: 03.12.2005, 13:06
Wohnort: Trondheim
Kontaktdaten:

Re: Kollision: Kreis in "Radar"

Beitrag von Jörg »

Wie du ermittelst, ob ein Kreis links oder rechts einer Gerade liegt, weisst Du sicherlich (falls nicht: Ermitteln, welchen Abstand der Kreismittelpunkt hat und wenn dieser plus Kreisradius > 0 ist, dann ist der Test positiv).
Dein Radar wird wohl konvex sein von der Flaeche her, die es ueberdeckt.
Daher einfach fuer alle Begrenzungslinien obigen Test durchfuehren und voila, schon ist man fertig.
Benutzeravatar
SPech
Moderator
Beiträge: 63
Registriert: 07.03.2002, 17:12
Echter Name: Sebastian Pech
Kontaktdaten:

Re: Kollision: Kreis in "Radar"

Beitrag von SPech »

Richard vielen Dank das war genau was ich suchte.
Transliere jetzt beide Objekte auf (0,0) und bilde die 3 Winkel (Linie1, Linie2, ObjektMittelpunkt)
So finde ich zumindest schon raus ob der Mittelpunkt in dem Bereich liegt. Jetzt muss ich nurnoch den Radius dazu bekommen :)
SPech.de - Meine Projekte: AirTaxi, Adberion, WOW Reborn
Antworten