写在前面:(吐槽)基本上是翻译了TUIO协议标准,为什么没有大神来翻译这个。看的很辛苦。翻译的肯定很多不准确的。好奇能不能不看这个标准,直接使用呢。为什么我总是要学习这些很难的不会的东西呢。

—————————————————————————————————————————————————————————————————————————————

http://www.tuio.org/?specification 这是源网站。

一、先大概了解下TUIO是个什么鬼?

进了官网就是这个图

TUIO ( TUIO(Table-Top User Interfaces Objects))是一个开源的框架,是针对可触摸的多点触摸的屏幕的协议和应用程序接口。为可触多点表面定义了标准协议。TUIO 协议允许在交互表面的抽象描述的传输,包括触摸事件和可触摸物体的状态。这个协议从追踪应用程序(基于计算机视觉的)获取控制数据,然后将数据发送给每一个客户应用程序,能够解释这个协议。
TUIO 是一个为可触多点表面定义了标准协议与应用编程接口的开放架构。
TUIO协议允许交互式表面上的抽象描述的传输,例如传输触摸和接触物体的状态。
这个协议对跟踪应用者的控制数据编码并将它传送到任何可以解码的客户端应用程序。
存在大量的支持TUIO 的追踪应用程序和TUIO针对多种编程环境的客户库以及支持协议的应用程序。TUIO追踪器、协议和客户端实现的组合使得基于可触摸多点触摸界面的Table快速发展。
TUIO主要设计为针对交互表面的抽象,但同时也适用于许多其他相关的应用领域。技术上,TUIO是基于Open Sound Control(OSC)是一个针对交互环境的新兴标准,TUIO不仅仅局限于声音设备的控制,还可以被简单的应用到任何支持OSC的平台上。

二、菜鸟翻译的TUIO 1.1 Protocol Specification (part 1)

(ps.剩下的部分还是之后用到了看了再看吧。大神说学习套路一般是先用上了,看到了效果,再去研究原理。)

TUIO 1.1 Protocol Specification协议规范
Introduction
引言
自从TUIO协议规范在公开领域发布后,除了它最初的应用reacTIVision:A computer-Vision Framework for Table-Based Tangilble Interaction,它被应用到许多其他与可触多点交互的相关的项目上,例如NUI group community和许多其他可触摸的学术或商业环境的交互平台。
这份文件描述了原始TUIO规范的一个增量的和向后兼容的更新,为untagged 可触摸物体的几何描述定义了一个第三个额外的blob profile。
这次的更新还引入一个额外的资源消息,允许对TUIO资源的识别,作为在客户端方不同的TUIO资源的多路技术的结果。此次更新,完整地保留了原始TUIO1.0规范的消息格式。之后的TUIO2.0规范中会给出一个升级路径,会有更多的改变。
General Observations
总论
这个协议的定义是尝试提供一个介于可触摸桌面式控制器接口和底层应用程序层的一般的通用的通信接口。它被设计为满足桌面式交互多点触摸平面的需要,用户能够在桌面式设备表面使用指尖来操作一系列的物品,绘制手势。这些物品被传感器系统追踪,能够被识别,并能确定其在桌面式表面的位置和方向,例如手指触摸,不需要具有一个独一无二的ID,也不需要提供与物体文件相对的旋转信息。第三个blob profile描述了untagged 可触摸物体的大致扩展,或者具有有方向的包围盒的触摸区域,由一个近似椭圆的包含它的角度和区域的来代表。
Open Soun Control
TUIO协议的编写时基于OSC格式的,OSC针对任意控制器数据的传输提供了有效的二进制编码方法。因此,TUIO消息基本上可以通过所有支持真实OSC实现的通道进行传输。TUIO协议的默认的传输方法是,将在UDP数据包中的二进制OSC包数据封装,传送给默认的TUIO端口号3333。这个默认传输方法通常称为TUIO/UDO,并且大多数的实现都是基于这个方法,这是因为它的简单性和在本地或广域网传递的速度。因为OSC不是直接绑定到一个专门的传输方法,其他的传输通道,如TCP也可以被应用到传输基于OSC编写的TUIO数据上。现在已经有许多可选的传输方法,例如TUIO/TCP,以及TUIO/FLC(flash本地连接通过共享内存)与AdobeFLASH应用程序交互。
Implementation Details
实现细节
TUIO协议定义了主要两类的消息:SET消息和ALIVE消息
SET消息是用来传递物体状态信息的,例如位置、方向、和其他状态。
ALIVE消息是指代物体在屏幕表面的当前设置,使用一系列Session ID
为了避免可能的错误从而导致丢包,没有明确的ADD或REMOVE消息包含在TUIO协议中。接收者通过检测连续ALIVE消息中的不同来推断出物体的生命周期。
除了SET消息和ALIVE消息,FSEQ消息被定义来对每一步更新打上唯一的标志,使用一个唯一的帧序列ID。
一个额外的SOURCE消息识别了TUIO资源,为了满足客户端的资源多路复用。
总结:
1、物体的属性是在每一次状态更新后使用SET消息传递的。
2、客户端从SET和ALIVE消息推断物体的添加和删除
3、当物体被移动,更新的ALIVE消息被发送
4、FSEQ消息将一个唯一的帧ID与和一对SET和ALIVE消息相关联起来。
5、额外的SOURCE消息识别出源文件和地址

