前言:

一直想做一个简单的教程关于如何使用flash客户端(exe或swf)的TUIO模拟器。如果你不知道TUIO协议是什么,请先阅读本文TUIO介绍的部分.

需求环境:

1、flash player 9++(一般浏览器都会带的),没有的请下载。

2、Java Runtime 6+,没有的请下载。

说明:

1>、下载附件并解压到你的桌面;

2>、打开Flosc.jar,点击start;

3>、打开Simulator.jar

4>、打开Test.exe;

5>、返回Simulator.jar并且在里面用鼠标画圆,你会在Test.exe里看到相应的效果。可以使用shift+鼠标来模拟多个点触摸(更多信息请参照Simulator里面的帮助文件)。

原理:

基本步骤:

1、TUIO(OSC)数据是从Simulator或者触摸库中的“osc.exe”;

2、FLOSC通道将OSC数据(UDP)转换为XMP(TCP);

3、flash客户端通过XML串口来接收和识别XML数据,并在你的应用程序中渲染鼠标的事件。

注意:

• 主机:localhost -----端口:3000/3333

• TUIO和OSC的数据必须一致

• 需要步骤2的原因是flash不能识别UDP数据,所以我们要转换为TCP

• 直接二值化的方法没有在本教程中涉及,要了解请移步到Binary Socket Connection in flash.

TUIO是什么?

TUIO(Table-Top User Interfaces Objects)是一种简单通用的协议,被设计于特定要求的触摸屏设备人机界面。灵感来自于互连的想法存在于各种表面互动的接口如reacTab或AudioTouch。TUIO协议已经在OpenSound Control上实施,并且可以在支持这种协议任何平台中使用。

简单的说:TUIO是一种格式化OSC数据的标准方法。

了解更多请阅读文章《TUIO Documentation》.

消息语法:

当TUIO应用OSC会使用它的基本语法:

/tuio/[profileName] set sessionID [parameterList]
/tuio/[profileName] alive [list of active sessionIDs]
/tuio/[profileName] fseq int32

参数:

我们在表面互动界面非常重视的对象属性在这部分的参数定义中反映了出来。每一个对象都会分配一个session ID,非常必要的唯一标识未加标签在连续帧的对象,在这种情况下,多个对象标记为相同的classID同时出现在表面。

其中的一些参数(id、position和angle)直接由传感器获取。其他的(速度、加速度)派生从这些主要参数使用定时信息。计算这些参数在低水平侧的触摸用户接口系统允许一个更高效的计算,因为必要的计时信息不需要被转移到客户端。

参数允许使用下面一组信息:

s                               sessionID, temporary ob ject ID, int32 i                               classID, fiducial ID number, int32 x, y, z                         position, float32, range 0...1 a, b, c                         angle, float32, range 0..2PI X, Y ,Z                         movement vector (motion speed & direction), float32 A, B, C                         rotation vector (rotation speed & direction), float32 m                               motion acceleration, float32 r                               rotation acceleration, float32 P                               free parameter, type defined by OSC packet header

配置文件:

我们定义一组配置文件,它适用于大多数桌面可触摸的用户界面。这使得物体跟踪和鼠标在在二维表面,在特殊情况下也在桌面上方三维空间表面。如果其中一个预定义的配置文件不满足系统的要求我们还允许所谓的原始资料,发送原始传感器数据,以及自由形式配置文件,它允许一个用户定义的一组参数传送。

2D的互动表面:

/tuio/2Dobj set s i x y a X Y A m r
/tuio/2Dcur set s x y m r

3D的互动表面:

/tuio/3Dobj set s i x y z a X Y Z A m r
/tuio/3Dcur set s x y z m r

自定义的配置文件:

/tuio/_[formatString]
/tuio/_ixyP set s i x y 0.57

转载于:https://www.cnblogs.com/muiz/p/4272049.html

