Exactamente que necesitas saber? el angulo dado entre dos puntos? por que de ser asi la solucion seria mas sencilla. Este el codigo que tengo implementado en la dx_lib32 para calcular el angulo entre dos puntos:
Código:
'Calcula en angulo entre dos puntos:
Public Function MATH_GetAngle(X1 As Long, Y1 As Long, X2 As Long, Y2 As Long) As Single
MATH_GetAngle = CSng(MATH_Atan2(CDbl(Y2) - CDbl(Y1), CDbl(X2) - CDbl(X1)) * 180 / PI)
End Function
'Devuelve el arco tangente en radianes de dos números:
Public Function MATH_Atan2(X As Double, Y As Double) As Double
On Error GoTo ErrOut
Dim Theta As Double
If (Abs(X) < 0.0000001) Then
If (Abs(Y) < 0.0000001) Then
Theta = 0#
ElseIf (Y > 0#) Then
Theta = 1.5707963267949
Else
Theta = -1.5707963267949
End If
Else
Theta = Atn(Y / X)
If (X < 0) Then
If (Y >= 0#) Then
Theta = 3.14159265358979 + Theta
Else
Theta = Theta - 3.14159265358979
End If
End If
End If
MATH_Atan2 = Theta
ErrOut:
End Function
No sera el metodo mas optimo quizas pero igual podria servirte para lo que estas intentando hacer.
Salu2...