Viewing contents of file '../idllib/contrib/windt/rotation.pro'
;+
; NAME:
;
;           ROTATION
; 
; PURPOSE:
; 
;	    Rotate two vectors by a specified amount.
;	    
; CALLING SEQUENCE:
; 
;	    ROTATION,X,Y,DEG,NX,NY
;	    
; INPUTS:
;
;           X,Y   :orignal data point pairs
;           
;	    DEG   :degrees to rotate.
;	    
; OUTPUTS:
; 
;	    Nx, Ny = rotated point pairs.
;	    
; MODIFICATION HISTORY:
; 
;	    Jeff Bennett, U of Colorado
;-

PRO ROTATION,X,Y,DEG,NX,NY
ang=deg*!dtor

;convert to polar coordinates for rotation
r = sqrt(x*x + y*y)
theta = r*0.
;get angle in for loop so that zero radii will be left as zero angle
for i = 0,n_elements(r)-1 do $
if r(i) ne 0 then theta(i) = atan(y(i),x(i))  ;range from -pi to +pi
;
;add rotation angle
theta = theta + ang
;
;convert back to rectangular coordinates, now rotated
nx = r * cos(theta)
ny = r * sin(theta)
;
return
end