public void Slerp(ref Vector2 v, float f, out Vector2 result) { result = this.Rotate(this.Angle(v) * f) * FMath.Lerp(1f, v.Length() / this.Length(), f); }
public void Slerp(ref Vector3 v, float f, out Vector3 result) { result = Matrix4.RotationAxis(this.Cross(v), this.Angle(v) * f).TransformVector(this) * FMath.Lerp(1f, v.Length() / this.Length(), f); }