如何在兩個3d矢量之間使用lerp? 我用這個方法用於2D載體:3D矢量線性插值
public Vector2d lerp(Vector2d other, double speed, double error) {
if (equals(other) || getDistanceSquared(other) <= error * error)
return other;
double dx = other.getX() - this.x, dy = other.getY() - this.y;
double direction = Math.atan2(dy, dx);
double x = this.x + (speed * Math.cos(direction));
double y = this.y + (speed * Math.sin(direction));
return new Vector2d(x, y);
}
注意:這是不完全的「線性內插」;此方法將以恆定速率進行內插,這正是我想要的。
我想要做到這一點,但爲第三維增加了一個z組件。我怎樣才能做到這一點?