我们有一个点(x,y)和一些其他点(xi,yi)。我们如何确定(xi,yi)中的哪一个在中心(x,y)和半径 r (给定数字)的圆圈内)?
答案 0 :(得分:16)
(xi-x)**2 + (yi-y)**2 < r**2
答案 1 :(得分:6)
简单的方法。
计算从圆点到圆心的距离。如果小于半径,那么它在圆圈内。
答案 2 :(得分:3)
如果(xi - x)^ 2 +(yi - y)^ 2小于d ^ 2,则它在内部。如果它等于d ^ 2,它就在圆圈上。如果它大于d ^ 2,则它在外面。
答案 3 :(得分:2)
如果sqrt((xi-x)^ 2 +(yi-y)^ 2)&lt; = d
答案 4 :(得分:0)
我在plsql程序中解决了同样的问题。上面的解决方案是完全正确的,我做了同样的事情。但它严重影响了我的plsql程序的性能。而不是那个圆计算,我使用了一个正方形。因为它可以在不进行此类计算的情况下完成,也可以在sql语句本身中完成。它将查询性能提高了10倍以上