向后平移和旋转变换

问题描述 投票:0回答:1

我正在其自己的坐标系中的对象上应用平移和旋转变换。

现在我想以相同的变换顺序将对象带回到初始位置。我的意思是,我知道如果我应用 env(rotate) 和 -translate 我会回到初始位置。

但是我应该对原始翻译转换应用哪种转换,以便通过应用翻译第一个转换返回(据我所知,不需要更改 env(rotate) )?

rotation transform
1个回答
0
投票

要在应用旋转和平移变换后将对象恢复到其初始位置,您需要以相反的顺序应用逆变换。由于您想保持相同的转换顺序,因此您应该执行以下操作:

  1. 首先,应用平移变换的逆变换,将对象带到其最终位置。如果最终位置的平移向量是 (tx, ty),那么您将应用 (-tx, -ty)。

  2. 然后,应用应用于对象的旋转变换的逆变换。为此,您可以应用旋转角度的负值,或者使用旋转矩阵的转置(如果它是变换的矩阵表示)。

通过以相反的顺序应用这些逆变换,您将使用与之前相同的变换顺序将对象带回到其初始位置。

© www.soinside.com 2019 - 2024. All rights reserved.