Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

1

07.05.2012, 18:31

Schnittpunkt zweier Strecken

HI

Es tut mir in meinem mathematichem Herz weh, diese primitive Frage zu stellen,
aber ich bekomme es einfach nicht hin!

Wie kann ich bei zwei Strecken in einem 2D Raum den Schnittpunkt berechnen?
Habe schon 2 meiner Mathelehrer gefragt und die konnten mir auch keine richtige Antwort geben :P

Also meine bisherigen Ansätze waren:
1. Ich habe die Funktionsgraphen (y=mx + b) beiden Strecken, von denen ich jeweils Anfangs- und Endpunkt kenne,
aufgestellt und dann gegeneinander gestellt.
Das hat auch geklappt, nur nicht mehr, wenn eine (was sehr häufig passiert) parallel zur Y-Achse verläuft.

Dann mein 2. Ansatz, der mir mein Lehrer geraten hat;
Ich habe die Graphen jeweils so dagestellt: §S = A + m*AB§ und §S = C + l*CD§
und da es ja Vectoren mit 2 komponenten sind und ich zwei fehlende Variablen habe, konnte ich dann auch den Schittpunkt ausrechnen.
Musste aber Sonderfälle einprogrammieren, wenn diese Parallel verlaufen.
Und jetzt ist mir aufgefallen, dass meine Rechneungen auch Fehler auswerfen (welche aber nicht an meiner programmierung liegen, sondern an der Unregelmässigkeit der ergebnisse),
wenn die Strecken senkrecht aufeinander stehen.

Also schlussendlich brauche ich Idee, wie ich es hinbekomme, den Schnittpunkt, sowohl wenn die beiden parallel, als auch senkrecht stehen, auszurechnen!

Hat da jemand eine Idee?

Danke
ProAmateur
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

2

07.05.2012, 18:54

Steht das nicht in der Wiki? https://www.spieleprogrammierer.de/wiki/…isionserkennung

Im Grunde musst du die Gerade nur in lineare Gleichungen umformen, sie gleichsetzen, auf die beiden Sonderfälle prüfen und schauen ob der Punkt auf beiden Strecken liegt.
Die zwei Sonderfälle:
Die Steigung ist gleich -> Sie sind Parallel
Sie haben zusätzlich die selbe Nullstelle -> sie sind gleich
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

3

07.05.2012, 20:11

Ja, hab das in der Wiki schon gesehen, hab es auch ausprobiert, es klappt aber nicht.
D.h. wenn müsste ich noch eine Abfrage machen, ob sie senkrecht auf einander stehen oder parallel,
aber das war es ja, was ich vermeiden wollte!

Das was du da erklärt hast, war ja mein erster Versuch. Nur der hat ja nicht funktioniert, weil es da dann auch wieder
probleme gab, "wenn eine (was sehr häufig passiert) parallel zur Y-Achse verläuft."

da müsste es doch eig eine einfachere Möglichkeit geben, als immer diese doofen Fallunterscheideungen!

Hat nit sonst noch jemand eine Idee?
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

4

07.05.2012, 20:22

Du kannst die Strecken beide so rotieren, dass eine Strecke auf der x-Achse ausgerichtet ist. Dann suchst du den Schnittpunkt und rotierst zurück. Aber ich bezweifel, dass das Sinnvoller ist.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

5

07.05.2012, 20:35

Aber wenn sie senkrecht zu einander stehen und ich sie rotiere, ist ja die anderer immer noch parallel zur y Achse...
Keine besser Idee?
Vll einfach in eine ganz andere Richtung?
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

6

07.05.2012, 20:43

Ich bitte um Entschuldigung, wenn das hier falsch ist, aber wieso benutzt du nicht einfach ein Gleichsetzungsverfahren, Determinantenverfahren (Empfohlen, wenn es am Computer sein soll), Additionsverfahren oder das Einsetzverfahren ein?

PDF

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

7

07.05.2012, 20:48

Ja ich glaube, das is grad ein bisschen fehl am Platz :D
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

8

07.05.2012, 20:49

Ohhh...hatte ich mir iwie gedacht. xD

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

9

07.05.2012, 20:50

Da musst du in jedem Fall eine Fallunterscheidung machen. Wenn es keinen Schnittpunkt gibt, dann gibt es eben keinen. Was willst du da noch berechnen?
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

10

07.05.2012, 20:55

Ich meine, ob es keine andere Möglichkeit gibt, die das richtige Ergebnis liefen egal ob es parallel, senkrecht oder was weiß ich ist... ?? ;D
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

Werbeanzeige