web-dev-qa-db-ja.com

JavaScriptで円周上にランダムなポイントを生成するにはどうすればよいですか

与えられた円周の周りに(x、y)座標をランダムに返す関数を書こうとしているので、(divの中心である)(0,0)にあるポイントがある場合、どのように書くことができますか円の外側のエッジの間に現れる他のエンティティをランダムに配置する関数。

必要なのは、中心から円周エッジまでの距離を取得することと関係があることを知っている方程式だけです。それを計算してランダム化する方法がわからないので、見栄えが良いです。

41
Mouseroot

ランダムな角度を取得するだけです:

var angle = Math.random()*Math.PI*2;

その後

x = Math.cos(angle)*radius;
y = Math.sin(angle)*radius;

できました。

99