Kadang-kadang itu benar-benar merupakan perjuangan untuk mengubah koordinat Cartesian (x,y)
ke koordinat Polar (r,phi)
. Meskipun Anda dapat menghitung r = sqrt(x^2+y^2)
dengan cukup mudah, Anda sering memerlukan beberapa pembedaan kasus ketika menghitung sudut phi
karena arcsin
, arccos
dan arctan
dan semua fungsi trigonometri lainnya memiliki domain bersama yang masing-masing hanya menjangkau setengah lingkaran.
Dalam banyak bahasa ada built-in untuk mengkonversi koordinat persegi panjang ke kutub, atau setidaknya memiliki atan2
fungsi, yang - diberikan (x,y)
- menghitung sudut phi
.
Tugas
Tugas Anda adalah menulis sebuah program / fungsi yang membutuhkan dua (titik mengambang, bukan nol) koordinat Cartesian (x,y)
, dan menampilkan sudut kutub yang sesuai phi
, di mana phi
harus dalam derajat, radian atau nilai (dengan nilai yang saya maksudkan lulusan yang 1 / 400 dari lingkaran penuh), mana yang lebih nyaman bagi Anda.
Sudut diukur dalam orientasi positif, dan kami memiliki sudut nol untuk (1,0)
.
Detail
Anda tidak dapat menggunakan built-in yang menghitung sudut phi
diberikan dua koordinat, termasuk atan2
, rect2polar
, argOfComplexNumber
dan fungsi yang sama. Namun Anda dapat menggunakan fungsi trigonometri biasa dan pengembaliannya, yang hanya membutuhkan satu argumen. Setiap simbol unit adalah opsional.
Jari-jari r
harus non-negatif, dan phi
harus dalam kisaran [-360°, 360°]
(tidak masalah apakah Anda output 270°
atau -90°
).
Contohnya
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°