Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan sudut penukaran arctan dalam Python

Bagaimana untuk melaksanakan sudut penukaran arctan dalam Python

WBOY
WBOYke hadapan
2023-04-19 16:04:062068semak imbas

Sistem koordinat Cartesan

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 >Bagaimana untuk melaksanakan sudut penukaran arctan dalam PythonDi mana

Bagaimana untuk melaksanakan sudut penukaran arctan dalam PythonMengikut 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)Bagaimana untuk melaksanakan sudut penukaran arctan dalam Python

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)

Bilangan parameter adalah berbeza
  • Kedua-dua nilai pulangan adalah radian
  • Jika delta_x sama dengan 0, atan2 masih boleh dikira, tetapi atan perlu dinilai terlebih dahulu, jika tidak, ia akan menyebabkan ralat program
  • Pemprosesan kuadran

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 Bagaimana untuk melaksanakan sudut penukaran arctan dalam Python

    Apabila titik (b, a) jatuh ke dalam sukuan kedua (b>0, a2bac2b3b042f7201e8b9dbbd6af2d81e0), julat atan2(b ,a) ialah
  • -pi~-pi/2

  • Dan atan(b/a) hanya mengira sudut sepadan berdasarkan nilai tangen a/b (boleh dianggap hanya tangen lengkok bagi 2 kuadran):
  • -pi/2~0

    Apabila b /a > 0, julat nilai atan(b/a) ialah

    Apabila b/a a5c9e14a82dd4a86a8116289b45e59090, a>0), jadi b/a82df05e20204b281cf63a6cebd3119b00) Walau bagaimanapun, julat atan2(b,a) ialah atan2(b,a) = atan(b/a) , jadi 180 mesti ditambah pada nilai sudut atan(b/a).
  • Titik (b,a) jatuh ke dalam 第二象限 (b>0, adae96bb97bdba7c7bc440482a816cade0, jadi julat nilai atan(b/a) ialah <code>-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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam