1 介绍

在现实世界中,如果我们要对一个物体拍照,这个物体可以是花瓶、自行车、人等等,通常会按照以下的步骤(这里以人为例进行说明):

  1. 被拍照的人先选好一个好的拍照背景,摆好pose(侧身,比心等);
  2. 摄影师举好相机,并将相机对准被拍照的人;
  3. 摄像师调整相机焦距,让被拍照的人处于照片中的合适位置,然后拍照形成照片;

计算机图形学的虚拟世界中,在二维屏幕上渲染三维物体也同样按照上述三个步骤,而这三个步骤分别对应三个重要的矩阵变换:模型矩阵视图矩阵投影矩阵

  • 上述步骤1中被拍照的人前期在空间中的移动,侧身(旋转)等行为可以通过模型矩阵变换进行模拟;
  • 上述步骤2中摄像机举起相机,相当于设置了相机的位置和向上向量,将相机对准被拍照的人相当于设置了相机的目标,这些行为可以通过视图矩阵变换进行模拟;
  • 上述步骤3中摄像师调整相机焦距,相当于调整透视投影的视椎体的近平面与远平面以及视野(FOV),这些行为可以通过投影矩阵变换进行模拟;

MVP模型视图投影矩阵是计算机图形学中最为基础也最为重要的数学知识,也是目前所有3D引擎的核心机制之一。本文尝试详细介绍在3D对象如何在屏幕上作为2D图像显示的空间变换过程与矩阵变换过程。

本文首先介绍各种向量变换空间,如模型空间世界空间、视图空间(相机空间)、投影到屏幕以及各个空间的变换过程,如从模型空间到世界空间,世界空间到视图空间,视图空间到二维屏幕的变换。

本文将以OpenGL下即右手坐标系,列主序矩阵为例说明MVP模型视图投影矩阵。

此文章剩余81%被隐藏,需要付费查看,隐藏内容查看价格1立即购买
支付前请仔细阅读以下说明,如支付代表您了解并同意了以下说明:
(1)资源收集自互联网,仅供自我学习,请在下载后24小时内删除该资源,如下载者将此资源用于其他非法用途,本站不承担任何法律责任;如有侵权,请立即联系我,马上删除!
(2)下载单个资源则点击立即下载或者立即购买按钮;本站VIP可下载本站所有资源。
(3)请不要使用手机以及电脑浏览器的无痕模式进行支付操作,以免造成支付成功但未显示下载链接。
(4)如遇支付问题或者资源失效问题请点击按钮点击反馈进行反馈或者发送说明邮件到stubbornhuang@qq.com