Пусть есть некая точка в полярной системе координат. Проведем через нее прямую, перпендикулярную полярной оси так, чтобы они пересеклись.

Если считать полюс началом и прямоугольной системы координат, то у нас получился прямоугольный треугольник, в котором радиус r является гипотенузой, а катеты равны координатам x и y нашей точки в прямоугольной системе координат.
Исходя из теоремы Пифагора, получим
r * r = x * x + y * y;
r = sqrt(x * x + y * y);
формула 1Вспомнив, что синус угла равен отношению противолежащего катета к гипотенузе, а косинус угла — отношению прилежащего катета к гипотенузе, получим
sin(фи) = y / r;
cos(фи) = x / r;
y = r * sin(фи);
формула 2x = r * cos(фи);
формула 3С помощью формул 2 и 3 осуществляется перевод полярных координат в прямоугольные.
Теперь вспомним, что тангенс угла равен отношению противолежащего катета к прилежащему.
tan(фи) = y / x;
фи = atan(y / x);
формула 4Под tan и atan здесь подразумеваются соответственно тангенс и арктангенс. С помощью формул 1 и 4 осуществляется перевод прямоугольных координат в полярные.
В следующем посте рассказано, почему с формулой 4 всё не так просто и зачем в языке C++ для вычисления арктангенса есть две функции — atan и atan2.