如何计算两个物体之间的距离?

时间:2019-08-04 19:03:12

标签: javafx

我正在尝试计算两个对象(矩形和圆形)之间的距离。在圆停止的地方,矩形沿圆移动(使用路径转换)。

这是为了计算从行驶中的车辆到车道上的障碍物的距离。

 private double calculateDistanceBetweenAccidentAndVehicle()
 {
 //      Point2D v = new Point2D(vehicle.getX(), vehicle.getY());
 //      Point2D be = new Point2D(blockingObject.getCenterX(), 
 blockingObject.getCenterY());
 //      v.distan

  double vX = getGlobalX(vehicle);
  double vY = getGlobalY(vehicle);
  double bX = getGlobalX(blockingObject);
  double bY = getGlobalY(blockingObject);

  Point2D v = new Point2D(vX, vY);
  Point2D b = new Point2D(bX, bY);

  return v.distance(b);

}

  private double getGlobalX(Node node) {
    if (node == null) {
      return 0.0;
   }
  double parentGlobalX = getGlobalX(node.getParent());
  return node.getLayoutX() - parentGlobalX;
  }

  private double getGlobalY(Node node) {
  if (node == null) {
      return 0.0;
  }
  double parentGlobalY = getGlobalY(node.getParent());
  return parentGlobalY - node.getLayoutY();
}

我得到的结果没有意义。我得到1000,当两个对象碰撞时应该达到0,我得到的最小值是375。

0 个答案:

没有答案