关于《3D数学基础:图形与游戏开发》里的一处比较大的混乱
< 返回列表时间: 2017-04-18来源:OSCHINA
先说这本书的第8章,是讲矩阵的。很明显,这一章里说的矩阵,可以理解为一种运动过程。将一个向量与这个矩阵相乘时,就代表对这个向量执行这个运动过程。
然后跳到10.6节,看标题是【表达形式之间的转换】。明显是说“一种事物”有多种描述形式、表达形式,这一节呢,就是要根据其中一种描述形式,求出其他等价的描述形式。那么这里的“一种事物”是说啥呢?看它第一段的最后一句:本节将讨论怎样将角位移从一种形式转换到另一种形式。嗯哼,我很自然的认为“一种事物”指的就是角位移,也可以认为就是第8章说的变换矩阵。结果呢,这一节余下的内容,求的矩阵,并不是角位移,即不是第8章说的运动过程,而是:同一个点在不同坐标系下的坐标值之间的对应关系,即同一个点,在不同的坐标系下有不同的坐标值,这些不同的值描述的是同一个点,这个矩阵就是让你能够从一个值求出这另一个对应的值,而不是让你将一个点执行一个运动过程,求出这个点现在到了什么地方。这两种理解表达的内涵是完全不一样的,尽管可能从矩阵字面值来看,两种理解所对应的矩阵是个互逆关系而已。但造成的混乱十分明显,我觉得这是这本书最大的bug。这个bug也清楚的解释了为什么h、p、b前面都要加个负号,而不是其他文献中的h、p、b矩阵直接连乘。
所以,最后再强调一下,书里10.6求的那几个M矩阵,是表示同一个点的在不同坐标系下的不同表述之间的对应关系,不是表示将一个点在一个坐标系下执行运动过程。
热门排行