美文网首页
投影矩阵推导

投影矩阵推导

作者: 敉霞 | 来源:发表于2020-12-18 15:38 被阅读0次

1、正交投影

image.png

上图就是unity中的摄像机,把摄像机设置为正交投影,我们可以在inspector界面调整clipplane的大小,可以发现无论怎么调整,far和near都不会相等,下面会对在推导的过程中对这一现象做出解释。
在做投影的时候,x和y的值会被缩放到[-1,1],而z的值在dx里面是[0,1],在opengl是[-1,1]。
现在设六面体的宽是w,高是h,近裁剪平面距摄像机距离是n,远裁剪平面距摄像机的距离是f。
那么x的取值范围就是-w/2<x<w/2,要把x映射到-1<x<1,首先式子两边乘以2得到-w<2x<w,再给两边同时除以w得到-1<2x/w<1
就把x映射到了-1到1之间。那么映射之后的x'=2x/w。
同理,y也需要映射到-1到1之间,那么映射之后的y'=2y/h
z有点不一样,xy因为默认在中心所以不需要平移,只需要缩放就行了。z的取值范围在[n,f]之间。写成不等式的形式,
n<z<f,首先两边同时减去n得到0<z-n<f-n,在同时除以f-n(这就是f和n不能相等的原因)0<(z-n)/(f-n)<1,这就把z映射到了[0,1],如果要映射到[-1,1],就再给不等式两边乘以2,然后减去1就行了。

正交投影.jpg

有了上面的关系式,我们很轻松能把这个过程用4x4矩阵来表示:


正交投影矩阵

相关文章

  • 投影矩阵推导

    1、正交投影 上图就是unity中的摄像机,把摄像机设置为正交投影,我们可以在inspector界面调整clipp...

  • Unity相机透视投影矩阵的推导笔记

    相机透视投影矩阵的目标是将视锥体内的顶点映射到规范观察立方体内 先用相似三角形的原理,计算出x与y在近裁剪面上的投...

  • Jensen不等式

    (hessan矩阵是根据泰勒公式推导)

  • 变换:向量和矩阵

    主要使用了: 矩阵构造(平移、旋转、综合变换) 模型视图矩阵 三角形批次类(创建花托) 投影矩阵(透视投影) 示例...

  • 学习OpenGL ES之透视和正交投影

    本系列所有文章目录 获取示例代码 上一篇介绍了变换矩阵,本篇将介绍两个重要的变换矩阵,透视投影矩阵和正交投影矩阵。...

  • OpenGL 综合案例

    先看结果 核心代码 栈的机制 在changeSize()函数中,我们加载了投影矩阵,并把投影矩阵压入管道trans...

  • 透视投影变换就是三维变换

    透视投影(Perspective Projection)变换推导[https://www.cnblogs.com/...

  • 学习WebGL之透视和正交投影

    本系列所有文章目录 上一篇介绍了变换矩阵,本篇将介绍两个重要的变换矩阵,透视投影矩阵和正交投影矩阵,可以前往我的博...

  • OpenGL 投影矩阵

    OpenGL Projection MatrixOpenGL投影矩阵 概述 透视投影 正交投影 概述 计算机显示器...

  • 多元logistic回归矩阵推导

    网上的文章很少多元logistic回归的矩阵推导, 这里写一下我的推导, 欢迎交流.

网友评论

      本文标题:投影矩阵推导

      本文链接:https://www.haomeiwen.com/subject/vipxnktx.html