mat3: mat3(const nml::mat4& _mat)

Construct a ([_mat.x.x, _mat.x.y, _mat.x.z], [_mat.y.x, _mat.y.y, _mat.y.z], [_mat.z.x, _mat.z.y, _mat.z.z]) matrix.

\(\begin{bmatrix} \_mat.x.x & \_mat.y.x & \_mat.z.x \\ \_mat.x.y & \_mat.y.y & \_mat.z.y \\ \_mat.x.z & \_mat.y.z & \_mat.z.z \end{bmatrix}\)

Example

#include "include/mat3.h"
#include "include/mat4.h"
#include <iostream>

int main() {
        nml::mat4 a(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f);
        nml::mat3 b(a);
        std::cout << nml::to_string(b) << std::endl;

        return 0;
}

Result:

[[1.000000, 2.000000, 3.000000], [5.000000, 6.000000, 7.000000], [9.000000, 10.000000, 11.000000]]