VR环境中的概念
没问题!先把概念说清楚,再对照你的三模态数据怎么用就行。
6DoF 是什么?
6DoF = Six Degrees of Freedom(六自由度)
指3个平移自由度 + 3个旋转自由度:
- 平移(位置):x、y、z(米)
- 旋转(姿态):通常用欧拉角(roll/pitch/yaw)或四元数(qx,qy,qz,qw) 表示
VR 里的头盔(HMD)和手柄/控制器一般都提供6DoF位姿:既知道“在空间哪里”(x,y,z),也知道“朝向哪儿”(旋转)。
眼动不是6DoF,它更多是凝视方向(一个单位向量),或者在屏幕上的二维坐标(2D gaze)、再加上会聚信息推到3D注视点。
跟你数据的对应关系
你给的行里已经是典型的6DoF字段:
- 头戴位置:
(-1.7544801, 0.33819318, 1.3514876)
→ 3个平移DoF - 头戴旋转(四元数):
(-0.31333604, 0.5584293, 0.24357286, 0.728457)
→ 3个旋转DoF(四元数是4维表示,但本质是3个旋转自由度) - 右手手柄同理:一组位置 + 一组旋转 = 6DoF
- 眼动部分:是AOI+时间段(注视开始/结束/时长),可转换成注视方向/注视对象序列,用于注意与任务对齐分析
论文里怎么写(落到特征)
把“6DoF”当成头盔/手柄的位姿流,从中构造以下可解释特征(你方案C会用到):
平移相关(位置)
- 速度:(| \Delta \mathbf{p} | / \Delta t)
- 路径长度 / 空间覆盖率 / 停滞比(速度低于阈值的时间占比)
- 曲折度(tortuosity):路径弧长 ÷ 端点直线距离
旋转相关(姿态)
- 角速度:(\omega = \Delta\theta / \Delta t),其中 (\Delta\theta = 2\arccos(|\langle q_{t}, q_{t+\Delta t}\rangle|))(四元数内积求相对转角)
- 角加速度、jerk(平滑度指标,位姿变化的三阶导)
头—眼耦合(把头的“前向向量”和眼动“凝视向量”做角度)
- 头—眼对齐角:(\alpha = \arccos(\hat{h}\cdot \hat{g}))((\hat{h}) 从头盔四元数转成朝向向量,(\hat{g}) 为凝视方向)
- 对齐时间占比 / 相位滞后
与眼动/任务的结合
- AOI 转移熵/路径熵、TTFF(到关键AOI的首达时间)
- 用 Soft-DTW/DTW 将“AOI序列”与“任务模板”软对齐,再把上面的6DoF特征按任务段汇总
快速判断你数据是不是6DoF
- 有位置 + 有旋转(哪怕旋转是四元数):就是6DoF
- 只有旋转(无x,y,z):就是3DoF(早期移动VR/低成本设备常见)
你的样例里,头盔和手柄都给了位置+旋转,所以它们都是6DoF流;眼动单独作为第三模态(注意/凝视)。
如果你愿意,我可以把这些定义写成论文“术语与记号”小节(含上面的公式和变量表),或者直接给一段把四元数转角、角速度、tortuosity等特征计算代码。