vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Variablen/Strings · Algorithmen/Mathematik   |   VB-Versionen: VB4, VB5, VB621.04.04
Schnittpunkt zweier Geraden ausrechnen

Berechnen Sie den Schnittpunkt zweier Geraden in der Form y = mx + t

Autor:   E7Bewertung:  Views:  22.074 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

So ein richtiger Tipp ist es eigentlich gar nicht - die Berechnung erfolgt in einer ganz kurzen Zeile... Der Rest ist lediglich Dekoration...

Als Erstes erkläre ich mal, worum es geht. Wir nehmen einfach zwei Geraden und setzen diese gleich:

m1x + t1 = m2x + t2

Das Ganze wird wie bei Gleichungen üblich nach X aufgelöst:

m1x - m2x = t2 - t1

Nun mal praktisch: Wir haben die Geraden y = 1x + 2 und y = 3x + 4:

1x + 2 = 3x + 4
1x - 3x = 4 - 2

Soweit der Stand wie oben. Nun kann man das noch ausrechnen:

-2x = 2

Das x muss 1x sein, nicht -2x, also teilen wir alles durch -2:

x = 2 / -2
x  = -1

Nun das Ganze noch in eine nette Funktion verpackt:

Public Function Schnittpunkt(m1 As Double, _
  t1 As Double, _
  m2 As Double, _
  t2 As Double) As Double
 
  ' Schnittpunkt berechnen
  Schnittpunkt = (t2 - t1) / (m1 - m2)
End Function

Und nutzbar ist unsere neue Funktion:

' y = 1x + 2  |  y = 3x + 4
MsgBox Schnittpunkt(1, 2, 3, 4)
' y = 1x + 2  |  y = 1x + 2
MsgBox Schnittpunkt(1, 2, 1, 2)
' y = 1x + 2  |  y = 1x + 3
MsgBox Schnittpunkt(1, 2, 1, 3)

Hinweis:
Im zweiten Fall bekommen Sie den Fehler "6 Überlauf" - die Geraden liegen aufeinander. Die dritte Msgbox kommt nicht zu Stande, da Fehler "11 Division durch 0" uftritt - die Geraden sind parallel zueinander.
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle 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.