pub fn from_matrix(transform: [f32; 9]) -> Option<Projection> {
        let transform = normalize(transform);
        let class = class_from_matrix(transform);
        try_inverse(&transform).map(|inverse| Projection {
            transform,
            inverse,
            class,
        })
    }
Creates a 2d projective transform from a row-major 3x3 matrix in homogeneous coordinates.

Returns `None` if the matrix is not invertible.
src/geometric_transformations.rs