polar plots, clockwise, north

norseman norseman at hughes.net
Mon Apr 20 22:20:44 CEST 2009

enricong at gmail.com wrote:
> Thanks, I had tried this earlier but by rotating the data in this
> fashion, it has problems connecting the endpoints between 0 and 360
> and tries to go counter clockwise around.  I am then left with an
> extra circle in all my plots where it attempts to connect the points
> between 360 and 0 (now 100 and 0).
> --
> http://mail.python.org/mailman/listinfo/python-list

I went to the archives and looked up your beginning post.

First:  Check the man/docs to whatever math library you are using.
         Look for a toggle (or whatever) that sets the lib to handle
         Angles Right (clockwise) and same or other toggle to place
	0degs at Compass North (Navigation/Engineering/Surveying).

Second: If no such settings noted in "First" are present - junk the lib!
	Seriously - I do.  But since that may not be a choice for
         you, then make a function to convert your input to the
         necessary angle and pass it on. You may need another to convert
         any angular return values.  But the Cartesian (X,Y) coordinate
         will be correct.

	Drafting Table:  0deg is right side (E)
                          Positive rotation is Angles Left

	Navigation    :  0degs is Compass or True North geodetic.
                          Positive rotation is Angles Right

Make two compass roses, one for Drafting and one for Navigation, align
the 0's, pick AR from Nav circle and read the convert to from Draft.
This will allow you verify your function.

                           FROM NAV TO DRAFTING
The formula is: 360 - AR + 90 yields answer
                    ^   |  ^
                    |      rotates Draft 0deg to align
                   reverses direction
                 if answer > 360, subtract 360.
                  (actually, remove all multiples of full circle)
The formula as shown makes it easy to account for full circles.

Convert angles to mils, degs, rads - whatever you need. The 90 and 360 
change to equivalent in units of choice.

If incoming angles are quadrant noted (N XX-Degrees....E etc..)
first convert bearing to AR.  N---E  as is
                               S---E  180 - bearing
                               S---W  180 + bearing
                               N---W  360 - bearing

Hint: If using radians (rad) use lots of decimal places! Otherwise the
       accuracy suffers greatly!

norseman at hughes.net

More information about the Python-list mailing list