Mittelpunkt einer Ellipse berechnen (anhand zweier Punkte, a und b)

Neue Frage »

Sebastian2004 Auf diesen Beitrag antworten »
Mittelpunkt einer Ellipse berechnen (anhand zweier Punkte, a und b)
Meine Frage:
Ich suche nach einer Formel/Funktion um den Mittelpunkt einer (zu den Koordiantensystemachsen parallelen) Ellipse zu berechnen und würde mich sehr über Hilfe freuen. Gegeben sind dazu zwei Punkte, welche auf der Ellipse liegen und die Werte für a und b. Sofern ich mich nicht vertan habe, sollten als Ergebnis maximal zwei zulässige Mittelpunkte herauskommen.

Meine Ideen:
Ich kenne mich in dem Themengebiet nicht so gut aus, das einzige was mir einfällt, wäre die Ellipsengleichung zu nehmen und jeweils die Punkte einzusetzen, wodurch ich ein Gleichungssystem mit zwei Variablen und zwei Gleichungen hätte, was also Lösbar ist. Ich bin nur nicht sonderlich gut darin diese in eine einzige Funktion umzuwandeln. Vielleicht gibt es auch eine effizientere Lösung.
HAL 9000 Auf diesen Beitrag antworten »

OK, die zwei gegebenen Punkte seien und , dann gelten die beiden Gleichungen





für die beiden Unbekannten . Bilde zunächst die Differenz (1)-(2), dann bekommst du eine lineare Gleichung in , die du nach einer der beiden Größen (z.B. ) umstellen kannst um das dann in (1) einzusetzen. Das ergibt für die verbliebene Unbekannte (im Beispiel ) dann eine quadratische Gleichung.
Sebastian2004 Auf diesen Beitrag antworten »

Vielen Dank für die Hilfe, ich habe es so geschafft mein Problem zu lösen. Die gesuchten Gleichungen lauten (x,y = P1, s,t = P2, bitte entschuldigt, dass ich das nicht als Formel schreibe, aber dafür ist das ganze viel zu lang.)

h = (a^2((-y^2+2ky+t^2-2kt)/b^2+(s^2-x^2)/a^2)/(2s-2x)

k1/2 (Z=+;!Z=- für k1 und umgekehrt für k2) = Z((b*x-b*s)*sqrt(-a^4*y^4+4*a^4*t*y^3+(-2*a^2*b^2*x^2+4*a^2*b^2*s*x-6*a^4*t^2-2*a^2*b^2*s^2+4*a^4*b^2)*y^2+(4*a^2*b^2*t*x^2-8*a^2*b^2*s*t*x+4*a^4*t^3+(4*a^2*b^2*s^2-8*a^4*b^2)*t)*y-b^4*x^4+4*b^4*s*x^3+(-2*a^2*b^2*t^2-6*b^4*s^2+4*a^2*b^4)*x^2+(4*a^2*b^2*s*t^2+4*b^4*s^3-8*a^2*b^4*s)*x-a^4*t^4+(4*a^4*b^2-2*a^2*b^2*s^2)*t^2-b^4*s^4+4*a^2*b^4*s^2))/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)+(a^3*y^3)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)-(a^3*t*y^2)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2- 4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)+Z((Za*b^2*x^2+!Z2*a*b^2*s*x+!Za^3*t^2+Za
*b^2*s^2)*y)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)+(a*b^2*t*x^2)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)-(2*a*b^2*s*t*x)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)+(a^3*t^3)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)+(a*b^2*s^2*t)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)
mYthos Auf diesen Beitrag antworten »

Wer soll in diesem Konvolut, welches vermutlich von einem CAS stammt, die Parameter einsetzen, geschweige denn das Ergebnis kontrollieren können?

Hast du dies schon mal gemacht und ein vernünftiges Resultat erhalten?

mY+
HAL 9000 Auf diesen Beitrag antworten »

Ich bitte um Entschuldigung für den Vorzeichenfehler-Typo, natürlich war





