【发布时间】:2010-12-10 07:06:00
【问题描述】:
我们有一个点 (x,y) 和一组其他点 (xi,yi)。我们如何确定 (xi,yi) 中的哪一个在以 (x,y) 为中心、半径为 r 的圆内(给定数字)?
【问题讨论】:
-
psasik:可能是因为它不是编程问题。
标签: geometry
我们有一个点 (x,y) 和一组其他点 (xi,yi)。我们如何确定 (xi,yi) 中的哪一个在以 (x,y) 为中心、半径为 r 的圆内(给定数字)?
【问题讨论】:
标签: geometry
我在 plsql 过程中也有同样的问题要解决。上面的解决方案是完全正确的,我也这样做了。但它极大地损害了我的 plsql 程序的性能。我没有使用那个圆形计算,而是使用了一个正方形。因为它可以在不做这样的计算和在sql语句本身的情况下完成。查询性能提升 10 倍以上
【讨论】:
如果 (xi - x)^2 + (yi - y)^2 小于 d^2,它在里面。如果它等于 d^2,它就在圆上。如果大于 d^2,则在外面。
【讨论】:
(xi-x)**2 + (yi-y)**2 < r**2
【讨论】:
如果 sqrt((xi-x)^2 + (yi-y)^2)
【讨论】:
简单的方法。
计算点到圆心的距离。如果小于 radius ,那么它在圆内。
【讨论】: