Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 08, 2025 18:58

Foren-Übersicht » Programmierung » Mathematik-Forum
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Kollision mit gedrehter Ellipse
BeitragVerfasst: Mo Jul 16, 2007 16:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Hallo,
ich hab ein klitze-kleines Problemchen mit der Kollisionsabfrage bei einer gedrehten Ellipse und einem Punkt.
Eine standard Ellipse ist mit der Gleichung: x²/a² + y²/b² = 1 gegeben. Jetzt brauche ich ja nur meinen Punkt einsetzen und prüfen, ob die linke Seite der Gleichung <= 1 ergibt -> Kollision.

Das Problem ist jetzt, dass die Ellipse um einen Winkel phi gedreht ist, und die Gleichung dann offensichtlich nicht mehr stimmt. Gibt es da irgendwas, was man in der Gleichung noch berücksichtigen muss, damit das wieder funktioniert?
Oder muss man dann anders vorgehen?

Gruß,
MatReno

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 17, 2007 07:03 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Dreh doch einfach den zu prüfenden Punkt in das Koordinatensystem der Ellipse und setz ihn dann in die Gleichung ein. Ist denke ich einfacher, als die Formel zu manipulieren (die Rotationsmatrix haste ja, denke ich)

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 17, 2007 09:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Ja, das müsste funktionieren.
Ist mir auch gestern abend eingefallen, oder eher sehr früh heute morgen :lol:. So Probleme halten mich immer vom Einschlafen ab, muss dann immer drüber nachdenken... :wink:
Trotzdem Danke.
Muss den Punkt aber gegen die eigentliche Drehung der Ellipse drehen, glaub ich. Aber das wird ja dann kein Problem mehr.
Bisl mit sin & cos und fertig. Die Lösung war doch einfacher als ursprünglich erwartet...

Aber dennoch vielleicht wäre es performanter, wenn ich die Gleichung ändere. Denn ich hab leider ein paar mehr Punkte, so dass ich jeden Punkt rotieren müsste. Dazu müsste ich doch den X und Y Wert in meiner Gleichung quasi als Vector ansehen und durch meine Rotationsmatrix schicken, und wieder zurück in die Gleichung stecken, oder? :roll:
Naja funktionieren tut es ja auch so, optimiert wird später :wink:

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 17, 2007 10:18 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Prinzipiell ja.
Wenn Du die Formel der Ellipse anpassen willst, um Dir die Drehung zu ersparen weiss ich nicht, ob Du da was an Performance rausholst, weil die Ellipsenfunktion dann sofort wesentlich komplizierter wird (Mit Sinsn und Cosinen und so und jeden Punkt dann da einsetzen dauert evtl länder als ne simple Matrizenmultiplikation) Wie diese Aussieht weiss ich allerdings auch nicht, da sind unsete Mathefüchse (oder eine Frmelsammlung) gefragt.

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 17, 2007 12:32 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Du kannst ja sinus und cosinus zwischenspeichern, weil die für alle punkte gleich sind. Wenn du dann den punkt mit hilfe dieser gespeicherten werte transformierst, ist das genau das gleiche wie eine rotationsmatrix.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 17, 2007 13:08 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Ja, das stimmt. Dann ist es wohl auch performanter :D
Danke für die Antwort!
Dann mache ich das so, dass ich alle Punkte rotiere, dass mit der Gleichung umschreiben ist dann doch mehr Arbeit^^

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 17, 2007 13:16 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
hab nochmal bei Wikipedia nachgeguckt:
Berechne die beiden Brennpunkte B1, B2, dann gilt: PB1+PB2=2a, will heissen: ein Punkt liegt dann innerhalb der Ellipse, wenn die Summe seiner Abstände zu den beiden Brennpunkten kleinergleich dem Zweifachen des großen Radius ist.

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 17, 2007 13:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
@Sidorion:
Wenn das funktioniert ist das ja noch einfacher. Muss erstmal schauen, ob ich die Brennpunkte berechnet bekomme...

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » Mathematik-Forum


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 16 Queries | GZIP : On ]