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

Visual-Basic Einsteiger
Re: Schnittpunkt feststellen 
Autor: Danzi
Datum: 28.12.03 19:33

Hallo Anthrax,

ich habe Deinen Tip mal versucht umzusetzen. Allerdings kommt dabei ein komisches Ergebnis heraus. Schau es Dir bitte mal an. Vielleicht kannst Du mir sagen, wo der Knick in der Logik ist. Ich habe den Code kommentiert. Du brauchst eine Form und einen Button. DANKE im voraus!
Private XA1 As Long
Private YA1 As Long
Private XE1 As Long
Private YE1 As Long
Private XA2 As Long
Private YA2 As Long
Private XE2 As Long
Private YE2 As Long
 
Private Sub Form_Load()
Me.ScaleMode = 3
XA1 = 5
YA1 = 10
XE1 = 100
YE1 = 100
 
XA2 = 15
YA2 = 40
XE2 = 100
YE2 = 80
End Sub
 
Private Sub Command1_Click()
Dim Steigung1 As Double
Dim Steigung2 As Double
Dim Offset1 As Double
Dim Offset2 As Double
Dim SchnittX As Double
Dim SchnittY As Double
 
Me.Line (XA1, YA1)-(XE1, YE1)
Me.Line (XA2, YA2)-(XE2, YE2), vbRed
 
Rem Die Funktion für jede Linie lautet
Rem F(Linie) = Y = Steigung * X + Offset
 
Rem Dein Beispiel
 
Rem 1. Gerade
Rem x = 0
Rem y = 0
Rem Steigung = 2
Rem Offset = 0
Rem y = 2 * x + 0  oder halt f(g)=y=2x
 
Rem 2. Gerade
Rem x = 0
Rem y = 2
Rem Steigung = 1
Rem Offset = 2
Rem y = 1 * x + 2  oder halt f(h)=y=x+2
 
Rem Steigungsfaktor errechnen
Rem oder wieviel Y-Schritte braucht ein X-Schritt
Steigung1 = (YE1 - YA1) / (XE1 - XA1)
Steigung2 = (YE2 - YA2) / (XE2 - XA2)
 
Rem Wenn die Steigung gleich ist, laufen die Linien
Rem parallel und können sich nicht schneiden
If Steigung1 = Steigung2 Then
    MsgBox "Kein Schnitt"
    Exit Sub
End If
 
Rem Offset errechnen
Rem oder um wieviel ist der Y-Ursprung vom X-Ursprung versetzt
Offset1 = XA1 - YA1
Offset2 = XA2 - YA2
 
Rem Für die Linien ergeben sich die Funktionen
Rem F(Linie1) = Y1 = Steigung1 * X1 + Offset1
Rem F(Linie2) = Y2 = Steigung2 * X2 + Offset2
Rem oder
Rem Y1 = Steigung1 * XA1 + Offset1
Rem Y2 = Steigung2 * XA2 + Offset2
Rem dann gleich setzen
Rem Steigung1 * XA1 + Offset1  =  Steigung2 * XA2 + Offset2
Rem und umstellen
SchnittX = (Steigung1 * XA1 + Offset1 - Offset2) / Steigung2
Rem Ergebnis in eine der Formeln einsetzen
SchnittY = Steigung2 * SchnittX + Offset2
 
Rem Schnittpunkt einzeichnen
Me.PSet (SchnittX, SchnittY), vbYellow
 
Rem Und heraus kommt @!#$ !!!!!!!!!!!
Debug.Print SchnittX
Debug.Print SchnittY
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Schnittpunkt feststellen1.016Danzi26.12.03 16:41
Gibt es hier keinen Mathematiker667Danzi26.12.03 22:15
Re: Schnittpunkt feststellen666RiverRaid27.12.03 00:22
Re: Schnittpunkt feststellen652Danzi27.12.03 12:53
Re: Schnittpunkt feststellen665E727.12.03 14:30
Re: Schnittpunkt feststellen642Danzi27.12.03 15:38
Re: Schnittpunkt feststellen705Anthrax28.12.03 02:04
Re: Schnittpunkt feststellen637Danzi28.12.03 15:18
Re: Schnittpunkt feststellen677Danzi28.12.03 19:33
Re: Schnittpunkt feststellen618E729.12.03 16:01
Re: Schnittpunkt feststellen688Danzi29.12.03 16:36
Re: Schnittpunkt feststellen641E729.12.03 17:42
Re: Schnittpunkt feststellen703Danzi29.12.03 18:22
Re: Schnittpunkt feststellen612Danzi30.12.03 21:42
Re: Schnittpunkt feststellen632Andy288bln30.12.03 22:08
Re: Schnittpunkt feststellen659Danzi31.12.03 14:54
Re: Schnittpunkt feststellen648Andy288bln31.12.03 15:20
Re: Schnittpunkt feststellen632Andy288bln29.12.03 19:09

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