如何找到距矩形中心的垂直和水平距离

时间:2013-10-11 21:43:25

标签: java math

对于我当前的Java项目,我必须计算距矩形中心的水平和垂直距离。我尝试使用之前项目中的公式来找到这样的距离。这是我的代码:

    // Calculations; centerCoordinate = 0
    formula = Math.sqrt(Math.pow(userXCoordinate - centerCoordinate, 2) + Math.pow(userYCoordinate - centerCoordinate, 2));  

我的教授给出了一个提示:如果一个点到(0,0)的水平距离小于或等于10/2并且它与(0,0)的垂直距离小于或等于5 / 2.我尝试使用5表示水平距离,2.5表示垂直距离,并将变量设置为这些数字。然后我做了一个if-else循环,说明公式的结果是否小于或等于坐标在矩形中的变量,否则它们在外面。这回答了错误的答案;我能做些什么不同的事情?

2 个答案:

答案 0 :(得分:1)

所以,首先我们说中心的坐标是: (x = 2.5,y = 1.25)

请参阅以下解释

               <-10/2 ->
   (0,0) _____________________
    |                         |  ^
    |                         |  |
    | Center is (5/2, 2.5/2)  | 5/2
    |                         |  |
    |_________________________|  v

关键是,您不能使用距离中心的距离来确定该点是否在矩形中,因为它是一个矩形而不是一个圆。 以下是检查用户坐标是否为矩形的正确方法。

if(userXCoordinate < 10/2 && userYCoordinate < 5/2 )
{
  //user Coordinate is in the rectangle
}

答案 1 :(得分:-1)

// Calculations; centerCoordinate = 0
formula = Math.sqrt(Math.pow(userXCoordinate - centerCoordinate, 2) + Math.pow(userYCoordinate - centerCoordinate, 2), 2);

你几乎得到了它。 :)