给定两个 CGPoints,比如说 P1 和 P2,我想:
- 找到连接它们的线
- 沿着这条线找到所有 CGPoints
有什么建议么?
到目前为止,我得到了以下方法来得出各个点:
1)我首先从定义如下的直线方程开始:
y = m * x + b
2) 求 m:
m = (P2.y - P1.y) / (P2.x - P2.x)
然后,为了找到 b,我们将记住线的方程,我们可以将其应用于我们拥有的两个点(P1 和 P2)中的任何一个,所以:
b = y - m*x
变成:
b = P1.y - m*P1.x (where we have both P1 and m)
这个方程有一个期望,当 P1 和 P2 是一个在另一个之上(P1.x == P2.x)时的情况。在这种情况下,成为 x 不变的方程,因此我们只有一个由点的 y 部分定义的变量。
[引用。在这里找到/得出此类答案的一个很好的交互式指南。]