0

您可能会看到我的目标 - 但有什么简单的方法可以从两行生成 CGAffineTransform - 每行由一对 CGPoints 表示:

A[(a1x,a1y), (a2x,a2y)],
B[(b1x,b1y), (b2x,b2y)]

结果 CGAffineTransform 应用于 A 线时当然会产生 B 线。它可能涉及平移、缩放和旋转。

当然,我希望能够在复习一些三角函数后自己写这个,但我想知道是否有任何东西可以做到这一点?

注意:我不是要你为我写这个——我只是不想错过一个 Core Graphics 技巧!

4

1 回答 1

1

是的,但至少有四种解决方案:两种平移和两种比例(每个操作和方向一个)。这还不包括平移缩放的转换。

Quartz 2D Programming Guide中的“矩阵背后的数学”</a>很好地概述了每个操作的工作原理;由此,它应该足够简单,可以将其反转并为所需的操作和方向提出一个矩阵。

当然,我希望能够在复习一些触发器之后自己写这个……</p>

除了轮换,你不需要那个。

于 2009-06-24T08:27:34.957 回答