```to ← {dirn←1} ##.polar fm               ⍝ Polar from/to cartesian coordinates.

[to]  and  [fm]  are  corresponding arrays of shape (2,S), where pairs along the
first axis represent either cartesian or polar coordinates.

Coordinate pairs are arranged along the _first_ axis.

The optional left argument determines the direction of translation:

1 polar ...     ⍝ polar from cartesian coordinates.
¯1 polar ...     ⍝ cartesian from polar coordinates.

NB: The phase angle for polar coordinates is in the range: ○0 2.

NB: The  polar  equivalent of cartesian (0 0) is undefined.  This implementation
arbitrarily chooses to map it to (0, ○1).

Technical notes:

¯1∘polar is straightforward but 1∘polar has a couple of tricky areas.

In general,  the phase angle for cartesian (x y) is (¯3○y÷x). However, if x=0, a
domain error is generated, so we must take steps to avoid such values:

atan←¯3○y÷x+x=0                ⍝ arctan y÷x (avoiding y÷0).

and to return results ○1÷2 and ○3÷2 for +ive and -ive values of y, respectively.

Secondly, ¯3○ returns values in the range ○÷¯2 2 (+/- pi-by-two). Using the sign
of the cartesian coodinates, we map this value onto a range 0 ≤< ○2.

┌────┬────┬────┐
y>0│a+○1│○1÷2│ a  │  where a←¯3○y÷x
├────┼────┼────┤
y=0│a+○1│(○1)│ a  │
├────┼────┼────┤
y<0│a+○1│○3÷2│a+○2│
└────┴────┴────┘
x<0  x=0  x>0

Ref: http://en.wikipedia.org/wiki/Polar_coordinates

Examples:

cmpts ← ⍉↑ ¯1 0 1∘.,1 0 ¯1              ⍝ compass points.

⍴cmpts                                  ⍝ 3×3 array of coordinate pairs.
2 3 3

⊂[⎕io] cmpts
┌─────┬────┬────┐
│¯1 1 │0 1 │1 1 │
├─────┼────┼────┤
│¯1 0 │0 0 │1 0 │
├─────┼────┼────┤
│¯1 ¯1│0 ¯1│1 ¯1│
└─────┴────┴────┘

0 3⍕polar cmpts                       ⍝ polar from cartesian.
1.414 1.000 1.414
1.000 0.000 1.000
1.414 1.000 1.414

2.356 1.571 0.785
3.142 3.142 0.000
3.927 4.712 5.498

polar 0 0                               ⍝ singularity at 0 0
0 3.141592654

¯1 polar polar 0 0                      ⍝ round-trip awkward case.
0 0
rnd ← {(10*-⍺)×⌊0.5+⍵×10*⍺}             ⍝ rounding to ⍺ decimal places.

cmpts ≡ 6 rnd ¯1 polar polar cmpts      ⍝ round-trip within 6 dec places.
1