注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

简单代码

寻找代码的灵魂

 
 
 

日志

 
 
关于我

对于本博客内所有原创文章和代码的引用必须标明“来源:http://simplesource.blog.163.com/”。如需应用于商业目的必须经本人同意,本人对所有原创文章和代码保留一切权利。 PS:需要部分程序源代码的请留下邮箱地址

坐标轴转动角度的合成算法  

2007-02-14 17:23:50|  分类: 技术文献 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

坐标轴转动角度的合成算法

一个物体同时绕x轴和y轴进行旋转,在D3D中是很难表现的,没有现成的函数可以调用。在D3D中旋转是有顺序的先绕x轴旋转,然后再旋转y轴,最后是z轴。如果用D3D提供的方法绕x轴和y轴旋转,产生的效果是物体会绕着一个旋转的轴进行转动。而一个物体同时绕x轴和y轴进行旋转,物体的转动轴显然是不会改变的。所以要实现这种同时旋转的效果必须用自己的函数。

一、模型研究

考虑两个定轴旋转的合成。

假设

一个定轴旋转R1为:        轴V1(x1, y1, z1),角速度w1

另一个定轴旋转R2为:    轴V2(x2, y2, z2),角速度w2

两个转轴都经过物体的中心。

在同时垂直于这两个转轴的直线N上取一点p,考虑这个点的转动。显然这个点将围绕着经过物体中心的轴转动。

设p与物体中心的距离为r。

那么在R1的作用下,p点将有一定的速度W1,而且W1同时垂直于V1和N,速度大小为w1 * r。

同样在R2的作用下,p点将有一定的速度W2,而且W2同时垂直于V2和N,速度大小为w2 * r。

于是在两者同时作用时,p点将有一个合速度W= W1 + W2。

这个速度代表着一个以同时垂直于W和N的直线L为转轴且以|W|/r为角速度的定轴转动。如图

对于直线垂直有如下等式成立:

N = R1 X R2                       // X 表示叉积

L = W X N

于是可以求出合成定轴转动四元数为 V[L,|W|/r]。

以上方法可以将两个定轴转动合成,对于坐标轴的转动角度合成,可以看成是三个定轴转动的合成,可以用两次上面的方法实现。

  评论这张
 
阅读(1784)| 评论(4)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018