真实感渲染:模型变换

Posted 欢迎来到杨元超的世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了真实感渲染:模型变换相关的知识,希望对你有一定的参考价值。

大家好~本课程为“真实感渲染”的线上课程,从0开始,介绍相关的图形学算法和数学基础,给出详细的数学推导、伪代码和实现代码,最终带领大家开发出基于物理的渲染器

线上课程资料:

本节课录像回放

加QQ群,获得ppt等资料,与群主交流讨论:106047770

本系列文章为线上课程的复盘,每上完一节课就会同步发布对应的文章

本课程系列文章可进入索引查看:

真实感渲染系列文章索引

回顾相关课程

  • 有哪些3D变换?
  • 为什么要引入“齐次坐标”?
  • 如何进行组合变换?

为什么要学习本课

  • 3D世界是如何投影到2D屏幕的?

  • 什么是模型变换?

主问题:3D世界是如何投影到2D屏幕的

  • 生活中有哪些例子应用了3D到2D的投影?
    答:相机照相
  • 请以相机照相为例,说明投影有哪些步骤?
    答: 摆放物体;摆放相机;按下快门照相

主问题:什么是模型变换

为什么要进行“模型变换”

  • “模型变换”对应相机照相的哪个步骤?
    答:摆放物体
  • 所以“模型变换”是3D世界投影到2D屏幕的第一步

主问题:什么是模型变换

  • 什么是本地坐标系?
    答:本地坐标系是以物体自身位置作为原点,表示物体间相对位置和方向

  • 什么是世界坐标系?
    答:世界坐标系是场景中所有的物体都统一遵守的坐标系,它标注了每个物体在世界中的唯一位置方向信息

  • 可以通过哪几个3D变换来变换图中的立方体?

答:

  • 此处的组合变换公式是什么?

\\[? \\beginbmatrix x \\\\ y \\\\ z \\\\ 1 \\endbmatrix \\\\ 其中:后者为模型的一个点在本地坐标系的坐标 \\]

答:

\\[STR \\beginbmatrix x \\\\ y \\\\ z \\\\ 1 \\endbmatrix \\]

  • 此处的模型矩阵是什么?
    答: \\( M_model = STR \\)
  • 所以说,什么是模型变换?
    答:模型变换是将物体从“本地坐标系”变换到“世界坐标系”。
    具体就是将物体的某个点与模型矩阵相乘,使该点从“本地坐标系”变换到“世界坐标系”

结学

  • 什么是模型变换?
  • 为什么相机照相中的“摆放物体”是在进行模型变换?

总结

  • 请总结本节课的内容?
  • 请回答开始的问题?

参考资料

扩展阅读

以上是关于真实感渲染:模型变换的主要内容,如果未能解决你的问题,请参考以下文章

cocos2dx-精灵如何被渲染and纹理如何被管理产生与销毁

Unity Shader学习笔记坐标变换

三维渲染引擎设计与实践

我只用了3步,实现了一个逼真的3D场景渲染

WebGL简易教程:图形变换(模型视图投影变换)

我只用了3步,实现了一个逼真的3D场景渲染