我正在开发一个用Java描述一辆驾驶一定距离的汽车的项目。功能驱动器有三个参数:一个用于行进距离,一个用于x比率,一个用于y比率。 此处是功能说明

&#xA ;到目前为止,这是我的驱动功能。我有c变量,因为我考虑过使用Pythagorean,但我不确定从那里开始。


 public double drive( int distance,double xRatio,double yRatio)
 {
 double disTraveled = 0.00;
 boolean empty = false;

 double c = 0.00;

 c = Math.sqrt((xRatio * xRatio)+(yRatio * yRatio));

 for(int i = 0; i< distance&& empty == false; i ++)
 {
 if(gasTank.getLevel()== 0)
 {
 System.out.printf(“在驾驶%。2f英里后熄灭气体\ n”,disTraveled);
 empty = true;
 }
否则
 {


 / * xCoord + = xRatio;
 yCoord + = yRatio;

 gasTank.setLevel(gasTank.getLevel() - (1.00 / engine.getMpg()));

 disTraveled ++; * /
 }
 }

返回disTraveled;
}



 我在使用我需要使用的算法时遇到问题才能找到最终坐标。我该怎么办才能找到终点?

答案 0 :(得分:0)
记下您已知的数量。这应包括您的角度,距离和参考坐标。例如:
Angle: 37 degrees Distance: 27 feet Starting point: x0 = 3; y0 = 5
计算角度的余弦并将其乘以距离。
cos(37) = 0.7986 27 * 0.7986 = 21.563
计算角度的正弦值并将其乘以距离。
sin(37) = 0.6018 27 * 0.6018 = 16.249
将余弦结果从起点添加到x坐标,并将正弦结果添加到y坐标以获取第二个点的坐标。
x1 = x0 + 21.563 = 3 + 21.563 = 24.563
y1 = y0 + 16.249 = 5 + 16.249 = 21.249
计算x / y坐标的角度。
将其写为Java代码应该不会太难。看一下 Java.Math