2 つの 3D ベクトル間で lerp するにはどうすればよいですか? 私は2次元ベクトルにこの方法を使用します:
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);
}
注: これは厳密には「線形補間」ではありません。このメソッドは、私が望む一定のレートで補間します。
これとまったく同じことをしたいのですが、3 番目の次元に z コンポーネントを追加します。これどうやってするの?