TUIO学习笔记1-TUIO 1.1 Protocol Specification协议规范/标准相关推荐

  1. Boost库学习笔记(二)算法模块-C++11标准

    Boost库学习笔记(二)算法模块-C++11标准 一.综述 Boost.Algorithm是一系列人通用推荐算法的集合,虽然有用的通用算法很多,但是为了保证质量和体积,并不会将太多通用算法通过审查测 ...

  2. 学习笔记(46):Python实战编程-protocol

    立即学习:https://edu.csdn.net/course/play/19711/343108?utm_source=blogtoedu 1.protocol协议:主要用于窗体关闭监听,通过这个 ...

  3. 【沃顿商学院学习笔记】商业基础——Financing:12 决策标准 Decision Criteria

    商业基础--决策标准 本章主要是从财务数据的标准来做决策. 盈亏平衡分析 BREAK EVEN ANALYSIS 1.盈亏平衡分析的目的是为了找到将项目的NPV归零的参数值,同时还能保持固定所有其他参 ...

  4. [学习笔记]STM32F1 SYSTICK 滴答定时器(寄存器、标准库、HAL库)

    目录 0. 博主理解: 1. 实验内容及步骤: 2. 硬件说明 3. 寄存器说明 3.1 SysTick的时钟和使能: 3.2 SysTick重装载数值寄存器: 3.3 SysTick的中断优先级: ...

  5. 【沃顿商学院学习笔记】商业基础——Financing:11 决策标准 Decision Criteria

    商业基础--预测自由现金流量 本章主要是从财务数据的标准来做决策. 决策标准 Decision Criteria 1.比较净现值 Compute the NPV NPV规则是表示接受所有具有正NPV的 ...

  6. [学习笔记]STM32F1软件SPI读写W25Qx(寄存器、标准库、HAL库)

    目录 9. 软件SPI读写W25Qx 0. 博主调侃: 1. 实验内容及步骤: 2. 硬件说明 3. 步骤详细讲解 3.1 配置GPIO 3.2 软件SPI读写Byte(模式0或模式3) 3.3 读取 ...

  7. [学习笔记]STM32F1硬件SPI读写W25Qx(寄存器、标准库、HAL库)

    目录 10. 硬件SPI读写W25Qx 0. 博主调侃: 1. 实验内容及步骤: 2. 硬件说明 3. 步骤详细讲解 3.1 RCC 3.2 配置GPIO 3.3 硬件SPI配置 3.4 发送和接收过 ...

  8. DHCP服务_学习笔记

    DHCP服务_学习笔记 DHCP(Dynamic Host Configuration Protocol):动态主机配置协议 Lease:租约    续租时间需要是租期时间的一半 UDP协议: Ser ...

  9. 三级网络技术 学习笔记

    三级网络技术 学习笔记 BGP(Border Gateway Protocol) TCP(Transmission Control Protocol) UDP(User Datagram Protoc ...

  10. HCIA学习笔记day1

    HCIA学习笔记day1 衡量网络优劣的几个标准: 带宽:在一段时间内,从一个点到另一个点的最大传输量 传输的数据量单位是比特 延迟:数据从一个点到达另一个点所经历的时间 200Mbps 单位是比特 ...

最新文章

  1. css z-index 的使用
  2. java 1.8 rpm_jdk1.8下载 Java Development Kit 8(jdk1.8) 8u131 linux 1586 rpm 官方正式版 下载-脚本之家...
  3. 在线预览word,excel文档
  4. 多元样条函数及其应用_B样条算法(B-spline)
  5. 计算机二级ps教程 百度云,全国计算机等级考试一级Photoshop模拟题及解析第六套(完整版).pdf...
  6. 闩锁电流_IGBT——闩锁(Lanchup)效应
  7. Servlet HTTP 状态码
  8. linux模拟dnf,每天学一个 Linux 命令:dnf
  9. linux命令ps -aux|grep xxx详解
  10. python如何爬有道翻译_基于python爬取有道翻译过程图解
  11. php页面背景url不显示图片,background-image:url(XXXX.gif)为何不显示背景图片_html/css_WEB-ITnose...
  12. CS信息系统建设和服务认证都有哪些等级?系统集成企业如何评估申报CS认证等级?
  13. html div浏览器居中显示,IE浏览器DIV居中实现方法
  14. 渗透测试工程师(NISP-PT)与网络安全运维工程师(NSP-SO)
  15. Oracle 报错:ORA-01438: 值大于为此列指定的允许精度
  16. 第二阶段--团队冲刺--第七天
  17. 模板引擎:ftl文件生成word
  18. 习题4-5 换硬币 (20分)
  19. 谷歌程序员吐槽清北毕业生,年薪50w,买不起房。晒出工资后,网友们沸腾了
  20. mysql教程虫师_python使用mysql数据库 - 虫师

热门文章

  1. 【机器学习】机器学习项目全流程(附带项目实例)
  2. HTML5前端开发实战01-学生信息表
  3. 基于51单片机的智能温控风扇proteus仿真原理图程序设计
  4. 三、基础的Serializer序列化器
  5. Spark入门(一)概述
  6. Python 2与Python 3对H5牌九棋牌搭建的区别
  7. HCIE Secuirty URPF技术 备考笔记(幕布)
  8. 计算机温度在20度最佳湿度环境,空调房温度20℃湿度一般是多少
  9. vrep中视觉传感器(Vision sensor)
  10. R语言与Python对比