龙书9 chapter12 viewMatrix的推导和camera的基本功能实现

本章主要是推导viewMatrix和设计一个基本的camera功能

笔记一.viewMatrix的推导

关键语句:

1.在world坐标系中的物体怎么在camera坐标系中描述,等价于world坐标系中的物体和camera一起变换,使camera坐标系和world坐标系重合。

2.标准正交矩阵的逆和转置等价

已知参数:camera的position,三个朝向向量

推导过程:1.平移到原点 2,进行旋转变换,变换前先把r、u、l向量转化为单位向量。

注意:normalize的过程,由于float类型,会产生误差,导致r、u、l数据出现不正交的情况,为了保持r u l的相互正交,必须重新计算其中一个向量

比如:1.归一化r;(这时r u l已经不相互正交)2.更新u或l: u=r*l(保持相互正交)。 3.。。4.。。5.。。

 

 还有个Matrix没有推导,就是 点p绕任意轴旋转的matrix....

笔记二:

  camera类的功能实现:1.初始化,确定好cameraType,是land类型还是任意airType

                                2.getViewMatrix , 根据camera的position right up look得到viewMatrix

                                3.六种操作方式:前后、左右、上下、绕right旋转、up旋转、look旋转

                                4.camera的变化依据时间timeDelta,这样不依据帧率,来保持稳定的变化速度

原文地址:https://www.cnblogs.com/dust-fly/p/4190301.html