Schnittfläche zweier Ellipsen aus Datenpunkten


0

Hallo Daniel, vielen Dank bisher für Deine wirklich sehr hilfreichen Tutorials. 

Ich bin aktuell in einer etwas verzwickten Lage und komme etwas an meine Grenzen. 

Ich habe folgendes Problem: 

Aus einem Datenset habe ich zwei Datenpools A und B, je mit (x y Koordinaten). Plotte ich diese Daten erhalte ich Punktewolke A und Punktewolke B. 

Ich würde nun gerne eine gausssche Ellipse um A und B zeichnen, und daraus die Schnittfläche berechnen. 

Die Ellipsen sind sowohl gedreht als auch nicht im Koordinatenursprung. 

meine Fragen:

1. Wie erhalte ich die Ellipsengleichung aus meinen Datenpunkten?

2. wie berechne ich die Schnittfläche zwischen den beiden Ellipsen?

 

Vielen Dank für die Hilfe

 

gefragt vor 3 Monate, 2 Wochen
T
TartarugaDino,
Punkte: 10
 
Kommentar schreiben Diese Frage melden
2 Antworten
0

Hallo,

ich habe leider keine Erfahrung was die Frage angeht, aber habe jetzt mal länger drüber nach gedacht. 

Eine allgemeine Form einer gedrehten verschobenen Ellipse habe ich nicht gefunden, außer vielleicht über Paramerisierung der der Kurve. Da komme ich aber noch nicht so wirklich weiter.

Nun habe ich darüber nachgedacht einfach einen noch allgemeineren Ansatz zu wählen, und zwar die allgemeine Form eines Kegelschnittes. Diese lautet

\( ax^2 + bxy + cy^2 + dx + ey +f =0 \)

Dort kannst du nun alle deine erhaltenen Punkte einsetzen und erhälst ein überbestimmtes Gleichungssystem.

\( Ax = b \)

Dieses kannst du lösen unter Berücksichtigung der Methode der kleinsten Quadrate über die Normalengleichung

\( A^T A x = A^T b \)

und solltest eine Näherungslösung für deine Ellipse erhalten. 

Die Schnittpunkte berechnest du dann durch gleichsetzen der beiden Gleichungen.

Ich hoffe das hilft dir weiter. 

Edit: ok mir fällt gerade selber auf dass die Gleichung des Kegelschnittes natürlich nur die Punkte auf dem Rand charakterisiert. Ich denke nochmal weiter nach, lasse das aber mal stehen, vielleicht bringt das auch jemand anderen auf eine Idee

Grüße Christian

geantwortet vor 3 Monate, 2 Wochen
christian strack, verified
Sonstiger Berufsstatus, Punkte: 14793
 
Kommentar schreiben Diese Antwort melden
0

Ich hätte noch eine Idee. Sie wirkt auf mich allerdings mühselig.

Wenn wir den Mittelwert aller x-Werte und aller y-Werte bilden, so sollten wir den Mittelpunkt unserer Ellipse erhalten \((M(\overline{x} \vert \overline{y})) \). Nun können wir den Punkt aus deinem Datensatz bestimmen der den größten Abstand zu deinem Mittelpunkt hat. Dieser Punkt sollte sich als Scheitelpunkt anbieten. 

Diesen Punkt könnten wir am Mittelpunkt spiegeln und erhalten den anderen Scheitelpunkt.

Dadurch haben wir unsere große Halbachse gefunden (nämlich die Verbindungsstrecke unserer Scheitelpunkte). 

Die kleine Halbachse erhalten wir wenn wir die senkrechte Gerade zur großen Halbachse durch den Mittelpunkt aufstellen. 

Nun haben wir dadurch folgende Informationen gesammelt:

Die allgemeine Ellipsengleichung ist 

\( \frac {x^2} {a^2} + \frac {y^2} {b^2} = 1 \)

Die große Halbachse hat die Länge \( 2a \) und die Kleine die Länge \( 2b\). 

Dadurch kannst du deine Ellipse aufstellen, würde sie im Nullpunkt liegen. 

Außerdem können wir den Winkel zwischen der Ellipse mit dem Mittelpunkt im Nullpunkt und unserer eigentlichen Ellipse bestimmen, indem wir die Achsen vergleichen. 

Durch den Abstand vom Mittelpunkt der Ellipse zum Nullpunkt haben wir eine Verschiebung. 

Wir können nun die Idee der Hauptachsentransformation umdrehen. 

Die Verschiebung erhalten wir über den Mittelpunkt der Ellipse.

In der Transformation wird eine Matrix aus normalisierten Eigenvektoren erstellt (Transformationsmatrix). Diese soll die Matrix drehen. Also können wir die allgemeine Form einer Drehmatrix nehmen.

\( S = \begin{pmatrix} \cos(\varphi) & -\sin(\varphi) \\ \sin(\varphi) & \cos(\varphi) \end{pmatrix} \)

Dort kannst du den gefundenen Winkel einsetzen und hast die Transformationsmatrix. Durch die Inverse lässt sich die Transformation umkehren. 

Somit solltest du eine Näherung deiner Ellipse erhalten. Allerdings habe ich mir das gerade überlegt und kann dir nicht genau sagen wie Fehleranfällig dieses Verfahren ist und ob es ein besseres gibt.

Aber solltest du kein besseres finden, kannst du dich mal damit versuchen.

Grüße Christian

geantwortet vor 3 Monate, 2 Wochen
christian strack, verified
Sonstiger Berufsstatus, Punkte: 14793
 
Kommentar schreiben Diese Antwort melden