2012-09-13 44 views
0

我正在開發一個雷達,其中我顯示了一些座標。但我有一個數學問題,我無法解決。這是雷達:找到一個圓周面積

enter image description here

它有兩個方面:安全區(白某)和危險區域(紅色的)。安全區域的半徑是30,整個圓周的半徑是100.

我正在開發一個功能,可以在危險區域創建隨機座標,但爲此,我需要隨機執行X和那個地區的Y,我不知道該怎麼做。該中心是(0,0)

任何提示?真的感謝。

回答

2

只需使用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); 
+0

看到我對Borgleader的答案的評論。 –

+0

真的很感謝。這正是我需要的 – Frion3L

0

如果你想點均勻分佈在兩個直角維度,那麼你就需要選擇隨機的X和Y座標,然後丟棄不屬於任何結果在期望的區域內。