gpt4 book ai didi

ios - 从两个 CGPoint 导出一条线

转载 作者:行者123 更新时间:2023-11-29 10:53:42 25 4
gpt4 key购买 nike

给定两个 CGPoint,假设 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 部分定义的变量。

[引用。 here 是寻找/得出此类答案的一个很好的交互式指南。 .]

最佳答案

至少这是错误的:

m = (P2.y - P1.y) / (P2.x - P2.x)

应该是

m = (P2.y - P1.y) / (P2.x - P1.x)

或更好

   denom = P2.x - P1.x;

if (denom != 0) {
m = (P2.y - P1.y) / denom;
} else {
//handle special case
m = 0;
}

从您的评论中我看到您想对带有矩形边界框的线进行碰撞检测。所以我会搜索“直线和矩形相交”。结果为您提供交点:如果有交点,则该线已击中边界矩形。

关于ios - 从两个 CGPoint 导出一条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19385456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com