Forum:  Geometrie
Thema: Ellipsenmittelpunkt berechnen
Themen-Übersicht
frankkaktus
Junior
Dabei seit: 05.03.2021
Mitteilungen: 6
Themenstart: 2021-03-05 11:38

Hallo,

ich möchte den Mittelpunkt einer Ellipse berechnen, von der Folgendes gegeben ist:
- die Ellipse befindet sich frei auf der Fläche (Mittelpunkt verschieden von 0,0)
- die Achsen der Ellipse verlaufen parallel zu den Koordinatenachsen
- Anfangs- und Endpunkt eines Bogens
- Radien der Halbachsen
Damit ergeben sich 4 mögliche Lösungen, die durch zwei zusätzliche Boolean eingeschränkt werden:
- Nutzung des kleinen oder großen Ellipsenbogens
- Zeichenrichtung links oder rechts

Hintergrund ist der Pfadbefehl im SVG-Grafikformat, der auch Ellipsenbögen beschreibt. Die Beschreibung erfolgt in der Endpunktedarstellung, zeichnen kann man aber nur mit der Zentraldarstellung.

Auf wikibooks.org gibt es eine entsprechende Lösung (allerdings ohne Herleitung), die das Problem beschreibt, leider mit zwei Einschränkungen:
- die beiden Terme des Hilfswertes R sind zu addieren statt zu subtrahieren
- funktioniert nur, wenn die beiden Punkte einen Abstand von 90° auf dem Ellipsenbogen haben (leider halten sich die Grafikprogramme nicht an diese Einschränkung)

Geometrisch kann ich mir die Lösung vorstellen, mit einem Kreisbogen auch die analytische Lösung. Bei einer Ellipse habe ich leider keinen Ansatz gefunden. Kann mir da jemand auf die Sprünge helfen?


Diophant
Senior
Dabei seit: 18.01.2019
Mitteilungen: 7450
Wohnort: Rosenfeld, BW
Beitrag No.1, eingetragen 2021-03-05 11:54

Hallo und willkommen hier im Forum!

Ich verstehe das noch nicht so ganz. Könnte man das mathematisch so zusammenfassen: du kennst von einer achsenparallelen Ellipse die Länge beider Halbachsen sowie die Koordinaten von zwei beliebigen Punkten auf der Ellipse?

Falls ja: ist bekannt, welche der Halbachsen senkrecht und welche waagerecht verläuft?

Könntest du das bestätigen oder, falls ich es falsch verstanden habe, noch versuchen zu präzisieren?


Gruß, Diophant


[Verschoben aus Forum 'Analysis' in Forum 'Geometrie' von Diophant]


frankkaktus
Junior
Dabei seit: 05.03.2021
Mitteilungen: 6
Beitrag No.2, vom Themenstarter, eingetragen 2021-03-05 12:47

Hallo Diophant,

Danke für die schnelle Reaktion...

Ja, die Länge und Richtung beider Halbachsen sind bekannt. Somit kann man die Ellipse vollständig zeichnen, weiß aber nicht wohin, da ein eindeutiger Bezugspunkt zum Koordinatensystem fehlt.

Zum besseren Verständnis in Kurzform die Beschreibung des Ellipsenbogens des SVG-Pfades:

Mit dem Pfad-Befehl wird praktisch eine Schildkrötengrafik realisiert, d.h. es ist eine Aneinanderreihung von Wegelementen, ein mögliches Wegelement ist dann der Ellipsenbogen mit den folgenden Parametern:
- rx: Halbachse in X-Richtung
- ry: Halbachse in Y-Richtung
- phi: Neigung der Halbachsen gegenüber dem Koordinatensystem (habe ich durch Drehung des Koordinatensystems schon mal eliminiert, in diesem Schritt kann man auch einen bekannten Punkt, z.B. Anfangs- oder Endpunkt, zum Nullpunkt machen)
- lf: kleiner oder großer Bogen
- sf: Richtung des Zeichnens
- x, y: Endpunkt des Wegstücks
Der Anfangspunkt ist die aktuelle Position.

Gruß, Frank


