AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schneiden sich 2 Strecken?

Ein Thema von Florian H · begonnen am 1. Aug 2004 · letzter Beitrag vom 1. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#1

Schneiden sich 2 Strecken?

  Alt 1. Aug 2004, 12:39
Hi,

wie kann ich herausfinden (mathematisch), ob sich 2 Strecken schneiden?

Ich habe die Koordinaten der Endpunkte.

grüße
flo
Florian Heft
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#2

Re: Schneiden sich 2 Strecken?

  Alt 1. Aug 2004, 12:42


z.B. die Geraden legen und schauen, ob die sich schneiden


mfg Tobias
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
DelphiFreund

Registriert seit: 29. Jul 2004
Ort: München
127 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Schneiden sich 2 Strecken?

  Alt 1. Aug 2004, 12:44
Gleichsetzen, wenn die Gleichnung keine Lösun ghat, schneiden sie sich, wenn sie sich schneiden hast du auch gleich den Schnittpunkt.

Gruß DelphiFreund
Sandro
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Schneiden sich 2 Strecken?

  Alt 1. Aug 2004, 12:45
Das Intervall [X1min, X1max] muss sich mit dem Intervall [X2min, X2max] ueberschneiden *und* das selbe fuer die beiden Y-Intervalle.
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#5

Re: Schneiden sich 2 Strecken?

  Alt 1. Aug 2004, 12:46
ok danke!
Florian Heft
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Schneiden sich 2 Strecken?

  Alt 1. Aug 2004, 12:50
@ Delphifreund:
Achtung: Es geht um Strecken und nicht um Geraden !!

@ Robert:
Siehe Anhang, Ich glaub, der Ansatz geht nicht. (Blau sind die Intervalle [x.min-xmax] , rot entsprechend mit y)
Miniaturansicht angehängter Grafiken
geht_nicht.jpg  
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#7

Re: Schneiden sich 2 Strecken?

  Alt 1. Aug 2004, 12:59
Hast recht. War auch nur ein Schnellschuss.
Ist also eine notwendige, aber nicht hinreichende Bedingung.
  Mit Zitat antworten Zitat
DelphiFreund

Registriert seit: 29. Jul 2004
Ort: München
127 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Schneiden sich 2 Strecken?

  Alt 1. Aug 2004, 13:13
@Toxman: Das spielt keine Rolle, er braucht doch dann nur noch prüfen, ob der Schnittpunkt im richtigen Bereich liegt.

Gruß DelphiFreund
Sandro
  Mit Zitat antworten Zitat
rantanplan99
(Gast)

n/a Beiträge
 
#9

Re: Schneiden sich 2 Strecken?

  Alt 1. Aug 2004, 13:42
Also, des wird jetzt länger *g*

Gegeben:
(x11,y11) und (x12,y12) die Anfangs- und Endpunkte deiner ersten Strecke
(x21,y21) und (x22,y22) die Anfangs- und Endpunkte deiner zweiten Strecken

Gesucht:
die Koordinaten (x,y) des Schnittpunkts P

Lösung:
Wir erweitern die Strecken zu geraden, und berechnen den Schnittpunkt der zwei Geraden
Zunächst brauchen wir die Steigung der 2 Geraden

m1 = (x11-x12)/(y11-y12) oder wenn wir es vom Schnittpunkt P aus berechnen
m1 = (x-x12)/(y-y12) (*2*)
Selbes für m2
m2 = (y21-y22)/(x21-x22) bzw.
m2 = (y-y22)/(x-x22) (*1*)

Dann stellen wir dir Formeln (*1*) und (*2*) wie folgt um:
m1 * (y-y12) + x12 = x (*3*)
m2 * (x-x22) + y22 = y (*4*)

Jetzt setzen wir y aus (*4*) ind Gleichung (*3*) ein:
m1 * ((m2 * (x-x22) + y22)-y12) + x12 = x (*5*)

Dann lösen wir Gleichung (*5*) nach x auf:
(Rechenweg spare ich mir)
x = (m1 * (m2*x22 - y22 + y12) - x12) / (m1*m2 - 1)

Und dann kannst du y ausrechnen, indem du x in Gleichung (*4*) einsetzt

So jetzt hast du den Schnittpunkt der 2 Geraden, und jetzt musst du folgende Bedingung prüfen:

Ein Strecke ist ja die Diagonale eines Rechtecks. Wenn der Schnittpunkt NICHT innerhalb BEIDER Rechtecke (das von der ersten Strecke UND dem der zweiten Strecke), dann schneiden sich wohl die Geraden, aber NICHT die Strecken.

Ok, nun zu den Einschränken die du am besten vorher abfangen musst:
1) Sind die Steigungen der Strecken/Geraden gleich, dann sind sie parallel, und haben keinen Schnittpunkt, oder sie liegen aufeinander und haben unendlich viele Schnittpunkte

2) Falls eine der Strecken parallel zur x-Achse ist, bekommst du bei der Berechnung der Steigung einen Division by Zero Fehler. Wäre günstig wenn du den Abfangen würdest und dir für diesen Sonderfall eine andere Schnittpunkt bestimmung machst.

Dann mal viel Spass dabei
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Schneiden sich 2 Strecken?

  Alt 1. Aug 2004, 13:44
@delphifreund: Was allerdings nicht so einfach ist, und zu dem reichlich wenig performat. (Ich weiss zufällig, dass es hier um ein Spiel geht, gelle!? )

Ich schau mal, was meine Bücher so dazu sagen...
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:28 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