public static Float2 LerpClamp(Float2 a_, Float2 b_, float p_, float t_) { var f = GenericMath.Clamp(p_ / t_, 0, 1); return(new Float2(a_.x * (1 - f) + b_.x * f, a_.y * (1 - f) + b_.y * f)); }
public static Float2 Lerp(Float2 a_, Float2 b_, float p_, float t_) { var f = p_ / t_; return(new Float2(a_.x * (1 - f) + b_.x * f, a_.y * (1 - f) + b_.y * f)); }
public void SetPerpenticularTo(Float2 r_) { //unity coordinate system default x = -r_.y; y = r_.x; }
public static Float2 Scale(Float2 a_, float p_, float b_) { var f = p_ / b_; return(new Float2(a_.x * f, a_.y * f)); }
public static float Dot(Float2 a_, Float2 b_) => a_.x * b_.x + a_.y * b_.y;