1. 程式人生 > >已知兩點座標,及在從其中一點開始移動的距離,求移動到的座標

已知兩點座標,及在從其中一點開始移動的距離,求移動到的座標

    //兩點間距離  
    double dis = Math.pow(MathUtil.getDistanceSquare(list.get(i + 1).x, list.get(i + 1).y, list.get(i).x, list.get(i).y), 0.5);  
      
    // 計算斜率  
    double kx = (list.get(i + 1).x - list.get(i).x) / dis;  
    double kz = (list.get(i + 1).y - list.get(i).y) / dis;  
      
    //c為在兩點間移動的距離  
    c = 2;  
      
    // 計算現在應該到達的距離  
    float x = (float) (list.get(i).x + (dis - (sumD - c)) * kx);  
    float z = (float) (list.get(i).y + (dis - (sumD - c)) * kz);  
      
    p.setX(x);  
    p.setY(nowPosition.getY());  
    p.setZ(z);  
      
    road.setIndex(i);  
      
    return p;