public Acceleration2 AccelerationTowards(Mass mass, Difference2 differenceToOther) { var distanceSquared = differenceToOther.LengthSquared; var directionVector = differenceToOther / distanceSquared.Sqrt(); var acceleration = AccelerationAtDistance(mass, distanceSquared); return(acceleration * directionVector); }
/// <summary> /// Projects the velocity vector onto a difference vector, returning the speed component in that vector's direction. /// </summary> public Speed ProjectedOn(Difference2 vector) => projectedOn(vector.NumericValue.NormalizedSafe());
public Acceleration AccelerationAtDistance(Mass mass, Difference2 differenceToOther) => AccelerationAtDistance(mass, differenceToOther.LengthSquared);
/// <summary> /// Projects the acceleration vector onto a difference vector, returning the acceleration component in that vector's direction. /// </summary> public Acceleration ProjectedOn(Difference2 vector) => projectedOn(vector.NumericValue.NormalizedSafe());