DIRECTX 中 怎么同时实现 自转 公转

antiMight 2012-03-06 01:40:38
D3DXMatrixTransformation2D
这个变换矩阵函数,可以设定旋转中心,但是只有一个中心,如何设定可以实现 精灵 自转同时 绕特定点公转,而且两个转速不一样,有没有人遇到过这问题??求解啊
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
antiMight 2012-07-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

自转是旋转然后平移
公转是平移然后旋转

参考opengl的地球系例子。
[/Quote]
当初旋转没问题的,问题在于用上面那个函数同时自转且公转。
你所说的公转是平移然后旋转是什么意思呢?
是不是公转本身就是平移了所以不用考虑额外平移的意思呢?还有平移到公转位置后,旋转完,还应平移回刚刚的位移吧?

现在我想自转+公转的话应该可以乘以两个旋转矩阵。
如果不用那个函数,我想可以先位移到原点,再旋转自传角,再位移到公转位置(位移后原点对应公转中心),再旋转公转角,最后再位移一个公转后位置到原位置的向量。
算上位移旋转一共5个矩阵按顺序乘起来,再setTransform。
不知思路对不对
antiMight 2012-07-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

送我吧,我想的,自转就旋转,公转就是旋转+位移.
[/Quote]
我之前想过这个,但是用位移实现旋转要画圆,效果不太好吧。
ryfdizuo 2012-07-03
  • 打赏
  • 举报
回复
自转是旋转然后平移
公转是平移然后旋转

参考opengl的地球系例子。
getinposition 2012-07-02
  • 打赏
  • 举报
回复
送我吧,我想的,自转就旋转,公转就是旋转+位移.
antiMight 2012-05-21
  • 打赏
  • 举报
回复
谁来回复下,我要结贴,送点分儿
antiMight 2012-05-21
  • 打赏
  • 举报
回复
没人回复,我来说下现在想到的方法好了。
可以调用两次上面那个函数,也就是乘两次变换矩阵,第一次中心为精灵中心,角度对应自转,第二次选定公转中心点,角度对应公转,乘两次后再渲染一次出来的应该是正确结果

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