轉載 atan2(a,b) 和 atan(a/b)
atan2(a,b)是4象限反正切,它的取值不僅取決於正切值a/b,還取決於點 (b, a) 落入哪個象限:
當點(b, a) 落入第一象限時,atan2(a,b)的範圍是 0 ~ pi/2;
當點(b, a) 落入第二象限時,atan2(a,b)的範圍是 pi/2 ~ pi;
當點(b, a) 落入第三象限時,atan2(a,b)的範圍是 -pi~-pi/2;
當點(b, a) 落入第四象限時,atan2(a,b)的範圍是 -pi/2~0
而 atan(a/b) 僅僅根據正切值為a/b求出對應的角度 (可以看作僅僅是2象限反正切):
當 a/b > 0 時,atan(a/b)取值範圍是 0 ~ pi/2;
當 a/b < 0 時,atan(a/b)取值範圍是 -pi/2~0
故 atan2(a,b) = atan(a/b) 僅僅發生在 點 (b, a) 落入第一象限 (b>0, a>0)或 第四象限(b>0, a<0)。當點 (b, a) 落入第二、三象限時,很顯然atan2(a,b) 不等於 atan(a/b) ,並且atan2(a,b)也不可能等於 2*atan(a/b) 。這是因為,假如點 (b, a) 落入第二象限,則 a/b<0, 故atan(a/b)取值範圍始終是 -pi/2~0,2*atan(a/b) 的取值範圍是-pi~0,然而,atan2(a,b)的範圍是 pi/2 ~ pi,故不可能有atan2(a,b) = 2*atan(a/b) 。假如點(b, a) 落入第三象限,則則a/b>0 , 故 atan(a/b) 取值範圍是 0 ~ pi/2,2*atan(a/b) 的取值範圍是 0 ~ pi,而此時atan2(a,b)的範圍是 -pi~-pi/2,很顯然,atan2(a,b) = 2*atan(a/b)
舉個最簡單的例子,a = 1, b = -1,則 atan(a/b) = atan(-1) = -pi/4, 而 atan2(a,b) = 3*pi/4
--------------------- 本文來自 yjl9122 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/yjl9122/article/details/50995564?utm_source=copy
對於轉載的文章,我覺得關於(b,a)落在第三象限的結論敘述有些矛盾:
假如點(b, a) 落入第三象限,則則 a/b>0 , 故 atan(a/b) 取值範圍是 0 ~ pi/2,2*atan(a/b) 的取值範圍是 0 ~ pi,而此時atan2(a,b)的範圍是 -pi~-pi/2,很顯然,atan2(a,b) = 2*atan(a/b)
最後得到atan2(a,b)=2*atan(a/b)的結論應該是不小心打錯的。
atan2(a,b)可以用來計算複平面中點和座標原點連線與實軸的夾角,範圍剛好是(-pi,pi]。需要注意的是atan2(a,b)中a是y軸座標,b是x軸座標。
相關文章
- MATLAB atan 和 atan2Matlab
- 7.27 ATAN2
- B站下載
- [PAT B] 1011 A+B 和 C
- PAT-B 1011 A+B 和 C
- 【MySQL(1)| B-tree和B+tree】MySql
- C/S和B/S
- B 樹和 B+樹的區別, 為什麼 MySQL 要使用 B+樹MySql
- [短文速讀-1] a=a+b和a+=b的區別
- AMD平臺B450與B350主機板對比 B450和B350哪個好?
- 食品飲料行業B2B商城系統:加速行業數字化轉型,提升B2B平臺交易效率行業
- 筆記:從Aurora 8b/10b 到Aurora 64b/66b (一):Aurora 8b/10b筆記
- B350和B450主機板區別對比評測:B450和B350對電腦效能的影響大嗎?
- 淺談AB實驗及其在轉轉B2B報價系統中的應用
- 筆記:從Aurora 8b/10b 到Aurora 64b/66b (一):64b/66b 基本知識筆記
- 使用 Python 下載 B 站視訊Python
- 如何轉儲B*Tree索引的分枝結構(轉)索引
- {A} + {B}
- java B2B2C Springcloud電子商城系統-Feign負載均衡JavaSpringGCCloud負載
- 淺談B450和B350主機板區別 B450主機板多少錢
- PAT-B 1016 部分A+B
- [轉]IRIG-B碼授時工作原理
- b550主機板和b450主機板哪個好?電腦b550主機板和b450主機板區別介紹
- SocialTalent:2020年B2B內容營銷策略白皮書(附下載中英雙版下載)
- Llama 3.1 - 405B、70B 和 8B 的多語言與長上下文能力解析
- JINGdigital:2021年B2B市場部線索孵化加速指南(附下載)Git
- 2019新零售研究系列: 快消B2B白皮書(附下載)
- java B2B2C Springcloud電子商城系統--------負載均衡(Load Balance)JavaSpringGCCloud負載
- 7.26 ATAN
- 使用 cURL 函式下載B站字幕函式
- 【面試普通人VS高手系列】b樹和b+樹的理解面試
- SAP Spartacus B2B Popover Directive 和 Popover Component 的生命週期管理
- #如何看待問“a = a + b和a += b有什麼區別”的Java面試官?Java面試
- 位(bit/b)、位元組(byte/B)、字元字元
- B2B撮合交易平臺
- PAT-B 1093 字串A+B 【集合】字串
- B2B商業模式轉型三要素:組織、架構、與遷移模式架構
- B450主機板和B350主機板對比評測 B450主機板相比B350升級了什麼?