【零基础学习ARToolkit系列之五】x,y,z轴的横移变化

2019-2-1
【零基础学习ARToolkit系列之五】x,y,z轴的横移变化

ARToolKit 提供了标识在摄像机的坐标系统中的位置,使用 opengl 矩阵系统计算出虚 拟物体的位置。
我们先来介绍 simpleTest 程序。打开它,把下面这句代码加在 arGetTransMat 后:
printf("%f %f %f\n",patt_trans[0][3],patt_trans[1][3],patt_trans[2][3]);
重新编译,运行程序。注意输出值。如果把标识往左移动,第一个值就会增加,往上移动,第二个值就减小,往前移动最后一个值也会增加。如图2
图1是 ARToolKit 所使用的坐标系统(CS)。
【零基础学习ARToolkit系列之五】x,y,z轴的横移变化
输出的值与这些坐标系统相对应。标识坐标系统有着和 opengl 坐标系统一样的方位。因此任何应用于与标识关联的物体的转换都应遵循 opengl 的转换规则。
【零基础学习ARToolkit系列之五】x,y,z轴的横移变化
图2
比如说,如果不想把方块显示在标识坐标系统的中心,而是让它显示在顶部,可以把下面的代码:
glTranslatef(0.0,0.0,25.0);
代替为:
glTranslatef(0.0,20.0,25.0);
那么就会得到:(如图3)
【零基础学习ARToolkit系列之五】x,y,z轴的横移变化
图3
【零基础学习ARToolkit系列之五】x,y,z轴的横移变化