有时将笛卡尔坐标转换(x,y)
为极坐标确实很费力(r,phi)
。虽然你可以计算r = sqrt(x^2+y^2)
很容易,你经常计算时的角度需要的情况下有些区别phi
,因为arcsin
,arccos
以及arctan
和所有其他三角函数有一个共同域,每个只有跨越半个圆。
在许多语言中,都有用于将直角坐标转换为极坐标的内置atan2
函数,或者至少具有给定的(x,y)
计算角度的函数phi
。
任务
你的任务是写一个程序/功能采用两个(浮点,但不能同时为零)笛卡尔坐标(x,y)
,并输出对应的极角phi
,其中phi
必须处于度,弧度或等级(与等级余平均gradians其是1 /整圆的400),以您较方便的为准。
角度是在正方向上测量的,对于,我们有零角度(1,0)
。
细节
您不得使用内置插件是计算角度phi
给出两个坐标,其中包括atan2
,rect2polar
,argOfComplexNumber
和类似的功能。但是,您可以使用通常的三角函数及其反函数,它们只需一个参数。任何单位符号都是可选的。
半径r
必须为非负数,并且phi
必须在范围内[-360°, 360°]
(无论输出270°
还是,都无关紧要-90°
)。
例子
Input Output
(1,1) 45°
(0,3) 90°
(-1,1) 135°
(-5,0) 180°
(-2,-2) 225°
(0,-1.5) 270°
(4,-5) 308.66°