Wurzelziehen

J

Johannes Postler

Hi Leute!
Ich möchte in meinem kleinen Malprogramm die Entfernung zwischen zwei Punkten messen. Ich habe dazu die Koordinaten der beiden Klicks subtrahiert( größeres X - kleineres X, größeres Y - kleineres Y), diese Werte dann in der Variable a2 bzw, b2 gespeichert. dann habe ich nach dem pythagoreischen Lehrsatz a2 quadriert und b2 quadriert und das Ergebnis in c2 gespeichert. Daraus möchte ich jetzt die Wurzel ziehen. Klingt blöd, aber gibts da nicht irgendwie einen befehl, oder wie soll ich das machen?

cu tirolausserfern
 
Jo genau so gehts, aber ein tipp von mir schreib dir eine Funktion, da du ja des öfteren in deinem Programm die Entfernung von 2 Punkten berechnen willst.


Private Function Entfernung(x1 As Integer, y1 As Integer, x2 As _ Integer, y2 As Integer) As Double
Dim a As Integer
Dim b As Integer
If x2 > x1 Then
a = x2 - y1 ' wenn Punkt1 links von Punkt2 liegt
Else
a = x1 - x2 ' wenn Punkt1 rechts von Punkt2 liegt
End If
If y2 > y1 Then
b = y2 - x2 ' wenn Punkt1 oberhalb von Punkt2 liegt
Else
b = y1 - y2 ' wenn Punkt1 unterhalb von Punkt2 liegt
End If
Entfernung = Sqr(a ^ 2 + b ^ 2)
End Function

Der Aufruf der Funktion sieht dann beispielsweise so aus:

Private Sub Form_Load()
Dim entfernung1 As Double
entfernung1 = Entfernung(100, 200, 500, 600) ' x1, y1, x2, y2
MsgBox entfernung1
End Sub


Gruss Homer
 
Zurück