gpt4 book ai didi

algorithm - iOS : How to determine whether three CGPoints lie in a straight line

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:34:03 25 4
gpt4 key购买 nike

我有两个给定的 CGPoints A 和 B 以及另一个从 touchesEnded 事件中获得的 CGPoint C。我想确定这三个点是否位于我使用以下给定公式的直线上:对于点 A(x1, y1)、B(x2, y2) 和 C(x3, y3)x1(y2 - y3) + x2 (y3-y1) + x3(y1-y2) = 0但是这个公式根本没有帮助。有没有其他方法可以确定iOS中三点的共线性谢谢阿尼特姆

最佳答案

这不是真正的 iOS 问题,甚至不是编程问题 -- 这是算法问题。

我不确定您得到的算法是否正确——请参阅评论中给出的叉积答案,了解我认为的正确答案。您觉得您的公式在哪些方面没有帮助?顺便说一句,这是在代码中。 (在浏览器中输入的代码,未检查):

CGPoint p1;
CGPoint p2;
CGPoint p3;
const float closeEnough = 0.00001; // because floats rarely == 0

float v1 = p1.x * (p2.y - p3.y);
float v2 = p2.x * (p3.y - p1.y);
float v3 = p3.x * (p1.y - p2.y);

if (ABS(v1 + v2 + v3) < closeEnough)
{
// your algorithm is true
}

关于algorithm - iOS : How to determine whether three CGPoints lie in a straight line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6791447/

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