Math.atan2()
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
Math.atan2() è¿åä»åç¹ (0,0) å° (x,y) ç¹ççº¿æ®µä¸ x è½´æ£æ¹åä¹é´çå¹³é¢è§åº¦ (弧度å¼)ï¼ä¹å°±æ¯ Math.atan2(y,x)
è¯æ³
Math.atan2(y, x)
åæ°
y, x-
æ°å¼
æè¿°
atan2 æ¹æ³è¿åä¸ä¸ª -pi å° pi ä¹é´çæ°å¼ï¼è¡¨ç¤ºç¹ (x, y) 对åºçåç§»è§åº¦ãè¿æ¯ä¸ä¸ªéæ¶éè§åº¦ï¼ä»¥å¼§åº¦ä¸ºåä½ï¼æ£ X è½´åç¹ (x, y) ä¸åç¹è¿çº¿ ä¹é´ãæ³¨ææ¤å½æ°æ¥åçåæ°ï¼å
ä¼ é y åæ ï¼ç¶åæ¯ x åæ ã
atan2 æ¥ååç¬ç x å y åæ°ï¼è atan æ¥åä¸¤ä¸ªåæ°çæ¯å¼ã
ç±äº atan2 æ¯ Math çéææ¹æ³ï¼æä»¥åºè¯¥åè¿æ ·ä½¿ç¨ï¼Math.atan2()ï¼è䏿¯ä½ä¸ºä½ å建ç Math å®ä¾çæ¹æ³ã
示ä¾
>示ä¾ï¼ä½¿ç¨ Math.atan2
Math.atan2(90, 15) // 1.4056476493802699
Math.atan2(15, 90) // 0.16514867741462683
Math.atan2( ±0, -0 ) // ±PI.
Math.atan2( ±0, +0 ) // ±0.
Math.atan2( ±0, -x ) // ±PI for x > 0.
Math.atan2( ±0, x ) // ±0 for x > 0.
Math.atan2( -y, ±0 ) // -PI/2 for y > 0.
Math.atan2( y, ±0 ) // PI/2 for y > 0.
Math.atan2( ±y, -Infinity ) // ±PI for finite y > 0.
Math.atan2( ±y, +Infinity ) // ±0 for finite y > 0.
Math.atan2( ±Infinity, x ) // ±PI/2 for finite x.
Math.atan2( ±Infinity, -Infinity ) // ±3*PI/4.
Math.atan2( ±Infinity, +Infinity ) // ±PI/4.
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-math.atan2> |