这是对Foundation of 3D Computer Graphics第5章的翻译,本章讲解了点和矢量变换中相对于坐标系的关联性,包含辅助帧变换、左侧规则(left of rule)和多重变换的解读等内容。本书内容仍在不断的学习中,因此本文内容会不断的改进。若有任何建议,请不吝赐教ninetymiles@icloud.com。
注:文章中相关内容归原作者所有,翻译内容仅供学习参考。
另:Github项目CGLearning中拥有相关翻译的完整资料、内容整理、课程项目实现。
关联(Respect)
4.1 帧的重要性(The Frame Is Important)
在计算机图形学中我们同时跟踪多种不同的帧(frames)。例如,我们针对场景中每个物体都会拥有一个不同的帧。我们如何使用和组织这些帧的详细说明在第5章中会被讲述。因为存在这许多帧,当运用矩阵定义变换时,我们需要尤其小心。
假如我们指定一个点和一个变换矩阵(transformation matrix),这并不能完全明确出实际的变换。我们还要确定出我们正在使用什么帧(frame)。这里有一个展示这种情况的简单例子。假设我们开始于点
现在我们要指定帧
假设我们挑选另外某个帧
现在,如果我们关联于
Figure 4.1: 伸缩矩阵(scaling matrix)
Figure 4.2: 旋转矩阵(rotation matrix)R被用来关联于两个不同的帧(frame)以旋转点
这里需要注意的重要事项是,表达式中点被关联于直接出现在变换矩阵左侧的帧(frame)被这个矩阵变换(本例中为非均匀缩放)。因此我们称呼这个为左侧规则(left of rule)。我们读表达式
为”(点)
我们读表达式
为“(点)
我们可以应用相同的推理到帧(frame)本身的变换上。我们读表达式
为“
我们读表达式
为“
4.1.1 借助辅助帧(auxiliary frame)变换
很多时候当我们希望借助某种用矩阵M表达的特殊方式变换一个帧
这很容易实现,只要我们知道关联
那么被变换的帧(frame)可以被表达为
第一行中,我们借助帧(frame)
4.2 多重变换(Multiple Transformations)
我们可以使用这种“左侧”规则解读多重变换序列。再次,回想一下,通常,矩阵乘法不可交换。在下列的2D例子中,让
我们现在解读下列的变换
我们通过将变换切分为两个步骤来解读
这个步骤被解读为:
在第二步中,
或者等价地,
这个步骤被解读为:
我们也可以用另一种方式解读被合成的变换(composed transformations)。这通常通过以其它次序应用旋转和平移变换来完成。第一步中
这些只是对两个最后完全相同的合成变换的不同解释。1)先关联于
这些类型的解释经常被总结如下:如果我们阅读变换从左侧到右侧,那么每个变换关联于新生成的“本地”帧(frame)被完成。如果我们阅读变换从右侧到左侧,那么每个变换关联于最初的“全局”帧(frame)被完成。