Bagaimana untuk melaksanakan sudut penukaran arctan dalam Python

WBOY
Lepaskan: 2023-04-19 16:04:06
ke hadapan
2064 orang telah melayarinya

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
Salin selepas log masuk

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)
Salin selepas log masuk

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, a<0), julat atan2(b,a) ialah
  • 0 ~ pi/2

  • Apabila titik (b, a) jatuh ke dalam sukuan ketiga (b<0, a<0), julat bagi atan2(b,a) ialah
  • pi/2 ~ pi

  • Apabila titik (b,a) jatuh ke dalam sukuan keempat (b<0, a>0), 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 < 0, julat nilai atan(b/a) Ia ialah julat nilai
  • 0 ~ pi/2

  • -pi/2~0

Bagaimana untuk melaksanakan sudut penukaran arctan dalam Python mata Apabila (b,a) jatuh ke dalam

atau

, Bagaimana untuk melaksanakan sudut penukaran arctan dalam Python

  • 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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!