12 | 如何通过矩阵转换让3D图形显示到二维屏幕上?
朱维刚
你好,我是朱维刚。欢迎你继续跟我学习线性代数,今天我要讲的内容是“如何通过矩阵转换让 3D 图形显示到二维屏幕上”。
在第八篇的线性映射中,我从二维直角坐标系的角度,讲解了线性映射和变换矩阵。其中,我特别讲到了,二维平面图形图像处理中的线性变换,比如物体的拉伸和旋转。在第九篇的仿射空间中,更是提到了 3D 的平移矩阵、缩放矩阵和旋转矩阵。
而这一篇则有些不一样,我会从更实践的角度,让你了解到二维平面和三维空间的变换,以及 3D 图形是如何显示到二维屏幕上的。矩阵在这里扮演的角色可以说是功不可没,接下来我们一起来看下矩阵到底是怎么做到的。
三维空间变换
我们都知道,计算机图形图像处理的是图片,且计算机屏幕是二维的。那你有没有想过,我们在屏幕上看到的静态和动态三维世界到底是怎么回事呢?这个就要涉及到三维到二维的投影技术了,这类技术都离不开矩阵,而且是超大规模矩阵运算。
三维空间的变换依赖于 4×4 矩阵,可能你会想,为什么不是 3×3 呢?这是因为四个关键运算中有一个无法用 3×3 矩阵来完成,其他三个运算为了统一也就都采用 4×4 矩阵了,这四个关键运算是:
平移;
缩放;
旋转;
投影。
平移就是那个无法用 3×3 矩阵来完成的特殊运算,也是看起来最简单的运算,只是每个点都加上向量 ,也就是点 。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了如何通过矩阵转换将3D图形显示到二维屏幕上的技术原理。作者首先详细讲解了三维空间变换所依赖的4×4矩阵,包括平移、缩放、旋转和投影四个关键运算。文章还介绍了矩阵乘法的顺序对结果的影响,以及缩放在不同方向上的应用。此外,作者还讨论了二维和三维空间的旋转,以及将3D图形显示到二维屏幕上的过程,包括坐标系变换和对应的矩阵操作。整篇文章通过清晰的语言和实际案例,帮助读者了解了矩阵转换在3D图形显示中的重要作用,为读者提供了一种直观的理解方式。如果你对计算机3D图形处理感兴趣,这篇文章将为你打下坚实的数学基础。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《重学线性代数》,新⼈⾸单¥59
《重学线性代数》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- 杨宇“如果把正方形投影到一个平面上,你会得到一个什么形状的图形?”——说的是立方体吧?
作者回复: 是的,可以这么认为,把3D投影到平面上,那这个3D就是立方体。
2022-06-291 - 花雨田老师,不太理解如何得出 “投影到平面的投影矩阵是:I-nnT”
作者回复: 理解投影矩阵如何推导还是有一定难度的,推荐这本书《Computer Graphics: Principles and Practice》。
2021-05-161 - 那时刻1. 感谢老师的讲解,是我对于齐次坐标有了进一步理解,当时在学校初学的时候,只是了解了概念,没有深究含义,另外,参考这个文献http://www.songho.ca/math/homogeneous/homogeneous.html。更加形象些。 2. 请问老师,旋转那部分说到y 轴方向旋转的 sin 互换了,原因是什么呢? 3. 老师的课后问题,如果把正方形投影到一个平面上,你会得到一个什么形状的图形?我觉得可能是点或者线。
作者回复: 还是老样子,推荐一篇文章“三维旋转矩阵的推导”,里面有详细的推导可以参考:https://blog.csdn.net/ningyaliuhebei/article/details/7481679 把正方形投影到一个平面上,会得到一个平行四边形或者一条线段。
2020-08-261
收起评论