龙书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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值