我正在開發一個雷達,其中我顯示了一些座標。但我有一個數學問題,我無法解決。這是雷達:找到一個圓周面積
它有兩個方面:安全區(白某)和危險區域(紅色的)。安全區域的半徑是30,整個圓周的半徑是100.
我正在開發一個功能,可以在危險區域創建隨機座標,但爲此,我需要隨機執行X和那個地區的Y,我不知道該怎麼做。該中心是(0,0)
任何提示?真的感謝。
我正在開發一個雷達,其中我顯示了一些座標。但我有一個數學問題,我無法解決。這是雷達:找到一個圓周面積
它有兩個方面:安全區(白某)和危險區域(紅色的)。安全區域的半徑是30,整個圓周的半徑是100.
我正在開發一個功能,可以在危險區域創建隨機座標,但爲此,我需要隨機執行X和那個地區的Y,我不知道該怎麼做。該中心是(0,0)
任何提示?真的感謝。
只需使用polar coordinates:
float radius = min + rand(max - min); // 30 + rand(0..70)
float angle = rand(-PI, PI)
int x = radius*cos(angle);
int y = radius*sin(angle);
如果你想點均勻分佈在兩個直角維度,那麼你就需要選擇隨機的X和Y座標,然後丟棄不屬於任何結果在期望的區域內。
看到我對Borgleader的答案的評論。 –
真的很感謝。這正是我需要的 – Frion3L