3Dシミュレーションを構築しています。
1 つのクラスを使用して、サイズ、テクスチャ、速度、軌道が異なる太陽、惑星、月を表示しています。回転 + 回転を計算するという魔法の仕事をする私のコードは次のとおりです。
world = Matrix.CreateScale(size,size,size) * Matrix.CreateTranslation(0,0,0) *
Matrix.CreateRotationY(rotation) *
Matrix.CreateTranslation(position) *
Matrix.CreateRotationY(revolution);
- sizeは、オブジェクトを個別にスケーリングするための変数です
- 回転は、オブジェクトを独自の軸を中心に回転させる変数です
- positionは惑星を軌道上に配置するための変数です。 new Vector3(240,0,0)
- 革命は、原点を中心に惑星を回転させるための私の変数です
今、私は地球の周りと他の惑星の周りの月を表示したいのですが、それを行う方法がわかりません。行列乗算に関して。
複雑なのは、月の公転が惑星の周りを回っており、その惑星が起源ではなく、常に変化していることです。
どうやってするの ?