欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)arctan換算角度的示例

 更新時(shí)間:2023年03月13日 15:21:49   作者:斐碩人  
本文主要介紹了Python實(shí)現(xiàn)arctan換算角度的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

笛卡爾坐標(biāo)系

對(duì)于平面坐標(biāo)系,任一射線OP與x軸夾角θ的范圍,可以取[0,2π)或者(-π,π],如無(wú)特殊說(shuō)明, 我們統(tǒng)一使用后者。
將笛卡爾空間坐標(biāo)系中的點(diǎn) Pc = ( x , y , z ) 表示成球體坐標(biāo)系中的形式 Ps = ( θ , ? , r )。

球坐標(biāo)

其中

球坐標(biāo)定義

根據(jù)球坐標(biāo)的定義,要求θ∈[−π,π],?∈[−π/2,π/2] ,r∈[0 , +∞)。

對(duì)于 θ,正切函數(shù)的周期是 π,因此反正切函數(shù) arctan 一般也只取一個(gè)周期,其定義域是 R,值域是(−π/2 , π/2) 。為了解決這個(gè)問(wèn)題,引入了 Arctan 函數(shù),也就是 arctan2 函數(shù)。

arctan2定義

atan2 函數(shù)的使用 atan2(delta_y , delta_x)

import math
a = math.atan2(400,-692.820)
# 2.6179936760992044
angle = a/math.pi*180
# 149.99998843242386

atan 函數(shù)的使用 atan(delta_y / delta_x)

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)

atan 和 atan2 的異同

  • 參數(shù)的個(gè)數(shù)不同
  • 兩者返回值都是弧度
  • 如果 delta_x等于0,atan2依然可以計(jì)算,但是 atan 則需要提前判斷,否則就會(huì)導(dǎo)致程序出錯(cuò)
  • 象限的處理

四象限

atan2(b,a)是4象限反正切,它的取值不僅取決于正切值b/a,還取決于點(diǎn)(b,a) 落入哪個(gè)象限:

  • 當(dāng)點(diǎn) (b,a) 落入第一象限(b>0, a>0)時(shí),atan2(b,a)的范圍是 0 ~ pi/2
  • 當(dāng)點(diǎn) (b,a)落入第二象限(b>0, a<0)時(shí),atan2(b,a)的范圍是 pi/2 ~ pi
  • 當(dāng)點(diǎn) (b,a)落入第三象限(b<0, a<0)時(shí),atan2(b,a)的范圍是 -pi~-pi/2
  • 當(dāng)點(diǎn) (b,a) 落入第四象限(b<0, a>0)時(shí),atan2(b,a)的范圍是 -pi/2~0

而 atan(b/a) 僅僅根據(jù)正切值為a/b求出對(duì)應(yīng)的角度 (可以看作僅僅是2象限反正切):

  • 當(dāng) b/a > 0 時(shí),atan(b/a)取值范圍是 0 ~ pi/2
  • 當(dāng) b/a < 0 時(shí),atan(b/a)取值范圍是 -pi/2~0

取值范圍

arctan2

二三象限角度

  • 點(diǎn) (b,a) 落入第一象限 (b>0, a>0)第四象限(b<0, a>0)時(shí),atan2(b,a) = atan(b/a)
  • 點(diǎn) (b,a) 落入第二象限 (b>0, a<0),b/a<0,故atan(b/a)取值范圍始終是 -pi/2~0,然而,atan2(b,a)的范圍是 pi/2 ~ pi,故atan(b/a) 計(jì)算角度值要加180。
  • 點(diǎn) (b,a) 落入第三象限(b<0, a<0) ,b/a>0,故 atan(b/a) 取值范圍是 0 ~ pi/2,而此時(shí)atan2(b,a)的范圍是 -pi~-pi/2,故atan(b/a) 計(jì)算角度值要減180。

結(jié)論: atan 和 atan2函數(shù),建議用 atan2函數(shù)

