看图说OpenGL之二之投影矩阵求法

本文探讨了OpenGL的透视投影矩阵原理,强调了从人眼坐标到裁剪坐标再到归一化坐标的转换过程。解释了透视除法如何影响坐标大小,并指出常见的简单求投影矩阵方法的理论基础不足。此外,还提出了求解任意点在任意方向上投影到任意平面的向量法和点积计算方法,这对于碰撞检测等场景非常重要。
摘要由CSDN通过智能技术生成

在数学上来说,下面这个算法可以说是再精准不过,但是为何OpenGL的计算者并不采用呢。这是因为要进行裁剪,要进行归一化。注意到投影坐标xp(投影坐标)与xe(人眼),关于ze(人眼)是线性关系。就假设归一下系数为-ze.

 

1.透视投影矩阵实际上是把人眼坐标系,转换到裁剪坐标系。x, y将随着z的增大而增大。而透视除法操作得到的归一化坐标,将随着z的增大而减小。总的来说是随着z的增大而减小,随着x,y的增大而增大。

 

2.裁剪坐标系的值除以-ze(也就是裁剪坐标中的wc)就转换到了归一化坐标系。个人认为裁剪坐标系实际上还是一个透视视景体。在这个实景体中,带了个可以判断是否裁剪的w坐标。

 

1.网上有很多求投影矩阵的方法,大都粗略的很,没有一个系统的概念。也许用高中的三角形相似来求这个矩阵,仅仅拥有高中知识的人可以接受,但是,其理论基础很差:

 

 

OB/OD = BA/DC.由此推导出A的y坐标.A的X坐标的推导方法类似。这种方法比较原始。y‘ = y*near/z;

x' = x*near/z;

简单吧。但是为什么那个透视投影矩阵那么复杂呢:

 

 

 

 

 

 

2.

现在有一种需求,就是求任意一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值