Hinweis auf die DSGVO: Auf unserer Seite werden keine Dritt-Anbieter-Cookies verwendet und nur Daten erfasst, welche für das Minimum an Board-Funktionalität notwendig sind.
Bevor Sie sich registrieren oder das Board verwenden, lesen Sie bitte zusätzlich die DSGVO-Erklärung, welche in der Navigationsleiste verlinkt ist.

Kurzfassung der unserer Meinung nach wichtigsten DSGVO-Punkte:
Es kann vorkommen, dass Benutzer eigenverantwortlich Videos oder sonstige Medien in ihren Beiträgen verlinken, welche beim Aufruf der Forenseite als Teil der Seite samt zugehörigem Material mitgeladen werden. Sollten Sie dies nicht wünschen, verwenden Sie beim Benutzen des Forums einen Blocker wie z.B. uMatrix, welcher das Laden von Inhaltsblöcken von Fremd-URLs effektiv unterbinden kann.
Wir blenden keine Werbung ein und schränken die Inhalte in keinster Weise bei Benutzung von Addblockern ein. Dadurch ist die Grundfunktionalität des Forums auch bei vollständigem Blockieren von Drittanbieter-Inhalten stets gegeben.

Cookies werden unsererseits nur verwendet um das Einloggen des Benutzers für die Dauer der Forenbenutzung zu speichern. Es steht dem Benutzer frei die Option 'Angemeldet bleiben' zu verwenden, damit der Cookie dauerhaft gespeichert bleibt und beim nächsten Besuch kein erneutes Einloggen mehr notwendig ist.
EMail-Adressen werden für Kontakt bei wichtigen Mitteilungen und zur Widerherstellung des Passwortes verwendet. Die verwendeten IPs können von uns ohne externe Hilfsmittel mit keiner realen Person in Verbindung gebracht werden und werden nach spätestens 7 Tagen gelöscht. Diese IPs werden höchstens verwendet um Neuanmeldungen unerwünschter oder gesperrter Nutzer zu identfizieren und zu unterbinden. Wir behalten uns daher vor bei Verdacht, die Frist für die IP-Löschung auf maximal 14 Tage zu verlängern.
Unsere Webseite läuft auf einem virtuellen Linux-Server, welcher von einem externen Anbieter gehostet wird. Etwaige Verstöße der DSGVO-Auflagen seitens dieses deutschen Hosters können wir nicht feststellen und somit auch nicht verfolgen.
Wir halten Backups unserer Datenbanken, welche in regelmäßigen Abständen als Schutz vor Katastrophen, Hackerangriffen und sonstigen Ausfällen erstellt werden. Sollte ein Nutzer die Löschung seiner Daten wünschen, betrachten wir es als Unzumutbar die Backups auch von den Daten zu befreien, da es sich hierbei um eine mehrtägiges Unterfangen handelt - dies ist für eine Einzelperson beim Betrieb eines privaten Forums nicht zumutbar möglich ohne das Backup komplett zu löschen.
Sollten Sie etwas gegen die dauerhafte anonyme Speicherung ihrer EMail-Adresse, ihres Pseudonyms und ihrer Beiträge in einem Backup haben, sehen Sie von der Registrierung in diesem Forum ab. Für Mitglieder, welche vor dem 25.05.2018 registriert waren steht jedoch das Recht im Raum, eine Löschung der Datenbank-Backups zu beantragen.



Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zunächst die FAQs sowie die wesentlichen Regeln zur Benutzung des Forums.
Um an den Diskussionen teilnehmen zu können, müssen Sie sich zunächst registrieren.

Ellipse identifizieren

Mathematische Fragestellungen
Antworten
positronium
Ehrenmitglied
Ehrenmitglied
Beiträge: 2832
Registriert: 2. Feb 2011, 20:13

Ellipse identifizieren

Beitrag von positronium » 28. Apr 2013, 21:31

Hallo,

wieder ein mathematisches Problem von mir: Ich habe in 3D eine Menge Punkte p[down]n[/down] numerisch vorliegen, und will den Mittelpunkt m und die beiden Achsenvektoren a und b der diese Punkte enthaltenden Ellipse errechnen.
Mein Versuch sieht so aus:
Ich nehme 4 der Punkte, p[down]1..3[/down] und p[down]x[/down], und errechne zuerst aus p[down]1..3[/down] die auf der Ellipsenebene stehende Normale n=(p[down]2[/down]-p[down]1[/down])x(p[down]3[/down]-p[down]2[/down]), und projeziere p[down]x[/down] auf diese Ebene mit p[down]4[/down]=p[down]x[/down]+k*n. Dann kann ich ein Gleichungssystem aufstellen:
p[down]1..4[/down]=m+cos(w[down]1..4[/down])*a+l*sin(w[down]1..4[/down])*(a x n)
w ist der umlaufende Winkel und l der Streckungsfaktor der zweiten Achse b, wobei ich b = a x n setze.
An dem Punkt habe ich also ein Gleichungssystem mit 12 Gleichungen und ebenso vielen Unbekannten, aber: das Gleichungssystem ist nicht linear, was es ziemlich kompliziert macht. Ich komme nicht weiter.

Ist der Ansatz vernünftig bzw. wie kann ich damit zu einer Lösung kommen?
Gibt es eine bessere Methode?

Gruss

positronium

Benutzeravatar
tomS
Ehrenmitglied
Ehrenmitglied
Beiträge: 10670
Registriert: 19. Nov 2007, 20:29

Re: Ellipse identifizieren

