public Vector <double>[] GetTransformedPoints(double time, Scene.StatePair state)
        {
            var result = new Vector <double> [Points.GetLength(0)];
            var M      = Role(time, state);

            for (int i = 0; i < Points.GetLength(0); i++)
            {
                if (Points[i][0] == double.NegativeInfinity)
                {
                    // This is just an instruction to raise the pen
                    result[i] = Points[i];
                }
                else
                {
                    result[i] = M * Points[i];
                }
            }

            return(result);
        }
 public Matrix <double> GetMatrix(double time, Scene.StatePair state)
 {
     return(Role(time, state));
 }