Diophant
Senior
Dabei seit: 18.01.2019
Mitteilungen: 7450
Wohnort: Rosenfeld, BW
Beitrag No.3, eingetragen 2021-03-05 13:44
\(\begingroup\)\(\newcommand{\ba}{\begin{aligned}} \newcommand{\ea}{\end{aligned}} \newcommand{\bpm}{\begin{pmatrix}} \newcommand{\epm}{\end{pmatrix}} \newcommand{\bc}{\begin{cases}} \newcommand{\ec}{\end{cases}} \newcommand{\on}{\operatorname} \newcommand{\ds}{\displaystyle}\)
Hallo,

ich bitte um Verständnis, dass ich mit dieser Syntax nicht so viel anfangen kann.

Ich fasse nochmal zusammen und bitte um Bestätigung bzw. Korrektur:

Von einer achsenparallelen Ellipse im \(\IR^2\) sind bekannt:

- Länge und Richtung beider Halbachsen
- die Koordinaten zweier Punkte auf der Ellipse.

Falls ja: das lässt sich meiner Ansicht nach nicht eindeutig lösen. Da wird es immer bei den von dir genannten zwei Möglichkeiten bleiben.

Oder gibt es da noch eine weitere Einschränkung, die ich übersehen habe?


Gruß, Diophant
\(\endgroup\)

haribo
Senior
Dabei seit: 25.10.2012
Mitteilungen: 3035
Beitrag No.4, eingetragen 2021-03-05 14:07

ich verstehe auch nicht, wie genau du eine ellipse konstruierst mit deinem program

aber fals ich es richtig interpretiere hast du einen teil einer ellipse, insbesondere die endpunkte davon (gelbe linie) und kennst die grösse und ausrichtung der beiden (roten) hauptachsen, aber nicht deren genaue lage

dann könnte man so konstruieren:


zwei hilfsellipsen mit den gleichen hauptachsen in die endpunkte (des hier gelben gegebenen abschnittes)zeichnen( blau), sie schneiden sich in S, von S zurück zu einem ende des abschnittes eine gerade zeichnen (grüner pfeil), und diese grüne linie kann man dann parallel zu jedem anderen gewünschten ort der blauen schieben und damit den entsprechenden ort der roten, nicht gegebenen ellipse, finden, also einen achsenendpunkt... oder den mittelpunkt... usw

hilft das?
haribo

(und ich seh gerade offenbar liegt am zweite schnittpunkt der beiden blauen ellipsen der rechte endpunkt der roten hauptachse?... das wusste ich bisher selber nicht)



[Die Antwort wurde nach Beitrag No.2 begonnen.]


frankkaktus
Junior
Dabei seit: 05.03.2021
Mitteilungen: 6
Beitrag No.5, vom Themenstarter, eingetragen 2021-03-05 15:39

Hallo Diophant,

sorry für meine Ausdrucksweise, ich habe mehr elektro- und programiertechnischen Hintergrund als mathematischen...

Deine Angaben sind korrekt und auch, dass mit den Endpunkten und den Halbachsen die Lösung nicht eindeutig ist. Die möglichen 4 Lösungen sind in diesem Bild dargestellt. Daher werden zusätzliche Parameter angegeben, die die gewünschte Lösung selektiert.

==> "lf" selektiert, ob die Lösungbogen kleiner oder größer 180° sein soll
==> "sf" selektiert, ob der Lösungsbogen im Uhrzeigersinn oder entgegengesetzt durchlaufen werden soll.

Für die blaue Lösung müsste damit z.B. ein kleiner Bogen ausgewählt werden, der entgegen des Uhrzeigersinns zu durchlaufen ist. Ich gehe mal davon aus, dass im Laufe der Lösung zwei quadratische Gleichungen zu lösen sind und die Parameter jeweils das Vorzeichen auswählen.

Somit wird die Lösung eindeutig...

Gruß, Frank


frankkaktus
Junior
Dabei seit: 05.03.2021
Mitteilungen: 6
Beitrag No.6, vom Themenstarter, eingetragen 2021-03-05 22:31

Hallo Haribo,

sehr interessanter Ansatz. Statt der rechten Seite habe ich die Mittelpunkte der Hilfsellipsen (blau & rot) auf den Anfangs- und den Endpunkt gesetzt. Die Schnittpunkte stellen dann die Mittelpunkte der möglichen Lösungen dar. Die grüne Ellipse wäre die von mir gesuchte. Die Schnittpunkte analytisch zu ermitteln gehe ich dann morgen mal an...

