1

对于我当前的 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 循环,说明公式的结果是否小于或等于坐标在矩形中的变量,否则它们在外面。这返回了错误的答案;我可以做些什么不同的事情?

4

2 回答 2

1

So, let's say first, the coordinate of the center is: (x=2.5, y=1.25)

See the below for explanation

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

The point is, you can not use the distance from the center to determine if the point is in the rectangle or not, because it is a rectangle not a circle. Below is the right way to check if user coordinate is in rectangle or not.

if(userXCoordinate < 10/2 && userYCoordinate < 5/2 )
{
  //user Coordinate is in the rectangle
}
于 2013-10-11T22:05:44.523 回答
-1
// Calculations; centerCoordinate = 0
formula = Math.sqrt(Math.pow(userXCoordinate - centerCoordinate, 2) + Math.pow(userYCoordinate - centerCoordinate, 2), 2);

你几乎明白了。:)

于 2013-10-11T21:47:02.783 回答