在坐标平面上给定距离和x和y比的计算结束坐标



我正在研究Java的一个项目,该项目描述了驾驶给定距离的汽车。函数驱动器具有三个参数:一个用于行进的距离,一个用于x比,一个用于y比。这是功能的描述

这是迄今为止我对驱动器功能所拥有的。我有c变量,因为我想到了使用毕达哥拉斯的therom,但我不确定从那里去哪里。

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("Ran out gas after driving %.2f milesn", disTraveled);
                empty = true;
        }
        else
        {

            /*xCoord += xRatio;
            yCoord += yRatio;
            gasTank.setLevel(gasTank.getLevel() - (1.00 / engine.getMpg()));
            disTraveled ++;*/
        }
    }
    return disTraveled;
}

我在需要使用的算法上遇到麻烦,以找到最终的坐标。我能找到什么终点?

步骤1

写下您的已知数量。这应该包括您的角度,距离和参考坐标。例如:

Angle: 37 degrees Distance: 27 feet Starting point: x0 = 3; y0 = 5

步骤2

计算角度的余弦并乘以距离。

cos(37) = 0.7986 27 * 0.7986 = 21.563

步骤3

计算角度的正弦并乘以距离。

sin(37) = 0.6018 27 * 0.6018 = 16.249

步骤4

将余弦结果从起点添加到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

最新更新