AGB  ·  Datenschutz  ·  Impressum  







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

Kollision von Ellipsoiden

Ein Thema von 3_of_8 · begonnen am 17. Okt 2007 · letzter Beitrag vom 20. Okt 2007
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#21

Re: Kollision von Ellipsoiden

  Alt 18. Okt 2007, 21:13
Das Problem lässt sich aber noch dahingehend vereinfachen, dass man über die Anwendung einer Rotationsmatrix wenigstens eine Ellipse dahingehend dreht, dass ihre Achsen parallel zu den Achsen des KS liegen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#22

Re: Kollision von Ellipsoiden

  Alt 18. Okt 2007, 21:21
Zitat von Nikolas:
u.A. musst du ein Polynom dritten Grades lösen).
http://de.wikipedia.org/wiki/Cardani...dritten_Grades
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#23

Re: Kollision von Ellipsoiden

  Alt 18. Okt 2007, 21:27
Nur so eine Überlegung: Da die Berechnung anscheinend sehr kompliziert ist, könn man dann eine Vorberechnung machen. Zum Beispiel die Berechnung das einfachen Abstand, um zu prüfen, ob eine Kollsion überhaupt in Frage kommt.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#24

Re: Kollision von Ellipsoiden

  Alt 18. Okt 2007, 21:29
@Dax: Das es da eine Lösung gibt, ist doch nichts Neues. Nur: Wie lang brauchst du, um so was zu implementieren. Und auch dann ist es noch ordentlich Arbeit.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#25

Re: Kollision von Ellipsoiden

  Alt 18. Okt 2007, 22:10
Ich werde einen schnellen Kollisionstest per Bounding Sphere als ungefähres Kollisionskriterium implementieren (3 Subtraktionen, 4 Multiplikationen, 2 Additionen, 1 Vergleich, also sehr schnell zu berechnen).

Also, jetzt dazu, wozu ich das alles brauche. Ich denke momentan vage daran, eine Art Weltraum-Spiel zu programmieren (mit OpenGL). Wenn ich jetzt einen Kollisionstest machen will, muss ich möglicherweise testen, ob 20-30 Schiffe mit jeweils einer Station kollidieren. Jetzt sind Schiffe u.U. nicht gerade klein und Stationen sind riesig. Auch bei Beschuss durch Raketen/Partikelwaffen ergibt sich dieses Problem. Da stellt sich natürlich die Frage, ob ein Dreiecks-Dreiecks-Test in allen Fällen das richtige ist, da der eine Komplexität von O(m*n) hat (wobei m die Dreiecksanzahl des Schiffes, n die der Station ist). Da Schiffe eher länglich sind, lässt sich ihre Form u.U. nicht sehr gut mit einer Kugel approximieren, jedoch sehr gut mit einem Ellipsoiden. Darüber hinaus sollen die Schiffe Schilde besitzen, die bei einem Treffer das Projektil abfangen. Diese Schilde sollen dann ellipsoid das Schiff umgeben, wodurch ich sogar noch eine optisch ansprechende und logisch einleuchtende Erklärung für diese Kollision habe. Der Ellipsoid-Test wird dadurch also eher selten, der Polygon-Test noch seltener verwendet, was sich ressourcensparend auswirkt - und Ressourcen sind bei einem 3D-Echtzeit-Spiel immer knapp.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#26

Re: Kollision von Ellipsoiden

  Alt 18. Okt 2007, 23:18
Du könntest dir auch überlegen die langen Formel durch andere geometrische Formen anzunähern. z.B. erst eine Halbkugel, dann einen Kegelstumpf, einen Zylinder, einen Kegelstumpf und eine Halbkugel. Sieht recht ähnlich aus und sollte recht einfach zu schreiben sein.

Hat OpenGL nicht schon Kollisionserkennungen frei Haus? Oder willst du alles per Hand schreiben?

Wie suchst du nach Kollisionen? Suchst du nach jedem Frame nach einer Schnittmenge oder berechnest du den Kollisionszeitpunkt exakt?
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#27

Re: Kollision von Ellipsoiden

  Alt 19. Okt 2007, 12:18
OpenGL hat Kollisionserkennung? Das wäre mir neu.

Und ich berechne die Kollision nach jedem Frame.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#28

Re: Kollision von Ellipsoiden

  Alt 20. Okt 2007, 13:16
War nur geraten, ich habe mich bei unserem Projekt überhaupt nicht um die Darstellung gekümmert.
Wenn du die Kollision erst am Ende eines Frames testest, was machst du dann mit schnellen Objekten wie z.B. Schüssen? Wenn du eine dünne Wand und ein schnelles Geschoß hast, könnte es dir passieren, dass das Teil einfach durchfliegt. Oder was machst du, wenn du merkst, dass zwei Objekte, die eigentlich aneinander abprallen sollten, plötzlich ineinander stecken?
Wir haben zu sechst ein Semester an dem Projekt gebaut und jeder hat mal eine kleine Nachtschicht eingebaut. Und das war 2D!
Ich würde also sagen, dass dein Ziel, das alleine in brauchbarer Zeit und in 3D zu bauen, kaum erreichbar ist, wenn du die Kollisionen und Physik selbst schreiben willst.
Schau dir doch mal OGRE oder sowas an, da hast du die ganze Physik schon drin. Das wär vielleicht etwas einfacher, wobei dir Gruppe, die damit gearbeitet hat, nicht fertig geworden ist.
Wenn du also nicht die nächsten Jahre nur damit beschäftigt sein willst, solltest du vielleicht etwas weniger planen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#29

Re: Kollision von Ellipsoiden

  Alt 20. Okt 2007, 13:30
Okay, dann werde ich wohl eventuell doch auf Newton oder so umsteigen müssen. Newton ist aber, wie ich schonmal gemerkt habe, nicht unbedingt sehr schnell.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#30

Re: Kollision von Ellipsoiden

  Alt 20. Okt 2007, 15:00
Schau dir doch mal das Ogre an. So wie es aussieht ist das Teil sehr mächtig, und nach Auskunft des anderen Teams kann man sich da in 2Wochen genügend einarbeiten, um etwas damit anzustellen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 03:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz