码迷,mamicode.com
首页 > 其他好文 > 详细

世界坐标空间与观察坐标系之间的转换

时间:2017-09-09 19:03:45      阅读:582      评论:0      收藏:0      [点我收藏+]

标签:baidu   位置   ref   lin   com   media   矩阵   参考资料   .com   

1.世界坐标空间与观察坐标系之间的转换
已知:观察坐标系相对世界坐标系的u,v,w轴与起点q,将世界坐标系中一点变换到观察坐标系
使用左手坐标系推导
  • u = ( ux , uy , uz , 0 )
  • v = ( vx , vy , vz , 0 )
  • w = (wx , wy , wz , 0 )
  • q = ( qx , qy , qz , 1 )
观察坐标系中的点可以表示为:
p = au+bv+cw+q
即为 (a,b,c,1)
展开上述公式
p =  a * ux * x + a * uy * y + a * uz * z + 0 * w
  b * vx * x + b * vy * y + b * vz * z + 0 * w
  c * wx * x + c * wy * y + c * wz * z + 0 * w
  1 * qx * x + 1 * qy * y + 1 * qz * z + 1 * w
 
= ( a * ux + b * vx + c * wx + qx) x+
   ( a * uy + b * vy + c * wy + qy) y+
   ( a * uz + b * vz + c * wz + qz) z +
        w
        ux uy uz   0     x
= ( a , b , c , 1 ) (  vx vy vz    0  )( y )
        wx wy wz 0     z
        qx qy qz  1     w
 
世界坐标系中的点可以表示为
                   x
p‘ = a‘x+b‘y+c‘z + w = ( a‘, b‘, c‘ , 1) *( y )
                   z
                   w
 
p与p‘是同一点,只是表示相对坐标系不同,因此有
p = p‘
技术分享
 
技术分享
 
 
 
技术分享
 
技术分享
 
技术分享
通常情况下,我们是确保u,v,w相互垂直,因此有第二步的等式,因为其为正交矩阵,矩阵的逆等于矩阵的转置。
因此我们得到世界坐标到观察坐标系之间的转化
技术分享
其中[a b c 1]表示观察坐标系中的点
[a‘ b‘ c‘ 1]表示世界坐标系中的点
  • u = ( ux , uy , uz , 0 )
  • v = ( vx , vy , vz , 0 )
  • w = (wx , wy , wz , 0 )
  • q = ( qx , qy , qz , 1 )
u,v,w分别为观察坐标系的x,y,z轴在世界坐标系的表示,q表示观察坐标系原点在世界坐标系中的表示。
技术分享
在游戏场景中,我们的摄像机通常会给出一个指点的位置Q,看向目标位置T,
技术分享
通过上述三个公式,u,v,w可以轻易的计算出来,整个变化矩阵也就推导出来了。
 
参考资料:

世界坐标空间与观察坐标系之间的转换

标签:baidu   位置   ref   lin   com   media   矩阵   参考资料   .com   

原文地址:http://www.cnblogs.com/creativityroom/p/7498945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!