TUIO 坐标左右颠倒,怎样用四角轨迹核对坐标变换
用左上、右上、右下、左下和中心五个固定靶点,分别保存TUIO原始归一化坐标、变换后像素坐标及屏幕落点。左右颠倒应修正具体一层的映射,不在跟踪器和引擎同时各翻一次。
先固定哪些条件
本文限定TUIO 1.1的2Dcur坐标链,采用左上为屏幕原点的示例约定。接收库、设备安装方向和画布旋转必须另行记录。归一化范围与像素索引不同,宽W的最右像素是W−1,不是W。
按这个顺序取证
-
在目标屏幕画出五个靶点,并测定实际渲染区域,排除窗口边框、黑边和缩放。先不改变设备标定,用同一触点逐个停留并记录原始set坐标、会话ID、帧号和可见落点。
-
将已知合成坐标输入离线映射:左右镜像可写 x2=1−x,随后 px=round(x2×(W−1))。上下翻转和90度旋转分别列公式,按链路顺序逐层计算,不用互相抵消的两个错误凑出中心正确。
-
保存修正前后配置,在五点间沿矩形边界移动并录固定机位视频。录像中应同时看见靶点、输入动作和光标,记录显示缩放及画布尺寸;中心正确但四角错位时,继续检查有效区域和非线性标定。
合成示例:输入怎样对应结果
合成夹具以1920×1080画布、仅左右镜像为例,输入(0,0)应到(1919,0),输入(1,1)应到(0,1079)。中心的0.5经取整约在(960,540),一个像素差来自取整约定,不能据此声称设备精度。附件脚本逐点计算并核对期望值,不向UDP端口发包。
| 输入靶点 | 原始归一化坐标 | 镜像后期望像素 | 核对目的 |
|---|---|---|---|
| 左上 | (0,0) | (1919,0) | 发现左右翻转 |
| 右下 | (1,1) | (0,1079) | 核对边界 |
| 中心 | (0.5,0.5) | (960,540) | 检查比例与原点 |
下载后怎样使用
下载合成输入CSV、空白记录CSV、可打印测试协议与完整字段JSON,另有本地只读核验脚本。先用合成输入熟悉字段,再复制空表填写自己的环境、测试时间和证据路径;不要把示例行改成真实项目名称后当作测量结果。协议中已经列出准备条件、顺序、通过条件、失败记录和复核人位置,可按本项目约定填写后打印。
将脚本和synthetic.csv放在同一目录,用 python verify.py 执行;脚本只读取合成输入,断言通过表示该示例的计算与预期一致,不代表现场或产品通过。
失败、误判与下一步
只点中心发现不了镜像;只看光标没有保存原始输入,也无法区分跟踪器错还是引擎错。若坐标超出0到1,应先查原始协议与裁切,不静默截断掩盖问题。屏幕旋转、系统DPI和引擎摄像机变换应分别归档,修改任何一处都重跑五点。
坐标通过后,再验证触点移除与重新入场,避免位置正确但手离开仍持续拖拽。
本篇取证范围:已离线计算五点映射;未连接触摸设备、未制作真实落点录像,精度及延迟未测。
InteractiveMask公开页列出TUIO输入,但当前仍为Beta,无公开下载包,摄像头人体检测规划中。坐标夹具不是该产品实际落点录像,接收库与映射配置需在指定工程中复验。
关联入口与一级出处
基础背景见TUIO 协议与互动引擎对接。进一步可用手离开后触点没消失,怎样核对 TUIO 会话结束事件继续取证。项目上下文可从触摸互动专题进入,需对接工程时看InteractiveMask Beta输入范围。
来源核对日期:2026-10-23。规范支持相应机制,表内输入和数值为本文合成演示;厂商声明仍须在指定版本与配置上验证。
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。