public Vector2 interp(float t)
{
Vector2 a = Vector2.Lerp(Vector2.zero, p1, t);
Vector2 b = Vector2.Lerp(p1, p2, t);
Vector2 c = Vector2.Lerp(p2, Vector2.one, t);
Vector2 d = Vector2.Lerp(a, b, t);
Vector2 e = Vector2.Lerp(b, c, t);
return Vector2.Lerp(d, e, t);
}