Math 将矩阵x4x4转换为位置,;比例,;欧拉三矢量3

Math 将矩阵x4x4转换为位置,;比例,;欧拉三矢量3,math,matrix,glm-math,Math,Matrix,Glm Math,将矩阵X4X4转换为位置、比例、欧拉三矢量3 int main(int argc, const char * argv[]) { glm::mat4 t(1); glm::mat4 r(1); glm::mat4 s(1); t = glm::translate(t, glm::vec3(10.0f, 0.0f, 50.0f)); r = glm::rotate(r, glm::radians(90.0f), glm::vec3(1.0f, 0.0f,

将矩阵X4X4转换为位置、比例、欧拉三矢量3

int main(int argc, const char * argv[]) {
    glm::mat4 t(1);
    glm::mat4 r(1);
    glm::mat4 s(1);

    t = glm::translate(t, glm::vec3(10.0f, 0.0f, 50.0f));
    r = glm::rotate(r, glm::radians(90.0f), glm::vec3(1.0f, 0.0f, 0.0f));
    s = glm::scale(s, glm::vec3(-3.0f, -5.0f, -10.0f));

    glm::mat4 trs = t * r * s;

    glm::vec3 restorePos;
    glm::vec3 restoreRot;
    glm::vec3 restoreSca;
    getPRS(trs, restorePos, restoreRot, restoreSca); 
}

如何表达rot和sca使函数正确?

欢迎使用StackOverflow。不幸的是,你的问题被压缩到很难理解你的意思。请编辑您的问题,使用完整的句子,并添加更多的上下文和细节。
void getPRS(const glm::mat4 &trs, glm::vec3 &pos, glm::vec3& rot, glm::vec3& sca) { 
    pos.x = transformation[3][0];
    pos.y = transformation[3][1];
    pos.z = transformation[3][2];
}