2011-11-30 18 views
-4

我有一个问题[愚蠢的 - 我承认]有关发现点是否在圆内,我有一个坐标圆的中心,我知道方程,但我' m有半径问题,假设它是2公里,所以我有x:46.123654 y:15.789456和r = 2或200或2000? R的价值应该是什么?圈内点的算法问题

+2

这与目前的信息完全无法解决--R的价值取决于规模。如果点(0,0)和(0,1)之间的真实世界距离是1km,则R将是2;如果差值为1m,则R为2000;等等。 –

+1

x和y的单位是什么?千米,十米或米? – mbeckish

+0

单位是:microdegrees – iie

回答

1

为了清楚起见,r的单位几乎可以肯定地与xy的单位相同。如果,例如x = 46.123654意味着46.123654,和你的圆的半径是二公里,那么r值应为2000.0,这意味着2000。您还应该在某些评论中明确说明这些单位,即x = 46.123654 //meters。如果单位是一样的,你可以应用公式,而混乱的转换,例如:

//determines whether a point (x, y) is in the circle of radius r centered at (0, 0) 
bool isInCircle(double x, double y, double r) 
{ 
    return x * x + y * y <= r * r; //pythagorian theorem! 
} 

这不是真正的编程,只是中学数学和常识。