如果这被认为是一个重复的问题,我们深表歉意,但我在这里看到的答案对于我的需要来说太复杂了。
我只需要找出线段是否与圆相交。我不需要找到从圆心到直线的距离,也不需要求解交点。
我需要一些简单的东西的原因是我必须在 SQL 中编写代码并且无法调用外部库,并且需要在 WHERE 子句中编写这个公式......基本上它必须在我的单个语句中完成可以将值插入到。
假设用2个点A(Ax,Ay)和B(Bx,By)来描述线段,一个圆心为C(Cx,Cy),半径为R,我目前使用的公式是:
( R R ( (Ax-Bx)(Ax-Bx) + (Ay-By)(Ay-By) ) ) -( ((Ax-Cx)(By-Cy))-((Bx-Cx)(Ay -Cy))) > 0
此公式取自链接文本,并基于 0,0 圆心圆。
我发布的原因是我得到了奇怪的结果,我想知道我是否做了一些愚蠢的事情。:(