到此這篇關(guān)于Python實(shí)現(xiàn)arctan換算角度的示例的文章就介紹到這了,更多相關(guān)Python arctan換算角度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python打印獲取異常信息的代碼詳解

    Python打印獲取異常信息的代碼詳解

    在日常的軟件開發(fā)工作中,異常處理(Exception Handling)是一個(gè)至關(guān)重要的環(huán)節(jié),它不僅影響到程序的穩(wěn)定性和健壯性,還在提高用戶體驗(yàn)、調(diào)試問(wèn)題以及防止安全漏洞方面起到了不可替代的作用,本文給大家介紹了Python打印獲取異常信息,需要的朋友可以參考下
    2024-10-10
  • Python快速實(shí)現(xiàn)一鍵摳圖功能的全過(guò)程

    Python快速實(shí)現(xiàn)一鍵摳圖功能的全過(guò)程

    你有沒(méi)想過(guò),Python也能成為這樣的一種工具:在只有一張圖片,需要細(xì)致地?fù)赋鋈宋锏那闆r下,能幫你減少摳圖步驟,這篇文章主要給大家介紹了關(guān)于Python快速實(shí)現(xiàn)一鍵摳圖功能的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Python中參數(shù)打包和解包的實(shí)現(xiàn)

    Python中參數(shù)打包和解包的實(shí)現(xiàn)

    在Python中,打包和解包參數(shù)是一種操作方式,可以將多個(gè)參數(shù)打包成一個(gè)元組或字典,也可以將一個(gè)元組或字典解包成多個(gè)參數(shù),本文就來(lái)介紹一下如何使用
    2023-09-09
  • OPENAI?API?微調(diào)?GPT-3?的?Ada?模型

    OPENAI?API?微調(diào)?GPT-3?的?Ada?模型

    這篇文章主要為大家介紹了OPENAI?API?微調(diào)?GPT-3?的?Ada?模型使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Python教程之基本運(yùn)算符的使用(下)

    Python教程之基本運(yùn)算符的使用(下)

    Python運(yùn)算符通常用于對(duì)值和變量執(zhí)行操作。這些是用于邏輯和算術(shù)運(yùn)算的標(biāo)準(zhǔn)符號(hào)。在本文中,我們將研究運(yùn)算符的優(yōu)先級(jí)和關(guān)聯(lián)性,感興趣的可以了解一下
    2022-09-09
  • python列表中常見(jiàn)的一些排序方法

    python列表中常見(jiàn)的一些排序方法

    在Python實(shí)際開發(fā)中會(huì)經(jīng)常需要用到對(duì)列表進(jìn)行排序,下面這篇文章主要給大家介紹了關(guān)于python列表中常見(jiàn)的一些排序方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 如何用Python制作微信好友個(gè)性簽名詞云圖

    如何用Python制作微信好友個(gè)性簽名詞云圖

    這篇文章主要介紹了如何用Python制作微信好友個(gè)性簽名詞云圖,上次查看了微信好友的位置信息,想了想,還是不過(guò)癮,于是就琢磨起了把微信好友的個(gè)性簽名拿到,然后分詞,接著分析詞頻,最后弄出詞云圖來(lái),需要的朋友可以參考下
    2019-06-06
  • python數(shù)組中的?k-diff?數(shù)對(duì)例題解析

    python數(shù)組中的?k-diff?數(shù)對(duì)例題解析

    這篇文章主要介紹了python數(shù)組中的?k-diff?數(shù)對(duì)例題解析,文章根據(jù)題目?jī)?nèi)容對(duì)其進(jìn)行分析以此展開主題內(nèi)容,感興趣的小伙伴可以參考一下下面文章詳情
    2022-06-06
  • 對(duì)python多線程與global變量詳解

    對(duì)python多線程與global變量詳解

    今天小編就為大家分享一篇對(duì)python多線程與global變量詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 利用Python將txt文件錄入Excel表格的全過(guò)程

    利用Python將txt文件錄入Excel表格的全過(guò)程

    Python具有基本的文本文件讀寫功能,Python的標(biāo)準(zhǔn)庫(kù)提供有更豐富的讀寫功能,下面這篇文章主要給大家介紹了關(guān)于如何利用Python將txt文件錄入Excel表格的相關(guān)資料,需要的朋友可以參考下
    2021-11-11

最新評(píng)論