Schnittpunkt zweier Geraden, wenn eine parallel zur y-Achse liegt

Neue Frage »

Searinox Auf diesen Beitrag antworten »
Schnittpunkt zweier Geraden, wenn eine parallel zur y-Achse liegt
Hallo,
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.
verwirrt
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
 
 
Searinox Auf diesen Beitrag antworten »
RE: Schnittpunkt zweier Geraden, wenn eine parallel zur y-Achse liegt
Zitat:
Original von marc
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 ;-))
HTH,
Marc


Klasse 10, also von Vektoren habe ich nicht wirklich Ahnung Augenzwinkern .
Gibt's irgendwo Informationen zum Thema Geraden mit Vektoren?
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
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.
Searinox Auf diesen Beitrag antworten »

Vielen Dank euch allen,
Ich werde mich mal mit den angebotenen Lösungen beschäftigen.
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? Augenzwinkern Die Verwendung von Determinanten nebst Cramerscher Regel geht zudem noch schnell zu programmieren......
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
Neue Frage »
Antworten »



Verwandte Themen

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