欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    透视投影矩阵推导Word文档格式.docx

    • 资源ID:18813742       资源大小:228.75KB        全文页数:12页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    透视投影矩阵推导Word文档格式.docx

    1、(3) OPenGL 的 CVV勺 Z 范围是-1, 1 , D3D的 CVV勺 Z范围是0, 1以上这些差异导致了最终OPenGL和D3D的透视投影矩阵的不同。D3D的透视投影矩阵推导我们先来看最最基本的透视关系图(上一篇文章开始的时候使用的图):这里我们考察的是XZ平面上的关系,yz平面上的关系同理。这里0是相机位置。 np是近裁剪平面,也是投影平面,N是它到相机的距离。fp是远裁剪平面,F 是它到相机的位置。P是需要投影的点,p是投影之后的点。根据相似三角形 定理,我们有gpQ = qlp,0则有匚=J N兰同理F= Ny_XZZ Z Z注意到OPenGL使用右手坐标系,因此应该使用-N

    2、(请参考上一篇文章的这一步) 而D3D使用左手坐标系,因此使用N,这是二者的不同点之一。这样,我们得到 投影之后的点第三个信息点是变换之后的Z在投影平面上的位置,也就是 N,它已经没用了, 我们把p写成从而用第三个没用信息点它来存储 Z (如果读者对这一点不太了解,请参考上一 篇文章)。接下来我们求出a和b,从而在Z方向上构建CVV请注意这里是OPenGL 和D3D的另一个不同点,OPenGL勺CVV的 Z范围是-1,1,而D3D的 CVV的 Z 范围是0, 1。也就是说,D3D中在近裁剪平面上的点投影之后的点会处于 CVV 的Z=O平面上,而在远裁剪平面上的点投影之后的点会在 CVV的 z=

    3、1平面上。这 样我们的计算方程就是+ ZazL Z从而我们得到了透视投影矩阵的第一个版本这个时候第三个分量变换到 CVV情形了,CVV勺Z范围是0,1。接下来根据上 一篇文章所讲到的,我们要把前两个分量变成 CVV青形,CVV勺X和y范围是-1, 1,如下图所示:使用线性插值,我们有:top - bottom 1 (1)这里left和right是投影平面的左右范围,top和bottom是投影平面的上下范 围。XCVV和ycvv是我们需要算出的在 CVUf形中的X和y ,也就是我们要计算 出的结果。但在算出它们之前,我们先把上面的式子写成:N% Ieft _ v 1 = + right Ieft

    4、 right Ieft 2 2Ny/ tz _ botSn _ ycvv 1lop- bottom lop- bottom 2 2这里有一个需要注意的地方,如果投影平面在 X方向上居中,则_ 硕 =right - Ieft 2那么第一个式子就可以销掉等号两边的 1/2 ,写成rigid - Ieft 2同理,如果投影平面在y方向上居中,则第二个式子可以写成缚/ z _儿仰top 一 bottom 2则我们现在分两种情况讨论:(1) 投影平面的中心和x-y平面的中心重合(在X和y方向上都居中)(2) 一般情况我们分别讨论:(1)特殊情况方程top-bottom 2这组是特殊情况,方程比较简单,但

    5、也是使用频率最高的方式(这是D3DXMatrixPerspectiveLH、D3DXMatrixPerspectiveRH、D3DXMatrixPerspectiveFovLH、D3DXMatrixPerspectiveFovRH 四个方法所使用的情况)。我们导出它:INx(right 一 Ieft )z 2Nytop - bottom )z则我们反推出透视投影矩阵:( 27* 3T( 2J 、y(top - bottom)其Vt-bW Waz + b 11L Z JI 0b OJ其中a = F-N NFF-N而r-l和t-b可以分别看作是投影平面的宽 W和高h。最后那个矩阵就是D3D的 透视

    6、投影矩阵之一。另外呢,如果我们不知道 right、left、top以及bottom这几个参量,也可以根据视野(FoV- FieId Of VieW )参量来求得。下面是两 个平面的视野关系图:2 鮎 W 2TM二尸-Z2N JOVV7 = UOt 才r-l 2cot 同理= cot其中虫7h 22N Jfo升-b 2苦 2NCot-_-其中,两个fov分别是在X-Z以及y-z平面上的视野。如果只给了一个视野, 可以通过投影平面的宽高比计算出来:aspect _ ratio 二h=W =血 X asp&ct _ 1rafio或者 aspect _ ratio用一个视野算出W或者h,然后用宽高比算

    7、出h或者WO(2) 般情况的方程这组方程比较繁琐,但更具一般性(和 OPe nGL一般矩阵的推导一致,这也是D3DXMatrixPerspective0ffCenterLH 和 D3DXMatrixPerspectiveOffCenterRH 两 个方法所使用的情况)。我们继续反推出透视投影矩阵:t_b b + tb-tOJ NFb 最后那个矩阵就是D3D的一般透视投影矩阵 好了,目前为止,我们已经导出了 D3D的两个透视投影矩阵。下面我把上一篇导 出的OPenGL的透视投影矩阵写出来,大家可以拿它和刚刚导出的 D3D的一般性 透视投影矩阵做一个对比。(2N22r + Zr-l t +&pr*

    8、oj _ matrix (OPe GL)=t -babt 0-1o丿a F=N* 2NFb 如果仔细观察,可以发现二者在元素的布局上是一个转置的关系, 这个就是由它 们使用的左右手坐标系以及使用的行列矩阵的差异造成的。 而另外在一些元素的细节上也存在着差异,这是由于D3D的CVV勺Z范围不同造成的。可见在原理相 同的情况下,细微的环境差异可以造成非常大的变化, 而这就是透视投影矩阵存 在诸多不同版本的原因。一般情况的透视投影矩阵也可以使用视野方式来定义, 方法和特殊情况相同。M3G勺透视投影矩阵M3G是对OPenG进行的一个封装,它的透视投影变换矩阵被放到了类 Camera里 面。因为它封装了

    9、 OPenGL因此环境和OPenGl相同:右手坐标系、列向量乘法、 CVV范围-1,1。它唯一和OPenGL有些差异的地方就在于它只使用投影平面 的中心和x-y平面的中心重合(在X和y方向上都居中)的情况(就是我们上面 D3D的第一种特殊情况)。我们用 OPe nG透视投影矩阵最终版本来说明(再次 提醒,如果读者对此感到迷惑,请参考第一篇文章):r + ?r-l t +bPrqJ _ matrix (OPen GL)F + Ma = F7 J 2NF 上面是OPenGL透视投影矩阵的最终版本,也是一般性版本,我们要把它变成特 殊性,版本,非常简单,和上面D3D的特殊情况一样,我们从对X和y进行插值 的那一步来看:r-l r-l 2 2% b _y I.t-b t-b 2 +2t _ 1 (_1)f b 1 (-1)和D3D的第一种情况一样,销掉两边的1/2 ,得到:(f ”7八玲7)-2Nyzt - 0)az-b 予i- IZ + I ) 其中I y F + M11 2NFI(2N C O O O?OOo O O a b O Q -1 Qyj仍然可以通过视野参数来设置透视投D3D的完全相同。最右边那个矩阵就是M3G的透视投影矩阵 影矩阵,这里请读者自行推导,方法与上面


    注意事项

    本文(透视投影矩阵推导Word文档格式.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开