編碼海盜你好? ☠️ 你是否曾發現自己迷失在編碼的海洋中,只是試圖使用 atan() 找出角度,並因無法找到角度而感到沮喪正確的方向。你並不孤單今天我們要進行一場冒險,在那裡我們將找到 PHP 中名為 atan2() 的寶藏。讓我們看看為什麼 atan() 會讓你陷入危險,而 atan2() 會讓你安全到達港口。
那我們就開始旅程吧。 ⛵
想像你有一張藏寶圖。有人談論一個島嶼,它被導航到地圖上的一個點 (x, y)。你可以使用atan()——但是停下來!這只是故事的一部分。 atan() 可以直接帶您進入 Davy Jones 的儲物櫃,或者更糟的是,帶您進入充滿錯誤的程式碼庫。 ?所以如果你想要得到正確的路徑,你需要atan2(),也就是這個故事中的傑克船長。
這個atan()函數幾乎在所有語言中都可以找到。我們談論php。 atan()主要用於計算角度。但這裡有一個問題 - atan() 只關心 y/x 比率,它不關心你在哪個像限。如果你開始完全信任他,你可能會發現你正走錯方向。為什麼?因為 atan() 不傳回整個影像,它只告訴相對於第一象限的角度。
為什麼?因為 atan() 不給出整個圖像 - 它只給出相對於第一象限的角度。這意味著當你向西行駛時,你實際上應該向東行駛!另一方面,atan2() 會同時考慮 x 和 y 座標,並且像一個好的指南針一樣準確地知道您位於哪個象限。
現在讓我們更了解這兩者之間的差異。
現在讓我們用程式語言來說:
atan()函數的參數是一個數字,即比率y/x的值,其中y和x是兩個變數或數值。
atan(float $num): float
atan2()函數的參數為2.
- $y:Y 座標值。
- $x:X 座標值。
atan2(float $y, float $x): float
讓我們試著透過一個例子來理解這個問題。
// $y এবং $x এর মান নির্ধারণ $y = 5; $x = -10; // atan() ব্যবহার - শুধুমাত্র y/x অনুপাত জানে $angle1 = atan($y / $x); echo "atan() angle: " . rad2deg($angle1) . " degrees\n"; // Outputs: -26.57 degrees // atan2() ব্যবহার - $x এবং $y উভয়ই বিবেচনায় নেয় $angle2 = atan2($y, $x); echo "atan2() angle: " . rad2deg($angle2) . " degrees\n"; // Outputs: 153.43 degrees
從範例中可以看出,atan() 確實會傳回一個角度。但方向並沒有說明白。也就是說,不知道你處於哪個像限。另一方面,我們使用 atan2() 函數獲得的值清楚地表明點 (x,which) 位於第二象限。現在我們可以很容易地了解金銀島在哪個方向了。
?弧度與度數(這不只是數學,更是生活!)
PHP 的 atan() 和 atan2() 函數為您提供以弧度為單位的角度。這看起來像個笑話!別擔心——這只是測量角度的不同方法。為了人類和海盜能夠理解,我使用 rad2deg() 函數將其轉換為度數。
現在讓我們嘗試製作我們自己的atan()和atan2(),以便更好地理解它們的操作。
⚠️ 如果您覺得這超出了您的理解範圍,請跳過本節! ?
atan() 計算數字的反正切。近似函數的一種方法是使用格雷戈里級數。以下是atan(z)的常用級數:
如果寫得直一些,則代表 -
現在讓我們用程式碼來寫這個系列
atan(float $num): float
atan2()。此函數的主要任務是僅識別正確的象限。那為什麼要拖延呢,我們來寫吧 -
atan2(float $y, float $x): float
現在我們來看看四個像限結果並解釋每個象限:
祝福您的寶藏之旅一切順利。
如果您想了解更多關於atan()和atan2()的信息,請訪問以下連結:
以上是atan() 的詛咒與 atan 的故事:編碼世界迷失方向的故事的詳細內容。更多資訊請關注PHP中文網其他相關文章!