TUIO协议 (转)相关推荐

  1. 【Unity】雷达 + 照片墙效果

    首先看一下效果 也是一直发现大家在关心这个项目的进程,其实这个项目去年很早就收尾了: 好了不多说了  给大家看看前同事去现场部署的效果吧 还要一个异形屏展示 最终测试需要配合 雷达+ 红外框 核心代码 ...

  2. html5 js 多触点,多触点交互桌面左右手区分方法

    随着普适计算.人机交互.计算机辅助协同设计等技术的不断发展,产生了以传统围桌为隐喻的多触点数字化交互桌面.此类数字设备使人们摆脱了鼠标键盘的束缚,可使用类似于日常操作桌面物体的方式直观.自然地操作数字 ...

  3. CCV入门教程(二)

    梁登的csdn技术博客 1.CCV中涉及到的dll,库的调用关系 库 Addons目录下 ofxKinectCLNUI :包括了采用微软Kinect的设备(如Xbox NUI Audio, NUI C ...

  4. CCV入门教程(一)

    梁登的csdn技术博客 一.简介 CCV是一个建立在openCV基础上的一个开源的架构,其全称是Community Core Vision.它是一个开源的跨平台计算机视觉和机器感知解决方案.它以视频作 ...

  5. 电容屏物体识别_基于电容屏的物体识别技术简介

    原标题:基于电容屏的物体识别技术简介 物体识别技术概述 物体识别是基于触控屏的标签识别交互系统,由触控屏和实物标签Marker,软件底层识别程序和软件上层效果程序,支持多个Marker同时显示,将Ma ...

  6. 电容屏物体识别_电容屏物体触控识别技术的简单介绍

    (文章来源:触宇光电) 物体识别是基于触控屏的标签识别交互系统,由触控屏和实物标签Marker,软件底层识别程序和软件上层效果程序,支持多个Marker同时显示,将Marker嵌入或粘合到待识别物体的 ...

  7. 嵌入式Linux应用程序开发-(10)i.MX6UL基于嵌入式QT实现电容屏多点触控

    i.MX6UL基于嵌入式QT实现电容屏多点触控 基于i.MX6UL平台,使用嵌入式QT实现电容屏的多点触控,前提是开发板的电容触摸屏驱动已经支持多点触控,并且驱动程序能通过事件方式向应用程序上报触控数 ...

  8. 全息裸眼3D主题餐厅沉浸式互动投影无人未来点餐系统

    全息裸眼3D主题餐厅互动投影无人未来餐厅点餐系统 [3D/AR/VR/全息互动投影视觉开发] (1)功能:自身团队开发3D程序,激光雷达感应更精确更灵敏,手势翻页查看菜单,多点触摸点菜,扫码买单付款, ...

  9. TUIO+雷达投影互动技术解决方案

    FG-新视野拥有自主产权的多媒体交互产品:通过雷达能够使任何显影介质或表面实现多点交互功能,如墙面,地面,桌面,非规则类平面物体来实现接触式触摸,甚至可以在非平面或水面上进行非接触互动操作.对比国外同 ...

  10. 常用开源协议介绍以及开源软件规范列表

    1. 开源协议介绍 GPL: General Public License,开源项目最常用的许可证,衍生代码的分发需开源并且也要遵守此协议.该协议也有很多变种,不同变种要求会略微不同. MPL: MP ...

最新文章

  1. asp php java_ASP\JSP\PHP相比各有什么优缺点?
  2. laravel mysql 配置,laravel5数据库配置及其注意事项
  3. 在output 子句和 scope_identity() 混合使用的时候的注意事项
  4. 【操作系统】核心知识归纳总结
  5. python程序—名片管理系统
  6. web项目无法热更新
  7. 中指北针怎么画_木工图纸怎么快速看懂?助你看懂施工图的9个技巧
  8. JavaWeb案例:抽奖小游戏
  9. 成都太升南路骗局揭秘
  10. bootloader 详细介绍
  11. python字符串修改
  12. DNUICTF反思总结
  13. 量子计算到底是个什么鬼?
  14. HDU 1512 Monkey King(左偏树+并查集)
  15. 雪晴数据网 - 在线学习数据科学技术
  16. linux静态ip 配置
  17. 【STM32F429开发板用户手册】第34章 STM32F429的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)
  18. xshell里面使用黑色背景时蓝色字体看不清楚的解决方法
  19. 有没有便宜的易优cms授权(易优cms授权便宜获取)
  20. 【Verilog基础】RTL设计指导原则(面积与速度互换(模块复用)、乒乓操作、流水线操作)

热门文章

  1. 米思齐(Mixly)初体验—触摸式开关
  2. HR-FICO跨系统工资过账的一些知识点分享
  3. JS/html5前端合成语音(播报)
  4. 如何做一个基于微信外卖点餐小程序系统毕业设计毕设作品
  5. linux 用livego+obs推流视频并用yolov5检测
  6. Vue安装教程 (一)
  7. 【MINI2440】linux系统下载全流程
  8. 树莓派的蓝牙通讯(bluez、gattlib)
  9. 机器学习中激活函数的作用
  10. r语言 与python r中python环境的创建