Geometry 查找点是否位于具有给定圆心和半径的圆内
我们有一个点(x,y)和一组其他点(xi,yi)。我们如何确定(xi,yi)中的哪一个位于圆心(x,y)和半径r(给定数字)的圆内?简单方法 计算从点到圆心的距离。如果小于半径,则其在圆内。如果sqrt((xi-x)^2+(yi-y)^2)Geometry 查找点是否位于具有给定圆心和半径的圆内,geometry,Geometry,我们有一个点(x,y)和一组其他点(xi,yi)。我们如何确定(xi,yi)中的哪一个位于圆心(x,y)和半径r(给定数字)的圆内?简单方法 计算从点到圆心的距离。如果小于半径,则其在圆内。如果sqrt((xi-x)^2+(yi-y)^2)(xi-x)**2+(yi-y)**2
(xi-x)**2+(yi-y)**2
如果(xi-x)^2+(yi-y)^2小于d^2,则它在内部。如果它等于d^2,它在圆上。如果大于d^2,则在外部。我在plsql过程中也遇到了同样的问题。上面的解决方案完全正确,我也这样做了。但它严重影响了我的plsql程序的性能。我用了一个正方形来代替圆的计算。因为它可以在不进行此类计算的情况下在sql语句本身中完成。它将查询性能提高了10倍以上,您可以对此进行优化。Ommit SQRT以获得更好的性能。(xi-x)^2+(yi-y)^2 psasik:可能是因为这是一个边界问题,而不是一个编程问题。使用
(xi-x)**2 + (yi-y)**2 < r**2