Rubrik: Variablen/Strings · Algorithmen/Mathematik | VB-Versionen: VB4, VB5, VB6 | 21.04.04 |
Schnittpunkt zweier Geraden ausrechnen Berechnen Sie den Schnittpunkt zweier Geraden in der Form y = mx + t | ||
Autor: E7 | Bewertung: | Views: 22.074 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein 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.