public static Polar3 SplineCalc(float t, Polar3[] Polars) { float t3 = Mathf.Pow(1f - t, 3); float t2 = Mathf.Pow(1f - t, 2); float t1 = 1f - t; Polar3 P = t3 * Polars[0] + 3 * t2 * t * Polars[1] + 3 * t1 * t * t * Polars[2] + t * t * t * Polars[3]; return(P); }
public static Polar3 rTAprox(Polar3 start, Polar3 finish, float r) { var t = (r - start.r) / (finish.r - start.r); return(Lerp(start, finish, t)); }
public static Polar3 Lerp(Polar3 startPos, Polar3 Finish, float t) { return((1 - t) * startPos + t * Finish); }