@classmethod
def face_rotations(cls, sheet, method='normal'):
    """Returns the (sheet.Ne, 3, 3) array of rotation matrices
        such that each rotation returns a coordinate system (u, v, w) where the face
        vertices are mostly in the u, v plane.

        If method is 'normal', face is oriented with it's normal along w
        if method is 'svd', the u, v, w is determined through singular value decompostion
        of the face vertices relative  positions.

        svd is slower but more effective at reducing face dimensionality.

        """
    if method == 'normal':
        return cls.normal_rotations(sheet)
    elif method == 'svd':
        return cls.svd_rotations(sheet)
    else:
        raise ValueError("method can be either 'normal' or 'svd' ")
