source: trunk/PLOTS/DIVERS/rotation.pro @ 2

Last change on this file since 2 was 2, checked in by opalod, 22 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 833 bytes
Line 
1;+
2; NAME:
3;
4;           ROTATION
5;
6; PURPOSE:
7;
8;           Rotate two vectors by a specified amount.
9;           
10; CALLING SEQUENCE:
11;
12;           ROTATION,X,Y,DEG,NX,NY
13;           
14; INPUTS:
15;
16;           X,Y   :orignal data point pairs
17;           
18;           DEG   :degrees to rotate.
19;           
20; OUTPUTS:
21;
22;           Nx, Ny = rotated point pairs.
23;           
24; MODIFICATION HISTORY:
25;
26;           Jeff Bennett, U of Colorado
27;-
28
29PRO ROTATION,X,Y,DEG,NX,NY
30ang=deg*!dtor
31
32;convert to polar coordinates for rotation
33r = sqrt(x*x + y*y)
34theta = r*0.
35;get angle in for loop so that zero radii will be left as zero angle
36for i = 0,n_elements(r)-1 do $
37if r(i) ne 0 then theta(i) = atan(y(i),x(i))  ;range from -pi to +pi
38;
39;add rotation angle
40theta = theta + ang
41;
42;convert back to rectangular coordinates, now rotated
43nx = r * cos(theta)
44ny = r * sin(theta)
45;
46return
47end
Note: See TracBrowser for help on using the repository browser.