gpt4 book ai didi

java - 在Java中使用距离公式

转载 作者:行者123 更新时间:2023-12-01 16:53:10 24 4
gpt4 key购买 nike

我需要使用距离公式来检查鼠标和移动物体之间的距离。但是,我的 TotalDistance 仍然只返回 1,我不知道为什么。

float mouseX = Engine.getMouseX(); //gets X coordinate of the mouse
float mouseY = Engine.getMouseY(); //gets Y coordinate of the mouse

graphic.setDirection(mouseX,mouseY); //object faces mouse
float currentX = graphic.getX(); //gets X coordinate of object
float currentY = graphic.getY(); ////gets Y coordinate of object
double distanceX = (Math.pow((currentX - mouseX), 2)); //calculate (x2-x1)^2
double distanceY= (Math.pow((currentY - mouseY), 2)); //calculate (y2-y1)^2
double totalDistance = (Math.pow((distanceX+distanceY), (1/2)));
//calculate square root of distance 1 + distance 2
System.out.println("totalDistance = "+totalDistance); //prints distance

最佳答案

您应该为所有指数计算指定精度:

double distanceX = (Math.pow((currentX - mouseX), 2.0d));
double distanceY= (Math.pow((currentY - mouseY), 2.0d));
double totalDistance = (Math.pow((distanceX+distanceY), 0.5d));

事实上,总距离的计算是我唯一看到一个大潜在问题的地方。你有这个:

double totalDistance = (Math.pow((distanceX+distanceY), (1/2)));

这里的问题是 (1/2) 将被视为整数除法,结果将被截断为 0。

关于java - 在Java中使用距离公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36273702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com