Multi-TouchJ:A Wii Remote and Video Projector User Interface
Atsuya [email protected]
Background
Apple Introduced iPhone on January 9, 2007
Background
No third-party applicationsSDK released on March 6, 2008Only on iPhone/iPod touch
Small display
Background
Johnny Lee from Carnegie Mellon UniversityLow-Cost Multi-touch Whiteboard using the Wiimote
December 7, 2007
Background
WindowsDirectX and C#
Any sized display
Widely available consumer devicesWii Remote
Video projector
Objective
Mac OS X, Linux, WindowsOpenGL and Java
Demo
Multi-TouchJ
Multi-TouchJ
Hardware
Multi-TouchJ
Infrared pen
Multi-TouchJ
SoftwareMulti-TouchJMulti-touch framework written in Java
Lightweight Java Game Library (LWJGL)OpenGL for Java
motejCommunicate with Wii Remote
BlueCoveBluetooth for Java
Multi-TouchJ
Hardware and software relationship
Software Architecture
ObjectObserverSource of inputs
UserInterfaceAnything visual
ObjectObserver
Abstract class
Generates eventsWhen object is observed
Object can be anything
ObjectObserverEventID, x, y, time, size properties
ObjectObserver
ObjectObserver
ObjectObserverMoteJImplementation using motej
Object is infrared light from pen
Connects to Wii Remote, receives infrared light information, generates events
UserInterface
ObjectEventManagerListens to ObjectObserver and generates touch/float events
WindowCalibratorMaps camera coordinates to projector coordinates
ControlRoot class of all visual object
WindowManagerRenders and dispatches events to control
UserInterface
UserInterface
Control
UserInterface
Gesture
UserInterface
UserInterface
Rotate gesture
Using Multi-TouchJ
Using Multi-TouchJ
Using Multi-TouchJ
Using Multi-TouchJ
Conclusion
Whiteboard successfully ported to Mac OS X, Linux, and Windows
It was fun!
Get Involved!
Open Sourced under Apache License, Version 2.0
Hosted on GitHubhttp://github.com/atsuya/multitouchj/tree/master
Thank you!
Top Related