Games101 正交投影矩阵推导

目录

正交投影

投影矩阵推导


正交投影

正交投影不管是远处还是近处,都是直接挤在屏幕上就好,它没有近大远小的效果

首先,把相机放在原点上,往-z方向看,上方向是y;

这样摆放相机的好处是,把z坐标扔掉,得到的结果自然而然就是平面的上的一张图

将z扔掉后,所有的像素都在xy平面上了,不管xy的覆盖范围有多大,都给他移到**-1~1 * -1~1** 的区间,此时就是正交投影的成像结果

投影矩阵推导

首先,如下最左侧定义空间中的一个立方体,需要知道立方体的 左右在x轴上是多少、上下在y轴上是多少、前后在z轴上是多少

然后,视图把这个立方体映射到最右侧的规范立方体的形状,即,不管空间中的是一个什么样的长方体,我都可以把他映射为规范立方体

  1. 把立方体的中心移到坐标原点 (右侧矩阵)
  2. 把xyz的轴分别拉成 -1到1 (左侧矩阵):-r*s=2 , s是缩放的倍数,规范正方体边所占长度是(-1,1),就是2,则缩放倍数 s=2/(1-r)
相关推荐
charlie11451419113 小时前
通用GUI编程技术——图形渲染实战(二十九)——Direct2D架构与资源体系:GPU加速2D渲染入门
开发语言·c++·学习·架构·图形渲染·win32
star learning white14 小时前
线性代数1
线性代数
cTz6FE7gA16 小时前
WebGL实战:用Three.js创建3D场景,实现沉浸式Web体验
前端·javascript·webgl
无尽的罚坐人生19 小时前
hot 100 73. 矩阵置零
线性代数·算法·矩阵
2301_8227032021 小时前
鸿蒙flutter三方库适配——笔记与知识管理应用:Flutter Markdown实战
笔记·算法·flutter·华为·图形渲染·harmonyos·鸿蒙
superior tigre1 天前
NumPy 基础使用方法(基础+矩阵运算+Attention)
线性代数·矩阵·numpy
2301_822703202 天前
Flutter 框架跨平台鸿蒙开发 - 家庭时间胶囊应用
算法·flutter·华为·图形渲染·harmonyos·鸿蒙
2301_822703202 天前
成语小词典:鸿蒙Flutter实现的成语查询与管理应用
算法·flutter·华为·开源·图形渲染·harmonyos
AI科技星2 天前
全维度相对论推导、光速螺旋时空与北斗 GEO 钟差的统一理论
开发语言·线性代数·算法·机器学习·数学建模
火柴-人2 天前
我用 C++ 写了个 MCP ,让 AI 看懂了每一帧 GPU 在画什么
图形渲染·claude·codex·skill·vulkan·mcp·renderdoc