![]() |
Gleichung umformen
Kann mir ja jemand mal bitte helfen? Ich suche den Schnittpunkt von Gerade und Ellipse.
Hierzu muß ich diese Formel (***) in eine ax^2 + bx + c Gleichung umformen. Ich schaffs nicht (mehr). :oops:
Delphi-Quellcode:
XLine1, YLine1, XLine2, YLine2, // Rect Gerade
aLine, bLine, // Geradengleichung XEllipse1, YEllipse1, XEllipse2, YEllipse2, // Rect Ellipse X, Y, // Mittelpunkt Ellipse aEllipse, bEllipse: double; // Ellipsengleichung begin X := (XEllipse2 + XEllipse1) / 2; Y := (YEllipse2 + YEllipse1) / 2; aEllipse := (XEllipse2 - XEllipse1) / 2; bEllipse := (YEllipse2 - YEllipse1) / 2; XLine1 := XLine1 - X; YLine1 := YLine1 - Y; XLine2 := XLine2 - X; YLine2 := YLine2 - Y; bLine := YLine1 - XLine1 * (YLine2- YLine1) / (XLine2 - XLine1); aLine := -YLine1 / ((YLine2- YLine1) / (XLine2 - XLine1)) - XLine1; // Line(x, y) = x / aLine + y / bLine = 1; // -> y = bLine * (1 - x / aLine); // Ellipse(x, y) = x^2 / aEllipse^2 + y^2 / bEllipse^2 = 1; -> x^2 / aEllipse^2 + (bLine * (1 - x / aLine))^2 / bEllipse^2 = 1; // *** |
AW: Gleichung umformen
Zunächst einmal bekommst du ein Problem, wenn die Gerade senkrecht (oder auch nur fast senkrecht) ist. Den Fall musst du abfangen.
Als Tip für die Ellipse: Du machst ja bereits eine Transformation so daß der Mittelpunkt der Ellipse den Nullpunkt darstellt. Wenn du jetzt noch eine Transformation machst, die eine Ellipse in einen Einheitskreis verwandelt, wird die Berechnung der Schnittpunkte (es gibt 0..2) einfacher. Nur nicht vergessen, am Ende wieder zurückzutransformieren. |
AW: Gleichung umformen
Liste der Anhänge anzeigen (Anzahl: 1)
Schon lange keine Geometrieaufgabe mehr gerechnet, deshalb habe ich mich mal dran versucht. Habe aber nicht überprüft, ob es stimmt, ohne Gewähr...
Die Gerade wird angegeben durch einen Punkt, der auf der Geraden liegt (s), und einen Richtungsvektor (v). Der Kreis liegt im Ursprung und hat den Radius 1. |
AW: Gleichung umformen
OK. Das hab ich ja auch befürchtet, daß man die Fälle 90/180° abfangen muß. Außerdem gibt's ja noch Pie und Arc Schnittpunkte zu berechnen. Dann lass ich's lieber so wie ich’s hab (Berechnung der Schnittpunkte für Ellipse und Co. temporär in Polygon umwandeln und IntersectLines). Thanx!
|
AW: Gleichung umformen
Wenn man mit Vektoren rechnet (siehe meine Lösung), muss man nichts abfangen.
|
AW: Gleichung umformen
es kommt immer darauf an, wie man die Koordinaten einer Geraden beschreibt, jede Gerade, ist im Unendlichen eine Kurve !
Ich würd es auch auch meinem Vorredner nachmachen, wobei man bei einer Ellipse darauf achten muss, dass ein kreis auch eine Ellipse ist :wink: vielleicht hilft Dir das weiter... |
AW: Gleichung umformen
Zitat:
|
AW: Gleichung umformen
Zitat:
Dann ist der Abstand von diesem Punkt zu jedem Punkt auf der Geraden auch ∞. Daraus folgt, dass die Gerade in diesem Fall eine Kurve sein muss ;) Oder andersherum, der Kurvenradius einer Geraden ist ∞ |
AW: Gleichung umformen
Das würde ja voraussetzen, dass ∞ eine Zahl ist, mit der ich konkrete Abstandsbestimmungen durchführen könnte. Da aber doch selbst "∞-∞ := undefined" gilt (und jede andere triviale Operation mit ∞ als Operand ebenso), kann dies nicht wirklich der Beweis sein. Das muss anders gehen.
Sprachlich leuchtet die Begründung ein, aber selbst da ist es noch immer "nur" eine Begründung. Kein Beweis, wie ich ihn mir jetzt vorgestellt hatte. Ich würde hier gerne doch wirklich mathematische eindeutige Terminologie sehen, kein Deutsch. Der Kurvenradius ist schon eine gute Sache, aber das sagt noch immer nicht, warum eine Gerade dann gerade in der Unendlichkeit erst eine Kurve ist. Die Strecke (0,0)(0,1) hat denselben Kurvenradius. |
AW: Gleichung umformen
Wenn die Gerade in der Unendlichkeit eine Kurve ist, dann sind die Teilmengen der Geraden (=Strecken) das ebenfalls ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz