一、近平面和远平面的存在原因和比例运算:

发现有相当多的OpenGL教程都没有把透视投影中为何有“远平面”和“近平面”这两个概念进行解释。其实这和人眼成像的原理有关,透视原理就是模拟屏幕作为一双眼睛如何观察物体的一套规则。

        为了简化分析,我们把眼球简化为它的剖面——圆, 将本为曲面的视网膜简化为一个平面,即可得到如图所示的眼球模型。为了方便,我们把视网膜翻转180度成为近平面(near)。从图可知,由于小孔成像原理,同样的点p2,距离越远,p2和视点之间的连线,与near的中垂线越接近。反之则越原理,从而形成了3个规律:

1、近大远小。

2、物体x,y坐标不变,但随着距离z加深,物体最终在near平面的透视投影越来越接近near平面的中垂线

3、随着物体距离z的增加,就像杠杠或者齿轮组一样,需要移动更多的距离,才可以在near平面中引起与之前较短距离时的偏移量

将此规律写成矩阵形式就是(只看截图左边这个就行了):

当物体的坐标点,乘以矩阵中的系数,即可把物体原本的坐标点,通过以上规则映射为near近平面中的点,从而实现投射投影的视觉效果。

透视投影的一些简短推导相关推荐

  1. 透视投影(Perspective Projection)变换推导

    透视投影(Perspective Projection)变换推导 透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View V ...

  2. OpenGL ---渲染流水线之世界矩阵,相机变换矩阵,透视投影变换矩阵

    https://blog.csdn.net/qq_29523119/article/details/78577246 OpenGL的渲染流水线: OpenGL的坐标系 在3D图形学里,OpenGL为右 ...

  3. opoengl 投影矩阵的推导

    原文:http://blog.csdn.net/wangdingqiaoit/article/details/39010077 OpenGL学习脚印: 投影矩阵的推导 写在前面 本节内容翻译和整理自h ...

  4. 软渲染器(Directx11)三之世界矩阵,相机变换矩阵,透视投影矩阵,透视除法,视口变换矩阵

    其实各大矩阵具体的推导过程我就不给出了,我直接给出矩阵具体的形式和实现代码,以及那些大牛推导矩阵详细的文章: 一,世界矩阵(WorldMatrix) 我一般称世界矩阵为SRT矩阵,SRT分别是&quo ...

  5. 相机标定(三)—— 正交投影和透视投影变换

    正交投影和透视投影变换 1. 概述 2. 视锥体 3. 透视投影的目的 4. 透视投影的理解和推导 4.1 透视基本原理 4.2 一点透视 4.3 多点透视 4.4 生成透视投影图的方法 5. 图像处 ...

  6. 定理(Theorem)、引理(Lemma)、推论(Corollary)的定义及LaTeX用法

    1.定理(Theorem) 1.1 定义: Theorem(定理)----a mathematical statement that is proved using rigorous mathemat ...

  7. WebGL简易教程(五):图形变换(模型、视图、投影变换)

    文章目录 1. 概述 2. 详论 1) 模型变换 (1) 平移变换 (2) 缩放变换 (3) 旋转变换 (4) 组合变换 2) 视图变换 (1) 原理 (2) 推导 3) 投影变换 (1) 透视投影 ...

  8. 可缩放性_缩放Sprint以提高安全性和隐私性

    可缩放性 After quietly building a strong customer base with little fanfare, Zoom became a household name ...

  9. openGL深度冲突z-fighting

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一.为什么会产生z-fighting 二.防止深度冲突 1.第一种方法 2.第二种方法 3.第三种方法 参考 前言 针对z-figh ...

最新文章

  1. 惠普发布软件定义存储 助力提升虚拟化能力
  2. C# 条件语句 if else 、 switch case 及练习题解析
  3. Java Web - Ajax技术
  4. VTK:Texture之TextureThreshold
  5. git rebase 命令 常用_git命令之 git rebase 常用
  6. 支持向量机实现鸢尾花数据集分类matlab
  7. Python3求解找到小镇的法官问题
  8. SQLServer之删除视图
  9. MySQL支持IPv6
  10. python中用turtle绘制正方形_在Python-Turtle图形中创建正方形和旋转正方形的简单方法...
  11. ssis for循环容器_SSIS包中的序列容器
  12. 学生优化--文本框限制
  13. 使用matlab生成含正弦波表数据ROM
  14. 计算机类一级学科目录是什么,教育部学科门类及一级学科目录表.doc
  15. 高德地图开放平台概览
  16. 大学生川菜网页制作教程 学生HTML静态美食菜品网页设计作业成品 简单网页制作代码 学生美食网页作品免费设计
  17. 摄像头自建html直播,H5代码实现调用本地摄像头实现实时视频以及拍照功能
  18. 05、Python中转义字符与字符串
  19. DeepLabV3论文解读(空洞卷积/膨胀卷积 理解)
  20. ethz-asl Hand-Eye-Calibration 实验之hand_eye_calibration_batch_estimation模块

热门文章

  1. DotA Allstars所有命令大全
  2. Making the Grade
  3. 12生肖能够旺财运的风水花草
  4. 学会这些P图软件,轻松实现一键换天空操作
  5. 孤独匠人说:给我500万三年超马云
  6. 荣耀将发布首款鸿蒙操作系统手机,华为电视帝国的开拓—首款搭载鸿蒙系统,荣耀智慧屏正式发布!...
  7. node 压缩图片_图片压缩有困难?你肯定没用过这几款工具
  8. 简单理解jsp显示出带有表格的九九乘法表
  9. vscode开发php
  10. 现代计算机浮点数 为什么指数没有符号位,阶码