Đôi khi nó thực sự là một cuộc đấu tranh để chuyển đổi tọa độ Cartesian sang tọa độ (x,y)
Polar (r,phi)
. Trong khi bạn có thể tính toán r = sqrt(x^2+y^2)
khá dễ dàng, bạn thường cần một số phân biệt các trường hợp khi tính toán góc phi
vì arcsin
, arccos
và arctan
và tất cả các hàm lượng giác khác có một đồng miền mà mỗi nhịp chỉ một nửa vòng tròn.
Trong nhiều ngôn ngữ, có các hàm dựng sẵn để chuyển đổi tọa độ hình chữ nhật sang cực, hoặc ít nhất có một atan2
hàm, được cho (x,y)
- tính góc phi
.
Bài tập
Nhiệm vụ của bạn là viết một chương trình / hàm lấy hai tọa độ Cartesian (không phải cả hai số 0) (x,y)
và đưa ra góc cực tương ứng phi
, trong đó phi
phải tính theo độ, radian hoặc điểm (với cấp I có nghĩa là độ dốc là 1 / 400 vòng tròn đầy đủ), tùy theo cái nào thuận tiện hơn cho bạn.
Góc được đo theo hướng tích cực và chúng ta có góc bằng không (1,0)
.
Chi tiết
Bạn không thể sử dụng built-in mà tính toán góc phi
cho hai tọa độ, bao gồm atan2
, rect2polar
, argOfComplexNumber
và các chức năng tương tự. Tuy nhiên, bạn có thể sử dụng các hàm lượng giác thông thường và đảo ngược của chúng, chỉ mất một đối số. Bất kỳ biểu tượng đơn vị là tùy chọn.
Bán kính r
phải không âm và phi
phải nằm trong phạm vi [-360°, 360°]
(không quan trọng bạn xuất 270°
hay không -90°
).
Ví dụ
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°