【发布时间】:2021-09-09 12:09:28
【问题描述】:
我越来越糊涂了。
使用视觉,我将左下角坐标转换为左上角
CGAffineTransform(scaleX: 1, y: -1).translatedBy(x:0, y: -1)
但是根据方向旋转相机视图 I
CGAffineTransform(translationX: 1, y: 0), rotated(by: -CGFloat.pi / 2)
为什么在第二种情况下我们使用 CGAffineTransform(translationX... 而不是 CGAffineTransform(scaleX..
两者有什么区别?
【问题讨论】:
-
世界上的所有差异。缩放比例(更改大小)。翻译翻译(改变位置)。
-
那么为什么要将左下角坐标转换为左上角我们使用比例尺呢?我们不应该使用翻译吗?这是来自 Apple 视频
-
因为你不动,所以你在翻转。所以你颠倒比例。这就像把尺子翻过来一样。
-
变换矩阵令人困惑,需要深入研究才能理解。购买一本关于 3D 图形的书并阅读关于变换矩阵的部分。然后使用示例应用程序并尝试组合平移、缩放、翻转和旋转。当一切都不像你预期的那样,回去再读一遍这本书。重复这一点,直到你开始得到它。
-
(一个令人困惑的事情是变换不是可交换的。应用它们的顺序会改变结果,并且需要仔细考虑找出正确的顺序来应用变换以获得所需的结果,即使在之后您了解它们的工作原理。)