public static FPVector2 MulT(ref Rot rot, FPVector2 axis)
 {
     return(MulT(rot, axis));
 }
 /// <summary>
 /// Initialize using a position vector and a rotation matrix.
 /// </summary>
 /// <param name="position">The position.</param>
 /// <param name="rotation">The r.</param>
 public Transform(ref FPVector2 position, ref Rot rotation)
 {
     p = position;
     q = rotation;
 }
 /// Inverse rotate a vector
 public static FPVector2 MulT(Rot q, FPVector2 v)
 {
     return(new FPVector2(q.c * v.x + q.s * v.y, -q.s * v.x + q.c * v.y));
 }