在OpenGL中,大多数复杂模型都是通过简单的部件拼接而成。
比如一辆汽车由四个轮胎和车身组成,电脑由键盘屏幕和机身组成。
下面举得这个栗子,机械手臂,是一个Articulated Model的实例。
每一个部分在节点处相连接,可以通过制定各个节点的角度来指定模型的状态。
从图中可以看出,它大概是由三个部分组成:
底座,下臂,上臂。
每一个部件在各自坐标系中的自由度如下:
底座单独的进行旋转。
单独的旋转角度决定了坐标。
下臂链接到底座上。
它的坐标取决于底座的旋转。
必须也相对底座进行移动并且在连接点进行旋转。
上臂与下臂直接相连。
它的坐标由上臂和底座共同决定。
必须相对下臂进行移动并且在与下臂的连接点处进行旋转。
下面来列举构建这样一个机械手臂所需要的矩阵:
1.首先是底座的旋转:Rb
将M=Rb应用到底座上。