Vielen Dank für den Ansatz! Hoffe, ich kann bald die Lösung ins Forum  stellen...

Gruß, Frank


MontyPythagoras
Senior
Dabei seit: 13.05.2014
Mitteilungen: 2790
Wohnort: Werne
Beitrag No.7, eingetragen 2021-03-05 23:37

Hallo frankkaktus,
seien $x_i$ und $y_i$ mit $i=1..2$ die Koordinaten, $a$ und $b$ die Halbachsen und $x_m$ und $y_m$ die gesuchten Mittelpunkte, dann gilt:
$$\frac{(x_i-x_m)^2}{a^2}+\frac{(y_i-y_m)^2}{b^2}=1$$Nun substituierst Du einfach
$$\xi_i=\frac{x_i}a\qquad\eta_i=\frac{y_i}b$$und genauso für den Mittelpunkt. Dann wird die Ellipsengleichung zur Gleichung eines Kreises mit dem Radius 1:
$$(\xi_i-\xi_m)^2+(\eta_i-\eta_m)^2=1$$Wenn Du Dir das nun aufmalst, kann man die Lösung für den gesuchten Mittelpunkt direkt hinschreiben. Der Kreismittelpunkt ist der Mittelpunkt zwischen den Punkten 1 und 2, plus oder minus einem Vektor, der senkrecht auf die Verbindungslinie zwischen den Punkten 1 und 2 steht, und dessen Länge so gewählt wird, dass der Kreismittelpunkt eben den Abstand 1 zu den Punkten 1 und 2 hat. Klingt kompliziert, ist es aber nicht. Also:
$$\binom{\xi_m}{\eta_m}=\frac12\binom{\xi_1+\xi_2}{\eta_1+\eta_2}\pm\binom{-\eta_1+\eta_2}{\xi_1-\xi_2}\frac{\sqrt{1-\frac14\left((\xi_1-\xi_2)^2+(\eta_1-\eta_2)^2\right)}}{\sqrt{(\xi_1-\xi_2)^2+(\eta_1-\eta_2)^2}}$$Nun noch zurück substituieren und ein wenig vereinfachen:
$$\binom{x_m}{y_m}=\frac12\binom{x_1+x_2}{y_1+y_2}\pm\frac12\binom{-\frac ab(y_1-y_2)}{\frac ba(x_1-x_2)}\sqrt{\frac{4a^2b^2}{b^2(x_1-x_2)^2+a^2(y_1-y_2)^2}-1}$$ Ciao,

Thomas


frankkaktus
Junior
Dabei seit: 05.03.2021
Mitteilungen: 6
Beitrag No.8, vom Themenstarter, eingetragen 2021-03-07 14:08

Hallo Thomas,

super! Die Lösung funktioniert. Habe ich erst mal in Calc umgesetzt (und dabei noch das eine oder andere über Ellipsen erfahren).

Ganz vielen Dank an Dich, Haribo und Diophant!

Gruß, Frank


haribo
Senior
Dabei seit: 25.10.2012
Mitteilungen: 3035
Beitrag No.9, eingetragen 2021-03-07 17:34

möglicherweise gibt es auch noch die 90° gedrehten versionen, fals nicht bekannt ist welche hauptachse in x und welche in y richtung liegt


haribo


frankkaktus
Junior
Dabei seit: 05.03.2021
Mitteilungen: 6
Beitrag No.10, vom Themenstarter, eingetragen 2021-03-07 20:57

Hallo Haribo,

Stimmt, wenn man nur die Radien selbst gegeben hätte, würden weitere Lösungen hinzukommen. Im speziellen Fall sind die Radien den Achsen aber fest zugeordnet sind, so dass keine weitern Lösungen in Frage kommen.

Deinen Ansatz hatte ich auch verfolgt, allerdings wurden die Ausdrücke zur Berechnung der Schnittpunkte der beiden Ellipse relativ schnell komplex, so dass ich mich mehrfach verheddert habe. Merke leider, dass meine Mathefähigkeiten mit der Zeit doch reichlich eingerostet sind.

Nochmal ganz vielen Dank!

Frank




Dieses Forumbeitrag kommt von Matroids Matheplanet
https://https://matheplanet.de

Die URL für dieses Forum-Thema ist:
https://https://matheplanet.de/default3.html?topic=252687=60
Druckdatum: 2021-08-05 04:21