2

プログラミングが初めてで、最初のプロジェクトの 1 つで、boid シミュレーションのコードに従っていますが、コードのこの部分で sin 関数と cos 関数が何をしているのかわかりません。

N = numer of boids

angles = 2*math.pi*np.random.rand(N)

vel = np.array(list(zip(np.sin(angles), np.cos(angles))))

一般に、コードはボイドのランダムなベクトルを設定していますが、なぜランダムな角度だけでは十分ではないのでしょうか?

単位速度の定義にとって重要な sin 関数と cos 関数は何をしているのですか?

個別に計算されたボイド速度の参照条件を提供しますか?

4

2 に答える 2

0

この場合、速度は単なる (スカラー) 速度ではありません。これはベクトルなので、方向と速度の両方を表します。単位/秒の実際の速度は、速度ベクトルの長さになります。

このコード (ここの実装例に似ています) では、各 Boid の初期速度は 1 ですが、可能な限りすべての方向に向かっているようです。

Processingのこの実装でも同じことが起こります。

于 2016-04-22T17:14:04.047 に答える