Swift Playgrounds中变换的连接顺序

时间:2018-02-02 17:44:17

标签: ios uiview rotation concatenation swift-playground

在使用游乐场时,我发现了一些意想不到的情景

我正在将square(w: 100, h: 100)(0,0)翻译为(150, 150)并将其旋转.pi。我正在使用连接来同时翻译和旋转方块,所以这是一个惊喜,但当我切换我称之为平移和旋转的顺序时,方块将以不同的方式移动

当我翻译之前旋转广场时,正方形将从(0,0)移动到(150, 150),正如预测的那样

然而,当我在旋转方格之前进行翻译时,方格将从(0,0)移开并向上旋转并离开屏幕,这对我来说在逻辑上没有意义,有人可以尝试解释这对我来说?

Code from the Playground

Two Lines of Code Changed

1 个答案:

答案 0 :(得分:1)

由于矩阵代数的性质,在concatenating(又名CGAffineTransformConcat)中应用变换的顺序是您应用顺序的相反他们一个接一个地得到同样的效果。