矩阵变换推导
2016-07-29 21:10
246 查看
http://ogldev.atspace.co.uk/www/tutorial06/tutorial06.html
翻译如下:
背景知识:
本次教程主要介绍3D物体的多种变换,在屏幕上如何展示3D物体,并在视觉上保持物体在场景中的深度。最普遍的方法是用矩阵来代表一个变换,一个一个矩阵的连乘点得坐标最终得到一个结果。每篇教程都会讲解一个变换。
下面我们来看下平移变换(translation transformation),平移变化负责将一个物体沿着指定的方向一定的距离。如下图所示,你想将左图的三角形移动到如右图的位置。
一种方法是,提供一个偏移向量,本例是(1,1)。把这个向量加在每个顶点上。但是,这种方法与使用多个矩阵连乘最终得到一个复合的变换矩阵相违背。
如果我们想得到下图的结果:
很难找到一个三维的矩阵来实现这个需求,但是使用4阶的矩阵则很容易做到。
使用4维的向量来代表一个3维的向量,通常这种方法被称为齐次坐标。这种方法在3D图形学中经常被使用。第四维的分量称为’w’。w在3D变换到2D的过程中起到了非常重要的作用。通常我们将w置为1来代表一个点;而置为0来代表一个向量。点是可用被平移的,但是向量是不能被平移的。因为向量只有大小和方向。具有相同大小和方向的向量被认为是相等,而不考虑它的起点在哪里。
翻译如下:
背景知识:
本次教程主要介绍3D物体的多种变换,在屏幕上如何展示3D物体,并在视觉上保持物体在场景中的深度。最普遍的方法是用矩阵来代表一个变换,一个一个矩阵的连乘点得坐标最终得到一个结果。每篇教程都会讲解一个变换。
下面我们来看下平移变换(translation transformation),平移变化负责将一个物体沿着指定的方向一定的距离。如下图所示,你想将左图的三角形移动到如右图的位置。
一种方法是,提供一个偏移向量,本例是(1,1)。把这个向量加在每个顶点上。但是,这种方法与使用多个矩阵连乘最终得到一个复合的变换矩阵相违背。
如果我们想得到下图的结果:
很难找到一个三维的矩阵来实现这个需求,但是使用4阶的矩阵则很容易做到。
使用4维的向量来代表一个3维的向量,通常这种方法被称为齐次坐标。这种方法在3D图形学中经常被使用。第四维的分量称为’w’。w在3D变换到2D的过程中起到了非常重要的作用。通常我们将w置为1来代表一个点;而置为0来代表一个向量。点是可用被平移的,但是向量是不能被平移的。因为向量只有大小和方向。具有相同大小和方向的向量被认为是相等,而不考虑它的起点在哪里。
相关文章推荐
- 矩阵变换:沿任意方向缩放、镜像、正交投影及切变及其推导
- 矩阵变换:沿任意轴旋转及其推导
- 矩阵变换:沿任意轴旋转及其推导
- 矩阵变换:沿任意轴旋转及其推导
- 矩阵变换:沿任意轴旋转及其推导
- 矩阵变换:沿任意轴旋转及其推导
- 矩阵变换:沿任意轴旋转及其推导
- 矩阵变换:沿任意方向缩放、镜像、正交投影及切变及其推导
- 矩阵变换:逆矩阵的推导
- BNF范式 如何用C++实现自动推导
- Billboard(广告牌)实现的逐步推导
- 今天竟然忘记了余弦公式和点积公式的互相推导关系了。
- 有关 Direct3D技术的初步探索-------矩阵变换
- pku 3737 UmBasketella (含推导过程)
- 求约瑟夫环问题最后胜利者的一般解法以及数学推导方法
- D3D中的矩阵变换公式
- 18.1.4 连锁推导法:为什么值类型不可以为null而引用类型可以为null呢?
- 债券的到期收益率、即期收益率、远期收益率及远期利率的推导
- 基于FFT的IMDCT推导
- 错排公式的推导