Schnittpunkt zweier Geraden, wenn eine parallel zur y-Achse liegt |
20.03.2004, 14:23 | Searinox | Auf diesen Beitrag antworten » | ||
Schnittpunkt zweier Geraden, wenn eine parallel zur y-Achse liegt Ich schreibe zur Zeit ein Programm, um den Schnittpunkt zweier Geraden, von denen ich je zwi Punkte kenne, herauszufinden. Das klappt auch soweit, bis eine der beiden Geraden eine Parallele zur y-Achse ist (was leider recht häufig vorkommt). Hier ist mal der aktuelle Code (C#): // Berechne den Schnittpunkt der entsprechenden Geraden double m1 = (y2-y1)/(x2-x1); double m2 = (y4-y3)/(x4-x3); double b1 = y1-x1*m1; double b2 = y3-x3*m2; if (m1==m2 && b1==b2) // Unendlich viele Schnittpunkte return false; else if (m1==m2 && b1!=b2) // Kein Schnittpunkt return false; double xs = (b1-b2)/(m2-m1); double ys = m1*xs+b1; Ich vermute mal, dass ich mit der Geradengleichung in dieser Form nicht weiterkomme. Könnt ihr mir helfen? Danke, Searinox. P.S. Ich hoffe mal, dass dies das korrekte Unterforum ist. |
||||
20.03.2004, 14:37 | marc | Auf diesen Beitrag antworten » | ||
RE: Schnittpunkt zweier Geraden, wenn eine parallel zur y-Achse liegt Hallo, das ist ja auch ganz klar, da bei einer Parellelen zur y-Achse die x-Koordinaten aller Punkte (und damit auch der beiden gegebenen) identisch sind; deine Berechnungen der Steigungen m1 und m2 versagen dann (Division durch Null). Mein Vorschlag ist, das ganze mit Vektoren zu modellieren (ich weiß allerdings nicht, in welche Klasse du gehst, aber wenn du programmieren kannst, wirst du die Vektorrechnung auch verstehen ;-)) Als zweite --unschöne-- Alternative könntest du Fallunterscheidungen machen, also abfragen, ob keine, eine oder zwei Geraden senkrecht sind und dann für jeden Fall die Schnittpunkte berechnen. HTH, Marc |
||||
20.03.2004, 15:05 | Searinox | Auf diesen Beitrag antworten » | ||
RE: Schnittpunkt zweier Geraden, wenn eine parallel zur y-Achse liegt
Klasse 10, also von Vektoren habe ich nicht wirklich Ahnung . Gibt's irgendwo Informationen zum Thema Geraden mit Vektoren? |
||||
20.03.2004, 15:11 | Drödel | Auf diesen Beitrag antworten » | ||
RE: Schnittpunkt zweier Geraden, wenn eine parallel zur y-Achse liegt Probiers mal hier: http://www.matheboard.de/thread.php?threadid=580&sid= Dort steht einiges über Vektoren, allerdings meist gleich für den 3-dimensionalen Fall verfasst. Ob du das für dein Programm lernen willst (interessant ist es allemal und man kann das eine oder andere mtr analytischer Geometrie schneller lösen) oder dich doch für ne Fallunterscheidung entscheidest ... Happy Mathing |
||||
20.03.2004, 16:32 | Anirahtak | Auf diesen Beitrag antworten » | ||
Hallo! Wenn deine Gerade parallel zur y-Achse ist, dann ist sie doch senkrecht, es gilt also x1=x2. Du könntest also erst prüfen, ob x1=x2 und/oder x3=x4. Ist das nicht der Fall gehts so weiter wie du schon geschrieben hast. Sonst weißt du ja schon die x-Koordinate das Schnittpunkts x=x1=x2 und es dürfte nicht so schwer sein die y-Koordinate dazu zu berechnen... Oder hab ich was falsch verstanden? Gruß Anirahtak. |
||||
20.03.2004, 16:57 | Searinox | Auf diesen Beitrag antworten » | ||
Vielen Dank euch allen, Ich werde mich mal mit den angebotenen Lösungen beschäftigen. |
||||
Anzeige | ||||
|
||||
20.03.2004, 17:36 | Drödel | Auf diesen Beitrag antworten » | ||
@Anirathak Klar geht das mit der Fallunterscheidung leichter die "schlechten Punkte auszusortieren". Aber den Schnittpunkt von zwei Geraden mittels analytischer Geometrie zu suchen ist doch "schick", oder? Die Verwendung von Determinanten nebst Cramerscher Regel geht zudem noch schnell zu programmieren...... |
||||
20.03.2004, 18:48 | Anirahtak | Auf diesen Beitrag antworten » | ||
@Drödel: Natürlich ist deine Methode sehr schick und auch effizient. Aber ich meine, dass nicht immer die schönste Methode auch die beste ist. Wenn man noch nie was von Vektoren gehört hat, dann würde ich schon sagen, dass ein paar Fallunterscheidungen (die man aus schon bekanntem Wissen herleiten kann) gegenüber dem autodidaktischen Erlernen der Vektorrechnung eine durchaus überlegenswerte Alternative ist. Aber wie gesagt, das ist meine Meinung... - und es liegt ganz an Searinox sie für die im liebere Alternative zu entscheiden. Gruß Anirahtak |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |