|
|
Title | Calculate arctangents in all four quadrants |
Description | This example shows how to calculate arctangents in all four quadrants in Visual Basic 6. Visual Basic's Atn function only returns values between Pi and -Pi. This routine shows how to find correct angles in the other two quadrants. |
Keywords | arctan, Atn, atan, arc tangent, math |
Categories | Algorithms, Miscellany |
|
|
Thanks to Charlie Rose.
Visual Basic's Atn function only returns values between Pi and -Pi. This routine shows how to find correct angles in the other two quadrants.
You pass the Atan2 function the X and Y offsets in the direction of interest. The function uses the signs of the offsets to figure out which quadrant to return. It looks for very small X offsets which would produce an undefined error in calculating Atn(y / x) and uses Atn to calculate other values.
|
|
Public Function Atan2(ByVal y As Double, ByVal x As Double) _
As Double
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
Atan2 = theta
End Function
|
|
|
|
|
|