座標を表示するレーダーを開発しています。しかし、私は解決できない数学の問題を抱えています。これはレーダーです:
安全エリア(白い部分)と危険なエリア(赤い部分)の 2 つのエリアがあります。安全領域の半径は 30 で、全周の半径は 100 です。
危険地帯にランダムな座標を作成する機能を開発しているのですが、そのためにはその領域の X と Y をランダムにする必要があり、その方法がわかりません。中心は (0,0)
任意のヒント?本当にありがとう。
極座標を使用するだけです:
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 座標を選択し、目的の領域に収まらない結果を破棄する必要があります。