gemeint. Man kann den Formelwurst etwas bändigen, indem man zunächst in einem "verschobenen" Koordinatensystem arbeitet, mit dem Punkt des Originalsystems als Ursprung. Mit sowie ist dann nämlich



.

Der Tipp von oben bleibt bestehen, Subtraktion der beiden Gleichungen führt direkt auf .

Im Fall kann man dann in (1) einsetzen und die entstehende quadratische Gleichung für lösen.


EDIT: Ok, ich hab's mal gemacht - ist durch die obige "Zentrierung" dann gar nicht mehr so wild.









.


Damit kommt zu folgender übersichtlichen Berechnung:

1) Berechnung der Hilfsgrößen sowie (d.h. zwei Werte).

2) Die Ellipsenmittelpunktkoordinaten sind und .


EDIT2: Sieht so aus, als habe Sebastian2004 das Interesse verloren.
Sebastian2004 Auf diesen Beitrag antworten »

Entschuldigung für die späte Antwort.

Ja, meine Lösung funktioniert für meine Zwecke. Die Lösung von HAL 9000 werde ich demnächst auch einmal ausprobieren.
Vielen Dank euch allen für die Hilfe.
 
 
HAL 9000 Auf diesen Beitrag antworten »

Die Entscheidung zwischen

Zitat:
Original von Sebastian2004
h = (a^2((-y^2+2ky+t^2-2kt)/b^2+(s^2-x^2)/a^2)/(2s-2x)

k1/2 (Z=+;!Z=- für k1 und umgekehrt für k2) = Z((b*x-b*s)*sqrt(-a^4*y^4+4*a^4*t*y^3+(-2*a^2*b^2*x^2+4*a^2*b^2*s*x-6*a^4*t^2-2*a^2*b^2*s^2+4*a^4*b^2)*y^2+(4*a^2*b^2*t*x^2-8*a^2*b^2*s*t*x+4*a^4*t^3+(4*a^2*b^2*s^2-8*a^4*b^2)*t)*y-b^4*x^4+4*b^4*s*x^3+(-2*a^2*b^2*t^2-6*b^4*s^2+4*a^2*b^4)*x^2+(4*a^2*b^2*s*t^2+4*b^4*s^3-8*a^2*b^4*s)*x-a^4*t^4+(4*a^4*b^2-2*a^2*b^2*s^2)*t^2-b^4*s^4+4*a^2*b^4*s^2))/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)+(a^3*y^3)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)-(a^3*t*y^2)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2- 4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)+Z((Za*b^2*x^2+!Z2*a*b^2*s*x+!Za^3*t^2+Za
*b^2*s^2)*y)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)+(a*b^2*t*x^2)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)-(2*a*b^2*s*t*x)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)+(a^3*t^3)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)+(a*b^2*s^2*t)/(2*a^3*y^2-4*a^3*t*y+2*a*b^2*x^2-4*a*b^2*s*x+2*a^3*t^2+2*a*b^2*s^2)

und

Zitat:
Original von HAL 9000 (leicht aufwandsoptimiert)
1) Berechnung der Hilfsgrößen sowie (d.h. zwei Werte).

2) Die Ellipsenmittelpunktkoordinaten sind und .

fällt natürlich sehr schwer. Augenzwinkern

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
def calc_ellipse(a,b,P1,P2):
    u,v = (P1[0]-P2[0])/(2*a),(P1[1]-P2[1])/(2*b)
    t = u**2 + v**2
    if t > 1.0:
        # P1 und P2 liegen zu weit auseinander, als dass es eine solche Ellipse geben kann
        return 0,(0,0),(0,0)
    t = math.sqrt(1/t-1)
    v *= a*t
    u *= b*t
    x,y = (P1[0]+P2[0])/2,(P1[1]+P2[1])/2
    # Rückgabewert: Anzahl Lösungen, Mittelpunkt 1, Mittelpunkt 2
    return 2,(x+v,y-u),(x-v,y+u)
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »