HP Forums
(48g) (49g) (50g) Rectangular to Polar Coordinate Conversion [RPL] - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Software Libraries (/forum-10.html)
+--- Forum: General Software Library (/forum-13.html)
+--- Thread: (48g) (49g) (50g) Rectangular to Polar Coordinate Conversion [RPL] (/thread-50.html)



(48g) (49g) (50g) Rectangular to Polar Coordinate Conversion [RPL] - Michael de Estrada - 12-12-2013 04:43 PM

Although these two little RPL programs will work on the HP 28C/S, they are intended for later RPL calculators such as the HP 48S and HP 50g which lack this capability. Both programs accept the input parameters in the form of a complex number and return the results as individual values into the stack.

Rectangular to Polar Coordinates:

<< DUP ARG SWAP ABS >>

Example: (3,4) --> 5 in stack level 1 and 53.13 in stack level 2 (degrees)

Polar to Rectangular Coordinates:

<< DUP DUP RE SWAP IM SIN * SWAP DUP RE SWAP IM COS * >>

Example: (5,53.13) --> 3 in stack level 1 and 4 in stack level 2 (degrees)


RE: Rectangular to Polar Coordinate Conversion [RPL] - Joe Horn - 12-13-2013 08:58 AM

Here's an alternate approach for Polar to Rectangular for HP 48/49/50, but it takes the inputs on two levels, not as a single complex number:

« -16 SF V2 -16 CF V »


RE: Rectangular to Polar Coordinate Conversion [RPL] - Michael de Estrada - 12-15-2013 03:55 AM

That's actually very elegant and more in line with the methodology of calculators with direct conversion keys such as the HP 33s. The conversion in the other direction for rectangular to polar representation is:

<< -16 CF ->V2 -16 SF V-> >>


RE: Rectangular to Polar Coordinate Conversion [RPL] - Han - 12-17-2013 06:30 AM

The only problem is that it does not preserve the user's original flag settings. A quick RCLF UNROT at the beginning and SWAP STOF at the end should fix it.


RE: Rectangular to Polar Coordinate Conversion [RPL] - Michael de Estrada - 12-17-2013 03:52 PM

(12-17-2013 06:30 AM)Han Wrote:  The only problem is that it does not preserve the user's original flag settings. A quick RCLF UNROT at the beginning and SWAP STOF at the end should fix it.

Well, you are correct about the UNROT at the beginning, but you need a ROT rather than a SWAP at the end to get the correct stack order.


RE: Rectangular to Polar Coordinate Conversion [RPL] - CosmicTruth - 06-03-2014 10:49 AM

nice

Code:

'R2P'

%%HP: T(3)A(D)F(.);
\<< RCLF UNROT -16. CF \->V2 -16. SF V\-> ROT STOF
\>>


'P2R'

%%HP: T(3)A(D)F(.);
\<< RCLF UNROT -16. SF \->V2 -16. CF V\-> ROT STOF
\>>
Want to take on matrix to area by Gauss's shoelace next? I'd dig it...
NM! see this thread for 50G shoelaces http://www.hpmuseum.org/forum/thread-1522.html


RE: Rectangular to Polar Coordinate Conversion [RPL] - HP67 - 06-03-2014 11:19 AM

Alternatively, on the 50g PUSH ... POP


RE: Rectangular to Polar Coordinate Conversion [RPL] - CosmicTruth - 06-03-2014 11:16 PM

(06-03-2014 11:19 AM)HP67 Wrote:  Alternatively, on the 50g PUSH ... POP

Code:


%%HP: T(3)A(D)F(.);
\<< PUSH -16. CF \->V2 -16. SF V\-> POP
\>>


'P2R'

%%HP: T(3)A(D)F(.);
\<< PUSH -16. SF \->V2 -16. CF V\-> POP
\>>

I like push-pops Smile