游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3080|回复: 6

求助!D3DXMatrixRotationAxis对应的数学公式是什么?

[复制链接]

9

主题

39

帖子

43

积分

注册会员

Rank: 2

积分
43
发表于 2008-9-23 09:32:00 | 显示全部楼层 |阅读模式
由于某些原因,目前不能使用D3D中现成的API,但是现在需要用到D3DXMatrixRotationAxis这个函数的功能,所以来请教一下这个函数对应的数学公式。

另外我已经用反汇编代码得到一个替代函数,工作正常,但是由于对浮点部分的汇编可以说是一窍不通,看不出算法。虽然已经有了替代函数,但是还是想知道算法。

望高人不吝赐教!


59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2008-9-23 11:18:00 | 显示全部楼层

Re:求助!D3DXMatrixRotationAxis对应的数学公式是什么?

图形学的书里一般都有推导过程

9

主题

39

帖子

43

积分

注册会员

Rank: 2

积分
43
 楼主| 发表于 2008-9-23 12:30:00 | 显示全部楼层

Re:求助!D3DXMatrixRotationAxis对应的数学公式是什么?

手头的两本书都没有。。。

直接说说结果也行,不需要推导过程。

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2008-9-25 20:13:00 | 显示全部楼层

Re: 求助!D3DXMatrixRotationAxis对应的数学公式是什么?

发个图给你好了。。可以自己推.
sf_2008925201322.jpg

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2008-9-26 08:18:00 | 显示全部楼层

Re:求助!D3DXMatrixRotationAxis对应的数学公式是什么?

昨晚忘了说:绕任意轴旋转用四元数是最方便的,不一定要使用矩阵计算。
DestQuat = RotataionQuat * SrcQuat * RotataionQuat的共轭 就可以将ScrQuat转动.
其中SrcQuat = (SrcVector3.x,SrcVector3.y,SrcVector3.z,0)
    RotationQuat = ( axis.x*sin(angle/2), axis.y*sin(angle/2) ,axis,z*sin(angle/2) ) ;
    共轭RotationQuat = ( -RotationQuat.x ,-RotationQuat.y,-RotationQuat.z ,w) ;

9

主题

39

帖子

43

积分

注册会员

Rank: 2

积分
43
 楼主| 发表于 2008-9-28 14:13:00 | 显示全部楼层

Re: 求助!D3DXMatrixRotationAxis对应的数学公式是什么?

厉害,试了一下,计算结果确实是对的,原理还要自己多思考思考才行。
whb9633,谢谢了!
[em1]

7

主题

438

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 2008-9-29 20:00:00 | 显示全部楼层

Re:求助!D3DXMatrixRotationAxis对应的数学公式是什么?

罗德里格斯旋转方程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 05:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表