当前位置:网站首页>【TA-霜狼_may-《百人计划》】1.2.3 MVP矩阵运算
【TA-霜狼_may-《百人计划》】1.2.3 MVP矩阵运算
2022-07-01 03:24:00 【zczplus】
【TA-霜狼_may-《百人计划》】1.2.2 矩阵计算
1.2.3 MVP矩阵计算
1.2.3.1 学习目的
- 将3D物体转化到2D平面
- 为各个空间的运用做准备
1.2.3.2 MVP矩阵的定义
MVP矩阵分别是:
- Model 模型
- View 观察
- Projection 投影
五个坐标:
顶点坐标起始于局部空间(Local Space),这里称为局部坐标(Local Coordinate),它再之后会变为世界坐标(World Coordinate),观察坐标(View Coordinate),裁剪坐标(Clip Coordinate),并最终以屏幕坐标(Screen Coordinate)的形式结束。
1.2.3.3 M:模型空间到世界空间
模型空间以自身为原点,世界空间有独立于模型本身的原点。
从模型空间变换到世界空间分为三个步骤(顺序不能变换):
- 缩放
- 旋转
- 平移
对应的依次进行矩阵变换得出变换矩阵。
M矩阵的表示(这里的旋转只包含了围绕y轴的旋转,是否需要添加有关其他轴的呢?):
1.2.3.4 V: 世界空间到视觉空间
视觉空间:以摄像机为中心的空间坐标系。
从世界空间变换到摄像机空间
↓
平移整个观察空间,使得摄像机原点和师姐坐标原点重合,并使得坐标轴重合
↓
摄像机在世界空间中是先旋转,再平移的
↓
为了让摄像机与世界坐标重合,采用逆变换
变换过程:
- 对世界空间平移
- 对世界空间进行旋转
- z分量取反(左手坐标系的缘故)
按照上述方法依次进行矩阵变换得出变换矩阵
V矩阵的矩阵表示:
1.2.3.5 P: 视觉空间到裁剪空间
注意:
- 不是真正的投影,为投影做准备
- 目的:判断顶点是否在课件范围内
- P矩阵:对x, y, z分量进行缩放,用w分量做范围值。如果x,y,z都在范围内,那么该点在裁剪空间内。
有两种投影方式: - 透视投影
- 正交投影
1.2.3.6 P:透视投影
P矩阵的矩阵表示:
透视投影各个参数的意义如下图:

利用上述P矩阵,得到的变换后的视锥体坐标如图:
由此可得,如果一个顶点在视锥体之内,那么它变换后的坐标必须满足:x,y,z均在-w到w的范围内。
1.2.3.7 P:正交投影
正交投影的相关示意图及其参数解释:
正交投影P矩阵的矩阵表示:
总结
模型空间、世界空间、视野空间的区别:
- 模型空间以模型自身为中心,坐标轴原点为坐标原点,通过缩放、旋转、平移**(Model矩阵)**将模型坐标(Model Coordinate)变换到世界坐标(World Coordinate)
- 世界空间是以整个场景作为中心,通过平移和旋转**(View 矩阵)**,以及z分量的取反将世界坐标(World Coordinate)转换到观察坐标(View Coordinate)
- 视野空间以摄像机作为原点中心,通过投影矩阵**(Projection 矩阵)**可将观察坐标(View Coordinate)转换到裁剪坐标(Clip Coordinate)
边栏推荐
- Learning notes for introduction to C language multithreaded programming
- 5、【WebGIS实战】软件操作篇——服务发布及权限管理
- [deep learning] activation function (sigmoid, etc.), forward propagation, back propagation and gradient optimization; optimizer. zero_ grad(), loss. backward(), optimizer. Function and principle of st
- 【EI会议】2022年第三届纳米材料与纳米技术国际会议(NanoMT 2022)
- 小程序容器技术与物联网IoT的结合点
- TEC: Knowledge Graph Embedding with Triple Context
- 后台系统页面左边菜单按钮和右边内容的处理,后台系统页面出现双滚动
- Valid brackets (force deduction 20)
- [TA frost wolf \u may - "hundred people plan"] 2.1 color space
- 数据库DDL(Data Definition Language,数据定义语言)知识点
猜你喜欢

Edge drawing: a combined real-time edge and segment detector

FCN全卷積網絡理解及代碼實現(來自pytorch官方實現)

排序链表(归并排序)

Server rendering technology JSP

ASGNet论文和代码解读2

SEM of C language_ Tvariable type

FCN full Convolution Network Understanding and Code Implementation (from pytorch Official Implementation)

Bilinear upsampling and f.upsample in pytorch_ bilinear

还在浪费脑细胞自学吗,这份面试笔记绝对是C站天花板
![Pyramid scene parsing network [pspnet] thesis reading](/img/05/4645c8a595083479dee6835620335d.png)
Pyramid scene parsing network [pspnet] thesis reading
随机推荐
pytorch nn.AdaptiveAvgPool2d(1)
MFC窗口滚动条用法
205. isomorphic string
[reach out to Party welfare] developer reload system sequence
TEC: Knowledge Graph Embedding with Triple Context
Take you through a circuit board, from design to production (dry goods)
Valentine's Day is nothing.
FCN全卷積網絡理解及代碼實現(來自pytorch官方實現)
FCN全卷积网络理解及代码实现(来自pytorch官方实现)
Leetcode 31 next spread, leetcode 64 minimum path sum, leetcode 62 different paths, leetcode 78 subset, leetcode 33 search rotation sort array (modify dichotomy)
Its appearance makes competitors tremble. Interpretation of Sony vision-s 02 products
The method to measure the similarity of two vectors: cosine similarity, pytorch calculate cosine similarity: torch nn. CosineSimilarity(dim=1, eps=1e-08)
10. 正则表达式匹配
Ultimate dolls 2.0 | encapsulation of cloud native delivery
171. excel table column No
LeetCode 144二叉树的前序遍历、LeetCode 114二叉树展开为链表
【TA-霜狼_may-《百人计划》】2.4 传统经验光照模型
How keil displays Chinese annotations (simple with pictures)
Pyramid Scene Parsing Network【PSPNet】论文阅读
165. compare version numbers