Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kollision von Ellipsoiden (https://www.delphipraxis.net/101723-kollision-von-ellipsoiden.html)

quendolineDD 18. Okt 2007 14:35

Re: Kollision von Ellipsoiden
 
Diese Formel habe ich aus meinem Tafelwerk gestern noch schnell abgeschrieben.

F(x) ist dabei die Funktion des Graphen, bei dir musst du mal schauen, welche Funktion die Ellipsoiden haben, ich habe von solchen gar keine Ahnung (2. mal 12. Klasse Informatikgymnasium).

f'(x) ist deren 1. Ableitung, wie das geht müsstest du herausfinden / wissen können.

Grüße

HERMES 18. Okt 2007 14:45

Re: Kollision von Ellipsoiden
 
Newton Verfahren nur die auf Funktion der Elipsoiden anzuwenden hilft da auch nicht.

(Geometrische )Näherungen kannst du bestimmen, indem du deinen Ellipsoid in einen weniger komplexe Körper packst, zum Beispiel eine Kugel oder einen Quader. Und dann Kollisionen zwischen den umhüllenden Körpen prüfst. Wenn hier schon keine Kollision besteht (oder zumindest nicht bei beiden), hast du tatsächlich keine. Andernfalls musst du deine Näherung verbessern, indem du deinen Ellipsoid mit mit kleineren Kugeln "aussfüllst". Oder eine aufwendigeres exaktes Verfahren anwendest.

3_of_8 18. Okt 2007 16:27

Re: Kollision von Ellipsoiden
 
Aber es müsste doch irgendeine Formel geben, mit der man das exakt berechnen kann, oder? Ich kann mir irgendwie nicht vorstellen, dass man das nur so näherungsweise machen kann.

sirius 18. Okt 2007 16:35

Re: Kollision von Ellipsoiden
 
Bie bescheibst du denn deinen Ellipsoiden?

3_of_8 18. Okt 2007 16:45

Re: Kollision von Ellipsoiden
 
Durch Mittelpunkt und drei Radien. (Darf man da Radius sagen? Ich glaube schon)

Naja also ganz formal mathematisch wäre es wohl so:

E((xm, ym, zm), a, b, c):={(x, y, z)|((x-xm)/a)²+((y-ym)/b)²+((z-zm)/c)²=1}

Und ich beschreibe ihn eindeutig durch die Angabe eines Mittelpunkts m=(xm, ym, zm) und der drei Radien (oder wie sie auch heißen mögen) a, b und c.

sirius 18. Okt 2007 16:49

Re: Kollision von Ellipsoiden
 
Die fiel mir auch ein, aber kann damit ein Ellipsoid überhaupt schief liegen?

HERMES 18. Okt 2007 17:07

Re: Kollision von Ellipsoiden
 
Nein kann er nicht, dazu müsste man noch die richtung einer der 3 Achsen angeben.
Wenn du aber nur einen solchen Ellipsoid hast sollte sich die ganze Sache etwas einfacher darstellen.

Zitat:

Zitat von 3_of_8
Aber es müsste doch irgendeine Formel geben, mit der man das exakt berechnen kann, oder? Ich kann mir irgendwie nicht vorstellen, dass man das nur so näherungsweise machen kann.

Exakt wäre, wenn du die Mengen der beeinhalteteen Punkte berechnest und diese dann Schneidest. Ist der Schnitt leer liegt keine Kollision vor.

Da aber in einem Ellisoid unendlich viele Punkte liegen hätte dein Computer ein Problem, diese alle zu berechnen. Wenn du hier Punkte weg lässt hast auch wieder nur eine Näherung gemacht, bei der du allerdings viel "unnützes" berechnet hast.

3_of_8 18. Okt 2007 17:09

Re: Kollision von Ellipsoiden
 
Stimmt, ich habe noch 2 Drehungswinkel, pitch und yaw. Die habe ich vergessen.

Nikolas 18. Okt 2007 19:51

Re: Kollision von Ellipsoiden
 
Was willst du denn damit anstellen?
Ich hatte das Problem letztens auch, als ich eine kleine PhysikEngine für die Uni geschrieben habe. Analytisch wird das sehr groß (u.A. musst du ein Polynom dritten Grades lösen).
Erklär doch mal, was du später damit anstellen willst, vielleicht ist auch ein anderer Ansatz drin, wie z.B. ein PolygonGitter, mit dem man dann deutlich einfacher (und auch etwas ungenauer) wäre.

axelf98 18. Okt 2007 20:11

Re: Kollision von Ellipsoiden
 
Zitat:

Zitat von Dax
Falsch... Ellipsoide müssen sich nicht auf der Verbindungsgerade ihrer Mittelpunkte schneiden.

Stimmt, habe noch einmal darüber nachgedacht. Das Problem ist doch nicht so einfach, wie ich dachte.
http://home.arcor.de/fabianbuerger/Stuff/ellipsen.png


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.
Seite 2 von 3     12 3      

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