Beitrag von tomS » 29. Apr 2013, 22:43

Ich würde zunächst mal die zwei Punkte bestimmen, deren Abstand maximal ist. Daraus folgt die Lage der großen Halbachse sowie der Mittelpunkt. Dann würde ich die zwei Punkte bestimmen, die senkrecht dazu den größten Abstand haben. Daraus folgt die Lage der kleinen Halbachse.

Dann würde ich die gesamte Punktewolke so rotieren, dass alle Punkte in der xy-Ebene liegen und dass die Ellipse symmetrisch zur x- und zur y-Achse liegt.
Gruß
Tom

Der Wert eines Dialogs hängt vor allem von der Vielfalt der konkurrierenden Meinungen ab.
Sir Karl R. Popper

positronium
Ehrenmitglied
Ehrenmitglied
Beiträge: 2832
Registriert: 2. Feb 2011, 20:13

Re: Ellipse identifizieren

Beitrag von positronium » 29. Apr 2013, 22:55

Vielen Dank für Deine Antwort!
Leider liegen die Punkte meist in nur einem Teil der Ellipse, maximal um den halben Umfang, in der Regel wird wohl ein Bereich von ca. 45° bis 180° abgedeckt. Deshalb kann ich nicht direkt Daten heraus suchen, sondern muss rechnen.

Benutzeravatar
tomS
Ehrenmitglied
Ehrenmitglied
Beiträge: 10670
Registriert: 19. Nov 2007, 20:29

Re: Ellipse identifizieren

Beitrag von tomS » 30. Apr 2013, 00:44

Die nächste Methode die mir einfällt ist die Methode der kleinsten Quadrate.

Du setzt eine Parameterdarstellung deiner Ellipse an, ausgehend von einem zunächst unbekannten Mittelpunkt sowie ebenfalls zunächst unbekannten großen und kleinen Halbachsen (oder einer anderen Darstellung).

Dann definierst du die Summe derFehlerquadrate als Funktion des Mittelpunktes sowie der Halbachsen. Für eine Ellipse in drei Dimensionen sind das nach meiner Zählung
- drei Unbekannte für den Mittelpunkt
- drei Unbekannte für Länge und Richtung der ersten Halbachse
- zwei Unbekannte für die zweite Halbachse (eine entfällt aufgrund der Bedingung, dass beide Halbachsen senkrecht stehen)

Dann minimierst du die Summe der Fehlerquadrate iterativ, in dem du die Ableitung (den Gradienten) der Summe nach den unbekannten Parametern bestimmst und so das Minimum bestimmst. Wenn du die Summe explizit hinschreiben kannst (kannst du) ist es evtl. sinnvoll, den Gradienten explizit als Funktion und nicht numerisch zu bestimmen.

Zur numerischen Berechnung würde ich die Conjugate Gradients Methode empfehlen, aber ich denke, dazu gibt es ausführliche Literatur und Software im Internet.

http://de.wikipedia.org/wiki/Methode_de ... n_Quadrate
http://de.wikipedia.org/wiki/CG-Verfahren
Gruß
Tom

Der Wert eines Dialogs hängt vor allem von der Vielfalt der konkurrierenden Meinungen ab.
Sir Karl R. Popper

positronium
Ehrenmitglied
Ehrenmitglied
Beiträge: 2832
Registriert: 2. Feb 2011, 20:13

Re: Ellipse identifizieren

Beitrag von positronium » 30. Apr 2013, 12:39

Das ist eine gute Idee, Danke, aber das würde leider nur in manchen Sonderfällen funktionieren. Ich habe nämlich eine Punktmenge, deren Elemente nicht alle auf der Ellipse liegen müssen, das aber mehrheitlich sollten. Beispielsweise könnte das so aussehen (normalerweise mit deutlich mehr Punkten):
ellipse.png
ellipse.png (4.38 KiB) 4755 mal betrachtet
Die Reihenfolge der Punkte ist bekannt, und alle liegen abgesehen von Rundungsfehlern in einer Ebene. Deshalb dachte ich, immer vier aufeinander folgende zu nehmen, und jeweils eine Ellipse zu konstruieren, wodurch dann einige der Mittelpunkte nahe beisammen liegen müssten; deren Mittelpunkt wäre dann der Mittelpunkt der gesuchten Ellipse.
Gibt es denn bei Ellipsen keine Möglichkeit wie beim Kreis, wo man die Mittelsenkrechten zwischen zwei Punktpaaren schneidet, nur eben etwas aufwendiger?

Benutzeravatar
tomS
Ehrenmitglied
Ehrenmitglied
Beiträge: 10670
Registriert: 19. Nov 2007, 20:29

Re: Ellipse identifizieren

Beitrag von tomS » 1. Mai 2013, 08:36

In dem Fall musst du die Punktewolke eben zunächst plotten und die unerwünschten Punkte aussondern.
Gruß
Tom

Der Wert eines Dialogs hängt vor allem von der Vielfalt der konkurrierenden Meinungen ab.
Sir Karl R. Popper

positronium
Ehrenmitglied
Ehrenmitglied
Beiträge: 2832
Registriert: 2. Feb 2011, 20:13

Re: Ellipse identifizieren

Beitrag von positronium » 1. Mai 2013, 11:05

Ich muss noch überlegen; vielleicht kann ich etwas mit den Winkeln zwischen den Segmenten machen, um die falschen Punkte auszusortieren, weil das alles vollautomatisch in einem Programm aublaufen muss.
Vielen Dank für Deine Hilfe!

Antworten