gdrotateAxis.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
gdrotateAxis

Geometry in 3D Graphics 8: Rotation Around an Axis 一、向量绕轴旋转的基本公式Assume n is a unitary vector. By Fig.1, we have the formula for the rotation around an axis x=(x?n)n(1?cosθ ) + cosθ x +sinθ n×x …… (1) Converting vector operations to quaternion operations, we have x= ?(xn+nx)n(1?cosθ)/2 +cosθx +sinθ (nx?xn)/2, since |n|=1, so n?1=?n, so we have x= (1+cosθ)x/2 +sinθ (nx?xn)/2 ?nxn(1?cosθ)/2 …… (2) Denoting the parallel and vertical component of x as xp=(x?n)n and xv= x?xp repectively, then ?nxn=xp?xv, symmetric with x to axis n. (nx?xn)/2= n×x, is xv rotated +90°. See Fig.1. 向量运算与四元数运算的相互转换: If v =xi+yj+zk is a 3-dimensional vector, then the quaternion q=w+v is said to be an upgraded vector form, where w is a scalar. The norm of q is |q|, |q|2=w2+x2+y2+z2. The inverse of q is q?1=|q|?2q?, where q?=w-v= w?xi?yj?zk is the so called conjugate of q. qq?= q?q =|q|2. Basic quaternion operations are as follows: qq= (ww?v?v) + (wv +vw +v×v), v?v = ?(vv +vv) /2, v×v = (vv ?vv) /2 ; vv =v×v ?v?v. We assume that, throughout the context, ? sign represents inner vector product, whereas quaternion multiplication sign is omitted. Note that quaternion multiplication is not commutative. For inner product we have v?v =|v|2, while for quaternion product v2=?|v|2. x= (1+cosθ)x/2 +sinθ n×x +(xp?xv)(1?cosθ)/2 …… (3) 二、向量绕轴旋转公式,y,z)代替x, 用(vx,vy,vz)代替n, 则可以把 x=(x?n)n(1?cosθ ) + cosθ x + sinθ n×x 写为矩阵形式: x= (vx2(1-cosθ)+ cosθ)x+(vxvy(1-cosθ) -vzsinθ)y +(vxvz(1-cosθ) +vysinθ)z, y= (vyvx(1-cosθ) +vzsinθ) x+(vy2(1-cosθ)+ cosθ)y +(vyvz(1-cosθ) -vxsinθ)z, z= (vzvx(1-cosθ) -vysinθ) x+ (vzvy(1-cosθ) +vxsinθ)y +(vz2(1-cosθ)+ cosθ)z. 用A表示上述线性变化的矩阵, 则得到 x=(x?n)n + cosθ(x-(x?n)n) + sinθ n×x的矩阵形式, 即 x= xp + cosθxv+ sinθ n×xv的矩阵形式 x=Ax. 利用三角公式, x=Ax也可以写作 x= ((1-cosθ)vx2+ cosθ)x+(vxvy (1-cosθ) -vzsinθ)y +(vxvz (1-cosθ)+vysinθ)z, y= (vyvx(1-cosθ) +vzsinθ) x+((1-cosθ)vy2+ cosθ)y +(vyvz (1-cosθ)-vxsinθ)z, z= (vzvx (1-cosθ)-vysinθ) x+ (vzvy(1-cosθ)+vxsinθ)y +((

您可能关注的文档

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档