Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
29. Jan 2014
Wow. Wenn man das so schön erklärt bekommt dann versteht man das auch. Man strecht also das Problem auf den Einheitskreis und wieder zurück. Vielen lieben Dank für deine Skizze :thumb: . Jetzt weiß ich auch was Uwe oben gemeint hat mit " .. dann wird‘s ganz einfach.".
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
28. Jan 2014
Ich weiß leider nicht wie ich es dir noch verständlicher machen soll? Der Vektor P beschreibt die Punkte der Ellipse in Polarkoordinaten.
E(X, Y) = f(Phi, P) , Phi 0 .. 360 , bzw. bei Arc Phie = Alpha .. Alpha + Beta
Zur Berechnung der Länge von P wird als Hilfswert der Abstand e der Brennpunkte vom Mittelpunkt berechnet:
e = Sqrt(a^2 – b^2). Daraus folgt, daß a > b sein muß.
Was ist...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
28. Jan 2014
Here we go. Ich hoffe du kannst meine Sauklaue lesen..
BTW, kann man diese Diskussion mal abtrennen?
Edit: In der Skizze muß es nautürlich a > b heißen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
27. Jan 2014
Mit den geposteten Formeln kannst du sozusagen Canvas.Arc P3 und P4 exakt ermitteln, wenn du zwei Winkel vorgibst. Der Sinn des Ganzen besteht darin Arc oder Pie als Polygon zu erfassen (for Phie = StartWinkel to EndWinkel). X1, Y1 ist der Mittelpunkt und a bzw. b die Radien der Ellipse. Das Ganze funktioniert halt nur nicht, wenn die Ellipse in der 2. Hauptlage vorliegt (a < b), dann gelten...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
27. Jan 2014
Ok. Vielen Dank. Man macht das wohl noch anders.. Weiß jemand wie diese Formel für p^2 zu benutzen ist, falls b > a?
// Edit
Also das mein ich:
Eps := Sqrt(A * A - B * B) / A;
ACos := Cos(DegToRad(Phi));
ASin := Sin(DegToRad(Phi));
P := Sqrt(B * B / (1 - Eps * Eps * ACos * ACos));
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
27. Jan 2014
Hätte nicht gedacht daß die Ellipse so viel komplizierter ist wie ein Kreis? Ist es möglich diese Gleichung nach Alpha umzustellen? :gruebel:
Phi = (B * Sin(Alpha)) / (A * cos(Alpha))
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
16. Jan 2014
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!
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
16. Jan 2014
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:
XLine1, YLine1, XLine2, YLine2, // Rect Gerade
aLine, bLine, // Geradengleichung
XEllipse1, YEllipse1, XEllipse2, YEllipse2, // Rect Ellipse
X, Y, // Mittelpunkt Ellipse
aEllipse,...