Membezakan antara atan dan atan2 dalam C
C menawarkan fungsi matematik untuk pengiraan trigonometri, termasuk atan dan atan2. Untuk memahami perbezaannya, mari kita periksa fungsi tangen.
Fungsi Tangen dan Kuadran
Tangen bagi sudut α ditakrifkan sebagai tan(α) = sin(α ) / cos(α). Walau bagaimanapun, kekaburan timbul disebabkan oleh kuadran.
Quadrant | Angle Range | sin Sign | cos Sign | tan Sign |
---|---|---|---|---|
I | 0 < α < π/2 | |||
II | π/2 < α < π | - | - | |
III | π < α < 3π/2 | - | - | |
IV | 3π/2 < α < 2π | - | - |
Fungsi atan
Fungsi atan mengembalikan arctangent y/x, dengan andaian x > 0. Ini mengehadkan output kepada kuadran I dan IV (iaitu, -π/2 ≤ atan() ≤ π/2).
Fungsi atan2
Tidak seperti atan , fungsi atan2 mengambil dua hujah, y dan x, yang mewakili unjuran vektor pada y- dan paksi-x, masing-masing.
atan2(y, x) mengira arctangent bagi y/x, dengan mengambil kira kedua-dua koordinat y dan x secara berasingan. Ini menyelesaikan keempat-empat kuadran dengan menambah π pada hasil atan() apabila kosinus negatif.
Implikasi Praktikal
atan(y/x) hanya boleh menentukan sudut daripada kuadran I atau IV, manakala atan2(y, x) menangkap maklumat penuh dan menyelesaikan sudut yang betul dalam semua kuadran.
Kesimpulan
Ringkasnya, atan menyediakan maklumat terhad dan menganggap sudut dalam kuadran I atau IV, manakala atan2 mendapatkan semula data komprehensif dan menentukan sudut dalam semua kuadran . Jika pengiraan sudut yang tepat merentasi semua sukuan diperlukan, atan2 adalah pilihan yang diutamakan.
Atas ialah kandungan terperinci Bila hendak menggunakan `atan` vs `atan2` dalam C : Fungsi Mana yang Memberi Sudut Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!