Moo*_*oon 2 c# xna matrix matrix-multiplication
我正在制作太阳系的3D模拟
对于每个星球,我都有一个类天体的实例.我使用以下代码进行太阳,行星及其卫星的旋转和旋转.
world = Matrix.CreateTranslation(0,0,0) * Matrix.CreateRotationY(rotation) * Matrix.CreateTranslation(position) * Matrix.CreateRotationY(revolution);
Run Code Online (Sandbox Code Playgroud)
postion = new Vector3(70,0,0)现在它工作得很好.
但问题是我需要找到\获取我的行星的位置,在矩阵乘法字面意义上的x,y,x坐标之后的位置.
如何 ?得到我星球的当前X,Y,Z坐标
对我来说,另一个选择是使用一些为我计算2D圆的数学公式.
我想你要找的是Matrix.Translation.这将为您提供在a中调用的矩阵的x,y,z共同作用Vector3.
所以,要获得新职位,你应该使用
Vector3 newPosition = world.Translation;
Run Code Online (Sandbox Code Playgroud)
经过你的计算.
| 归档时间: |
|
| 查看次数: |
1100 次 |
| 最近记录: |