• Wir werden in den nächsten Tagen verschiedene Wartungsoperationen und Optimierungen am Server durchführen. Es wird zu mehreren Ausfällen kommen, die teilweise auch mehrere Stunden umfassen können.

Schnittpunkte zweier Ellipsen

Joined
May 14, 2007
Messages
14,527
Points
0
Ich plage mich heute schon den ganzen Tag mit diesem Problem rum.
Ich habe 2 Ellipsen, gegeben durch mittelpunkt, radius1, radius2 und rotationswinkel.

ich habe schon versucht, die x- und y-werte der parameterschreibweise gleichzusetzen, aber das bläht sich so krass auf, dass ich langsam am verzweifeln bin beim umformen.
ausserdem habe ich das gefühl, dass es in parameterschreibweise lange dauert die schnittpunkte zu berechnen, da ich ja die ellipsen von 0° bis 360° durchlaufen müsste.

ich hätte also lieber eine lösung in karthesischen koordinaten, bekomm es aber nicht hin und finde auch nichts brauchbares im inet.

nachdem das problem gelöst ist will es natürlich noch programmiert werden, das muss ich in vb.net machen.

wär schön, wenn sich vllt ein mathe-pro damit schonmal befasst hat und mri weiterhelfen könnte?

danke.

edit: das standardpaper zu dem thema scheint dieses hier zu sein: http://www.geometrictools.com/Documentation/IntersectionOfEllipses.pdf


allerdings check ich schon nicht, wie diese matrixsschreibweise Qi(x) = ... da funktioniert und warum danach mit 2 quadratischen gleichungen weitergerechnet wird.

denn die ellipsengleichung sieht doch so aus:

(x-xo)² / a² + (y-yo)² / b² = 1

okay, ich bekomm nichtmal hin, das ding gescheit nach y umzustellen :(

edit: ich habe jetzt das gleichungssystem fertig:

mit
xo1 = x-koordinate mittelpunkt ellipse 1
yo1 = y-koordinate mittelpunkt ellipse 1
xo2 = x-koordinate mittelpunkt ellipse 2
yo2 = y-koordinate mittelpunkt ellipse 2
a1 = radius1 ellipse 1
b1 = radius2 ellipse 1
a2 = radius1 ellipse 2
b2 = radius2 ellipse 2
p1 = drehwinkel ellipse 1
p2 = drehwinkel ellipse 2

((x-xo1)*cos(p1)+(y-yo1)*sin(p1))² / a1² + (-(x-xo1)*sin(p1)+(y-yo1)*cos(p1))² / b1² =
((x-xo2)*cos(p2)+(y-yo2)*sin(p2))² / a2² + (-(x-xo2)*sin(p2)+(y-yo2)*cos(p2))² / b2²

kennt jmd ne software, die mir dieses ungetüm nach x umstellt? wenn ich das per hand mache .... der shit passt in einer zeile nichtmal quer aufn a4-blatt. ich kotze
 
Last edited:
Hmm wie war das?

katsch said:
feiern statt bildung - diese entscheidung find ich gut :)

Ne, sry hab keine Ahnung. Musst warten bis vllt mal stef oder osbes hier reinstolpert ;)
 
Habs schon erblickt, aber hab kein Mathematica drauf und kann dir dafür auch kein Programm unter 500 Euro empfehlen.
Aber deine Gleichung sieht schon ganz gut aus, es kommen 2 Lösungen raus und es gibt ja auch 2 Schnittpunkte. Du weisst ja im Endeffekt alle Parameter zum einsetzen daher wirst am Ende schon was raus bekommen. ^^
Da muss man manchmal durch etwas längere Gleichungen umzuformen. Sie ist ja nicht schwer, nur halt lang.^^
 
jau, sie ist scheisslang und ich kann mich immer so schwer konzentrieren bei so langen umformungen, deswegen wollt ichs nen PC machen lassen. aber es werden maximal 4 schnittpunkte rauskommen.

na mal schaun, vllt hab ich nächste woche zeitlust das ungetüm zu knacken

danke für die hilfe
 
ja, entweder 0, 2 oder 4 Schnittpunkte.

Ich musste aber zugegebenerweise auch eben überlegen wie 4 denn zustande kommen können^^

Ich würde die Gleichung btw selbst auflösen an deiner Stelle ... zumindest hättest du das in der zeit zu tun können in der du nach so nem Programm suchst.
 
Es kann doch auch nur eine Lösung geben oder täusch ich mich gerade?
 
Ja, das wäre aber kein Schnittpunkt, sondern ein Berührpunkt.

Wenn mans nicht so genau nimmt, sind auch 3 Lösungen (2 Schnittpunkte, 1 Berührpunkt) möglich.
 
Achja hab den y-Wert ganz vergessen. Dann gibts natürlich noch 2 mehr. Dadurch wird die Gleichung aber auch übelst beschissen... das würd ich dann echt nicht ohne Mathematica lösen.
 
Naja, du musst es nur als Gleichung vierten Grades umformen und diese dann lösen.
Steht aber auch in dem von dir geosteten PDF Dokument drin.

Poste mal die beiden Gleichungen und dann machen wir es Schritt für Schritt ;)

@stefros
Maxima ist kostenlos und kann sowas auch ;) (auch wenn es manchmal "sonderbar hässlich" aussieht ^^)
 
danke für eure hilfen. die ellipsenschnittpunkte sind nur ein problem am rande, das ich mal nebenbei betrachten sollte. eigentlich bin ich dran auszuknobeln wie man die schnittpunkte zweier kubischer bezierkurven berechnet. da man hier eine gleichung zehnten grades lösen muss haben wir nach einer vereinfachung gesucht, ich habe schon die bezierkurven durch kreisbögen approximiert, aber das dauert alles noch zu lange. ich bin grade dran, das weierstraß-verfahren zu versttehen, und dann zu coden, das soll ziemlich schnell sein. mal schauen was bei rumkommt.
 
Back
Top Bottom