PHP:

	$p2c=polartoCartesian(36.8699,5);
	echo "p2c: angle=36.8699 distance=5 [$p2c[0]] [$p2c[1]]\n";

	$c2p=cartesiantoPolar(4,3);
	echo "c2p: x=4 y=3 [$c2p[0]] [$c2p[1]]\n";

function degreesToRadians($degrees)
{
	$radians=(pi()/180)*$degrees;
	return $radians;
}
function radiansToDegrees($radians)
{
	$degrees=$radians*(180/pi());
	return $degrees;
}
function polartoCartesian($deg,$radius)
{

	$radians=degreesToRadians($deg);

	$X= cos($radians) * $radius;
	$Y= sin($radians) * $radius;

	$retVal[0]=$X;
	$retVal[1]=$Y;


	return $retVal;
}
function cartesiantoPolar($x,$y)
{

	$C=sqrt( ($x*$x) + ($y*$y) );
	$angle=atan($x/$y);

	$angle=radiansToDegrees($angle);
	$angle=90-$angle; // to set 0deg at north;

	$retV[0]=$C;
	$retV[1]=$angle;

	return $retV;

}


function map($value, $fromLow, $fromHigh, $toLow, $toHigh) 
{
    $fromRange = $fromHigh - $fromLow;
    $toRange = $toHigh - $toLow;
    $scaleFactor = $toRange / $fromRange;
    $tmpValue = $value - $fromLow;
    $tmpValue *= $scaleFactor;
    return $tmpValue + $toLow;
}