AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Gleichung umformen

Ein Thema von Bjoerk · begonnen am 16. Jan 2014 · letzter Beitrag vom 29. Jan 2014
Antwort Antwort
Seite 1 von 5  1 23     Letzte » 
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

Gleichung umformen

  Alt 16. Jan 2014, 12:56
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).

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; // ***
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.989 Beiträge
 
Delphi 12 Athens
 
#2

AW: Gleichung umformen

  Alt 16. Jan 2014, 13:35
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Gleichung umformen

  Alt 16. Jan 2014, 14:18
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.
Miniaturansicht angehängter Grafiken
schnittpunkt-kreis-gerade.jpg  
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Gleichung umformen

  Alt 16. Jan 2014, 15:03
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!
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Gleichung umformen

  Alt 16. Jan 2014, 19:19
Wenn man mit Vektoren rechnet (siehe meine Lösung), muss man nichts abfangen.
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#6

AW: Gleichung umformen

  Alt 16. Jan 2014, 20:07
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

vielleicht hilft Dir das weiter...
Christian
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#7

AW: Gleichung umformen

  Alt 17. Jan 2014, 00:42
Zitat:
jede Gerade, ist im Unendlichen eine Kurve !
Hierzu würde ich gerne mal einen Beweis sehen. Nicht um überheblich zu klingen, sondern weil mich es echt interessieren würde. (Zumal ich erst kürzlich lernen durfte, dass ∑(i), i := 1 → ∞ = -1/12 ist. Völlig gegen jegliche Intuition, aber dennoch beweis- und anwendbar.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Gleichung umformen

  Alt 17. Jan 2014, 00:51
Zitat:
jede Gerade, ist im Unendlichen eine Kurve !
Hierzu würde ich gerne mal einen Beweis sehen. Nicht um überheblich zu klingen, sondern weil mich es echt interessieren würde. (Zumal ich erst kürzlich lernen durfte, dass ∑(i), i := 1 → ∞ = -1/12 ist. Völlig gegen jegliche Intuition, aber dennoch beweis- und anwendbar.)
Nimm dir einen beliebigen Punkt im Abstand ∞ zur Geraden.
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 ∞
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#9

AW: Gleichung umformen

  Alt 17. Jan 2014, 01:05
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.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Gleichung umformen

  Alt 17. Jan 2014, 02:48
Wenn die Gerade in der Unendlichkeit eine Kurve ist, dann sind die Teilmengen der Geraden (=Strecken) das ebenfalls
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz