所有的应用程序都必须确定一个恰当的haptic空间到graphics(图像)空间的映射。定义在工作空间到
graphics
场景的映射将描述物理设备的移动怎么转化为
haptic场景中的移动。
Haptic工作空间
Haptic的工作空间是一个能被haptic设备达到的物理空间。
Haptic工作空间的纬度可以通过hlGetDoublev()+
HL_WORKSPACE获得。
HLdouble workspaceDims[6];
hlGetDoublev(HL_WORKSPACE, workspaceDims);
绝大部分应用将选择使用完整的工作空间。而部分使用工作空间子集的应用使用hlWorkspace()设定一个工作空间。例:
工作空间X:160mm,Y 150mm,Z 60mm
hlWorkspace(-80, -80, -70, 80, 80, 20);
矩阵堆栈
HLAPI定义了两个矩阵堆栈去定义从haptic工作空间到
graphics
场景的映射,这些矩阵堆栈是HL_VIEWTOUCH_MATRIX 和
HL_TOUCHWORKSPACE_MATRIX。这些都是4*4的矩阵。从haptic工作空间到graphic场景的映射定义为:
World Coordinates:世界坐标系
View
Coordinates:照相机的局部坐标系(视觉坐标系)
Touch
Coordinates:工作空间当前的坐标系统,触觉坐标代表着基本的映射(疑问)从工作空间到视觉坐标系中,不涉及进一步工作空间的进一步转化。
Workspace
Coordinates:Haptic空间的局部坐标系