vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Geraden schneiden? 
Autor: ThAlb
Datum: 25.09.03 10:00


Hallo Andi!

Für dieses Problem ist wohl die Vektorrechnung am geeignetsten.

P1 = (P1x, P1y) und P2 = (P2x, P2y) seien die beiden Punkte, r1 = (r1x, r1y) und r2 = (r2x, r2y) die zugehörigen Richtungen, a1 und a2 sind Skalare. Dann ist nur folgende Gleichung zu lösen

p1 + a1*r1 = p2 + a2*r2

Lösung ist

a2 (r2x*r1y/r1x-r2y) = (p2y-p1y)+(p1x-p2x)*r1y/r1x

Nun sind mehrere Fälle zu unterscheiden:

1. r1x = 0, r2x = 0

-> Die beiden Geraden sind parallel oder identisch.

2. r1x = 0, r2x<>0

-> vertausche die Punkte und beginne von vorne

3. r1x<>0, r2x*r1y/r1x = r2y

-> Die beiden Geraden sind parallel oder identisch.

4. Sonst

-> a2 = ((p2y-p1y)+(p1x-p2x)*r1y/r1x) / (r2x*r1y/r1x-r2y)

Der Schnittpunkt ist p2+a2*r2 = (p2x+a2*r2x, p2y+a2*r2y)

Ist a2=0 dann sind beide Punkte gleich, bei a2>0 liegt der Schnittpunkt von P2 aus gesehen in Richtung des Winkels, sonst in der entgegengesetzten Richtung.

Bei Richtung und Nullpunkt der Winkel wie in Deiner Graphik, Nullpunkt oben links (d. H. S=(10, 4) und nicht (4, 10)...), ergeben sich die Richtungsvektoren zu r = (sin w, -cos w).

Wenn ich mich nicht verrechnet oder verschrieben habe sollte es so gehen...

Viele Grüße
Th.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Geraden schneiden?713RiverRaid24.09.03 17:19
Re: Geraden schneiden?401ThAlb25.09.03 10:00
Re: Geraden schneiden?345RiverRaid25.09.03 21:00
Re: Geraden schneiden?345ThAlb26.09.03 09:07
Re: Geraden schneiden?381RiverRaid26.09.03 22:14

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel