首页 > 其他 > 详细

DirectX11笔记8:关于投影空间转换的推导

时间:2015-12-15 22:53:09      阅读:632      评论:0      收藏:0      [点我收藏+]

 

这一笔记记录了如何从  世界坐标————>相机相对坐标     的转换简单推导公式

 
以下所有的推导都在2阶的情况下,三阶相同,自行推导。
 
1.坐标系变化(对应书中3.4.1内容)
 
已知坐标系A为 X轴(1,0) Y轴(1.0)  ; 坐标系B为 X轴(-1,0) Y轴(0,1)
问  在A坐标系中的p点(1,1) 在B坐标系中的坐标?
 
我们知道,向量的点乘是一个向量在另一个向量上的投影,在坐标单位级别相同的时候,只需要获得B相对于A的坐标。
这里可以直接看出来,算出P的坐标:
P(B) = (P(A)·(-1,0)  , P(A) · (1,0) ) = (-1 , 1)
由此可以理解一般情况下,同原点时,坐标系变幻下的坐标变换。
三阶向量同二阶向量。
 
2.二阶投影变幻推导
 
现在我们有了坐标系变化的公式,还有一个变量要添加:坐标系B的初始位置。
第一部分的推导建立在同原点情况下,当坐标系B的原点改变,需要加上原点变换。
 
由此我们获得了完整公式:

P(B) = (  (P(A) - P(B)) ·P(B)X相对坐标 ,     (P(A) - P(B)) ·P(B)Y相对坐标   )

 
3.对应矩阵推导。
X =  (P(A) - P(B)) ·P(B)X相对坐标  = P(A) ·P(B)X相对坐标 -  P(B)·P(B)X相对坐标
这里令 P(A) = (X, Y)   : 原点坐标       P(B) = Cx,Cy   :相机坐标    P(B)X相对坐标 = (Ux,Uy)
同理.
Y = (P(A) - P(B)) ·P(B)Y相对坐标     中  P(B)Y相对坐标 = (Vx,Vy)
 
将相应带入得到:
P*(X, Y) = (X * UX +Y*UY + CX*UX + CY*UY  ,   X*VX + X * VY +CX*VX + CY*VY)
 
建立矩阵:
 
  1. {100}  {UX,      VX,           0}
  2. {010*{UY,      VY,           0}
  3. {XY1}  {(Cx,Cy)*(UX,UY),(Cx,Cy)*(VX,VY),1}
 
这里我的推导方式与书中完全不一样,我完全无法看懂书中的推导方式。。。还要求逆。
这里所有的推导都是二阶的,其实与三阶完全一样,变一下而已。
 
 
 
 
 

DirectX11笔记8:关于投影空间转换的推导

原文:http://www.cnblogs.com/Windogs/p/5049699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!