Untuk sistem koordinat satah, julat sudut θ
antara sebarang OP sinar dan paksi-x boleh menjadi [0,2π) atau (-π,&pi ;] , melainkan dinyatakan sebaliknya, kami menggunakan yang terakhir untuk menyatakan titik
dalam sistem koordinat ruang Cartesian sebagai Pc = ( x , y , z )
Ps = ( θ , ϕ , r )
dalam sistem koordinat sfera >Di mana
Mengikut takrifan koordinat sfera,
diperlukan untuk θ∈[−π,π],ϕ∈[−π/2,π/2] ,r∈[0 , +∞)
, tempoh fungsi tangen ialah π, Oleh itu, fungsi arctangent arctan secara amnya hanya mengambil satu tempoh, domainnya ialah R, dan julat nilainya ialah (&tolak;π/2, π/2, untuk menyelesaikan masalah ini, fungsi Arctan, iaitu fungsi arctan2, diperkenalkan .
θ
Penggunaan fungsi atan2 atan2(delta_y, delta_x)
Penggunaan fungsi atan atan(delta_y / delta_x)
import math a = math.atan2(400,-692.820) # 2.6179936760992044 angle = a/math.pi*180 # 149.99998843242386
Persamaan dan perbezaan antara atan dan atan2
import math delta_y = 400 delta_x = -692.820 if delta_x == 0: b = math.pi / 2.0 angle = b/math.pi*180 if delta_y == 0: angle = 0.0 elif delta_y < 0: angle -= 180 else: b = math.atan(delta_y/delta_x) angle = b/math.pi*180 if delta_y > 0 and delta_x < 0: angle = angle + 180 if delta_y < 0 and delta_x < 0: angle = angle - 180 b,angle # (-0.5235989774905888, 149.99998843242386)
atan2(b,a) ialah tangen lengkok 4 kuadran Nilainya bergantung bukan sahaja pada nilai tangen b/a, tetapi juga di lokasi titik (b,a). 0), julat atan2(b,a) ialah
0 ~ pi/2
pi/2 ~ pi
-pi~-pi/2
-pi/2~0
0 ~ pi/2
-pi/2~0
mata Apabila (b,a) jatuh ke dalam
atau,
titik (b,a) jatuh ke dalam 第一象限 (b>0, a>0), jadi b/a<0, jadi Julat nilai atan(b/a) sentiasa <code>第四象限(b<0, a>0) Walau bagaimanapun, julat atan2(b,a) ialah <code>atan2(b,a) = atan(b/a)
, jadi 180 mesti ditambah pada nilai sudut atan(b/a).
Titik (b,a) jatuh ke dalam 第二象限 (b>0, a<0)
, b/a>0, jadi julat nilai atan(b/a) ialah -pi/2~0
dan pada masa ini atan2( Julat b, a) ialah pi/2 ~ pi
, jadi nilai sudut yang dikira oleh atan(b/a) perlu ditolak dengan 180.
Kesimpulan: fungsi atan dan atan2, digalakkan guna fungsi atan2第三象限(b<0, a<0)
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sudut penukaran arctan dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!