亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

笛卡爾坐標系

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

球坐標

其中

球坐標定義

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

對于 θ,正切函數(shù)的周期是 π,因此反正切函數(shù) arctan 一般也只取一個周期,其定義域是 R,值域是(−π/2 , π/2) 。為了解決這個問題,引入了 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ù)的個數(shù)不同
  • 兩者返回值都是弧度
  • 如果 delta_x等于0,atan2依然可以計算,但是 atan 則需要提前判斷,否則就會導(dǎo)致程序出錯
  • 象限的處理

四象限

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

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

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

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

取值范圍

arctan2

二三象限角度

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

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

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

相關(guān)文章

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

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

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

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

    你有沒想過,Python也能成為這樣的一種工具:在只有一張圖片,需要細致地摳出人物的情況下,能幫你減少摳圖步驟,這篇文章主要給大家介紹了關(guān)于Python快速實現(xiàn)一鍵摳圖功能的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Python中參數(shù)打包和解包的實現(xiàn)

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

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

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

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

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

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

    python列表中常見的一些排序方法

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

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

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

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

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

    對python多線程與global變量詳解

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

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

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

最新評論