OpenGL Transformation Thinking

    xiaoxiao2021-12-14  21

    以下是个人的理解,如果有错误或者不当的地方请大家指正 OpenGL坐标变换可以按照两种方式来理解(设计 坐标变换时的考虑方法,不是阅读代码的方法) 1. 全局固定坐标系,此时坐标的变换顺序与代码出现顺序相反, 普通的(多个模型之间不需要相互定位的情况)应用场景下便于实现坐标变换目的,代码理解不方便(因为代码中的最后一个变换最先作用到模型坐标上) 2. 局部移动坐标系,此时坐标的变换顺序与代码出现顺序相同,这种方式方便理解代码,而且在机器人定位中容易理解肩、肘、腕、手指的相对位置( 多个模型之间需要相互定位的情况 ), 不论按照哪种理解方式来设计,坐标的数学公式是一定的,即 C * M * vertex,也就是阅读代码的方法是一样的,每一个变换函数的调用都是在当前矩阵 C 的坐标系下的变换(包括已经改变方向的坐标轴),此时如果调用 glGetDoublev( GL_MODELVIEW_MATRIX , matrix); 得到的 matrix 的数值是在全局固定坐标系下的坐标值。
    转载请注明原文地址: https://ju.6miu.com/read-971423.html

    最新回复(0)