计算机图形学 – 大白话模型视图投影矩阵(MVP)以及各种变换空间(模型空间、世界空间、相机空间、裁剪空间、屏幕空间)
1 介绍
在现实世界中,如果我们要对一个物体拍照,这个物体可以是花瓶、自行车、人等等,通常会按照以下的步骤(这里以人为例进行说明):
- 被拍照的人先选好一个好的拍照背景,摆好pose(侧身,比心等);
- 摄影师举好相机,并将相机对准被拍照的人;
- 摄像师调整相机焦距,让被拍照的人处于照片中的合适位置,然后拍照形成照片;
在计算机图形学的虚拟世界中,在二维屏幕上渲染三维物体也同样按照上述三个步骤,而这三个步骤分别对应三个重要的矩阵变换:模型矩阵、视图矩阵、投影矩阵。
- 上述步骤1中被拍照的人前期在空间中的移动,侧身(旋转)等行为可以通过模型矩阵变换进行模拟;
- 上述步骤2中摄像机举起相机,相当于设置了相机的位置和向上向量,将相机对准被拍照的人相当于设置了相机的目标,这些行为可以通过视图矩阵变换进行模拟;
- 上述步骤3中摄像师调整相机焦距,相当于调整透视投影的视椎体的近平面与远平面以及视野(FOV),这些行为可以通过投影矩阵变换进行模拟;
MVP模型视图投影矩阵是计算机图形学中最为基础也最为重要的数学知识,也是目前所有3D引擎的核心机制之一。本文尝试详细介绍在3D对象如何在屏幕上作为2D图像显示的空间变换过程与矩阵变换过程。
本文首先介绍各种向量变换空间,如模型空间、世界空间、视图空间(相机空间)、投影到屏幕以及各个空间的变换过程,如从模型空间到世界空间,世界空间到视图空间,视图空间到二维屏幕的变换。
本文将以OpenGL下即右手坐标系,列主序矩阵为例说明MVP模型视图投影矩阵。
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:计算机图形学 – 大白话模型视图投影矩阵(MVP)以及各种变换空间(模型空间、世界空间、相机空间、裁剪空间、屏幕空间)
原文链接:https://www.stubbornhuang.com/1932/
发布于:2022年01月28日 14:18:52
修改于:2023年06月26日 20:45:31
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
视图矩阵的变化 有计划单写一章么?
我有时间补一哈 要做的事情太多了