已知兩點座標,及在從其中一點開始移動的距離,求移動到的座標
阿新 • • 發佈:2019-02-20
//兩點間距離
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;
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;