Advertisement
nazarovsky

Excel functions to fit angle into -180..+180 range

Mar 4th, 2015
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Option Explicit
  2.  
  3. Public Function wrapTo180(Ang) As Double
  4.   ' fit angle (in degrees) into range (-180; 180]
  5.  
  6.    Dim AngleTo As Double
  7.    
  8.    AngleTo = Ang
  9.    If AngleTo > 180 Then
  10.       While (AngleTo > 180)
  11.          AngleTo = AngleTo - 360
  12.       Wend
  13.    End If
  14.    
  15.    If AngleTo <= -180 Then
  16.       While (AngleTo <= -180)
  17.          AngleTo = AngleTo + 360
  18.       Wend
  19.    End If
  20.    wrapTo180 = AngleTo
  21.  
  22. End Function
  23.  
  24. Public Function wrapToPi(Ang) As Double
  25.   ' fit angle (in radians) into range (-pi; pi]
  26.  
  27.    Dim AngleTo As Double
  28.    
  29.    AngleTo = Ang
  30.    If AngleTo > Pi Then
  31.       While (AngleTo > Pi)
  32.          AngleTo = AngleTo - 2 * Pi
  33.       Wend
  34.    End If
  35.    
  36.    If AngleTo <= -Pi Then
  37.       While (AngleTo <= -Pi)
  38.          AngleTo = AngleTo + 2 * Pi
  39.       Wend
  40.    End If
  41.    wrapToPi = AngleTo
  42.  
  43. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement