Collada - 变换的排序是否重要?

时间:2013-10-08 14:54:56

标签: collada

如果我有一套由翻译,缩放和旋转组成的变换......它们的排序是否重要?如果我翻译然后旋转,结果会不同于旋转和翻译?

1 个答案:

答案 0 :(得分:2)

你见过http://collada.org/public_forum/showthread.php/1016-order-of-transform吗?

线程有点深入,但包含两个要点:COLLADA规范要求您按特定顺序进行转换,并且轮换和转换不是可交换的,因此顺序很重要。

编辑 - 链接中的一些详细信息:

原始海报是指COLLADA规范,我相信他会解释这一部分:

  

元素表示孩子的上下文   转换元素按它们出现的顺序组成。所有   其他子元素受到累积的影响   元素范围内的转换。转型   elements转换元素的坐标系。   在数学上,这意味着转换元素是   转换为矩阵并按照它们的顺序进行后乘   在组成坐标系中指定。

换句话说,转换的顺序应该遵循文档中转换元素的顺序。

然后赫伯特通过显示嵌套变换的给定示例的实际矩阵乘法来回答。他的第二篇文章包含正确的顺序:

  

M =(T1A x T1B x T1C)x(T2A x T2B x T2C)x(T3A x T3B x T3C)