0

如果我有一套由平移、缩放和旋转组成的变换器……它们的顺序重要吗?如果我先翻译然后旋转,结果会与旋转和翻译不同吗?

4

1 回答 1

2

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

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

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

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

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

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

Herbert 然后通过显示给定嵌套变换示例的实际矩阵乘法来回答。他的第二个帖子包含正确的顺序:

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

于 2013-12-18T03:14:00.610 回答