0
 
Background <ul><li>Apple Introduced iPhone on January 9, 2007 </li></ul>
Background <ul><li>No third-party applications </li><ul><li>SDK released on March 6, 2008 </li><ul><li>Only on iPhone/iPod...
Background <ul><li>Johnny Lee from Carnegie Mellon University </li><ul><li>“ Low-Cost Multi-touch Whiteboard using the Wii...
December 7, 2007 </li></ul></ul>
Background <ul><li>Windows </li><ul><li>DirectX and C# </li></ul><li>Any sized display
Widely available consumer devices </li><ul><li>Wii Remote
Video projector </li></ul></ul>
Objective <ul><li>Mac OS X, Linux, Windows </li><ul><li>OpenGL and Java </li></ul></ul>
Demo
Multi-TouchJ
Multi-TouchJ <ul><li>Hardware </li></ul>
Multi-TouchJ <ul><li>Infrared pen </li></ul>
Multi-TouchJ <ul><li>Software </li><ul><li>Multi-TouchJ </li><ul><li>Multi-touch framework written in Java
Lightweight Java Game Library (LWJGL) </li><ul><li>OpenGL for Java </li></ul><li>motej </li><ul><li>Communicate with Wii R...
Multi-TouchJ <ul><li>Hardware and software relationship </li></ul>
Software Architecture <ul><li>ObjectObserver </li><ul><li>Source of inputs </li></ul><li>UserInterface </li><ul><li>Anythi...
ObjectObserver <ul><li>Abstract class
Generates events </li><ul><li>When object is observed
Object can be anything
ObjectObserverEvent </li><ul><li>ID, x, y, time, size properties </li></ul></ul></ul>
ObjectObserver
ObjectObserver <ul><li>ObjectObserverMoteJ </li><ul><li>Implementation using motej
Object is infrared light from pen
Connects to Wii Remote, receives infrared light information, generates events </li></ul></ul>
UserInterface <ul><li>ObjectEventManager </li><ul><li>Listens to ObjectObserver and generates touch/float events </li></ul...
UserInterface
UserInterface <ul><li>Control </li></ul>
UserInterface <ul><li>Gesture </li></ul>
Upcoming SlideShare
Loading in...5
×

SCDN 1

559

Published on

Published in: Technology, Art & Photos
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
559
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "SCDN 1"

  1. 2. Background <ul><li>Apple Introduced iPhone on January 9, 2007 </li></ul>
  2. 3. Background <ul><li>No third-party applications </li><ul><li>SDK released on March 6, 2008 </li><ul><li>Only on iPhone/iPod touch </li></ul></ul><li>Small display </li></ul>
  3. 4. Background <ul><li>Johnny Lee from Carnegie Mellon University </li><ul><li>“ Low-Cost Multi-touch Whiteboard using the Wiimote”
  4. 5. December 7, 2007 </li></ul></ul>
  5. 6. Background <ul><li>Windows </li><ul><li>DirectX and C# </li></ul><li>Any sized display
  6. 7. Widely available consumer devices </li><ul><li>Wii Remote
  7. 8. Video projector </li></ul></ul>
  8. 9. Objective <ul><li>Mac OS X, Linux, Windows </li><ul><li>OpenGL and Java </li></ul></ul>
  9. 10. Demo
  10. 11. Multi-TouchJ
  11. 12. Multi-TouchJ <ul><li>Hardware </li></ul>
  12. 13. Multi-TouchJ <ul><li>Infrared pen </li></ul>
  13. 14. Multi-TouchJ <ul><li>Software </li><ul><li>Multi-TouchJ </li><ul><li>Multi-touch framework written in Java
  14. 15. Lightweight Java Game Library (LWJGL) </li><ul><li>OpenGL for Java </li></ul><li>motej </li><ul><li>Communicate with Wii Remote </li></ul><li>BlueCove </li><ul><li>Bluetooth for Java </li></ul></ul></ul></ul>
  15. 16. Multi-TouchJ <ul><li>Hardware and software relationship </li></ul>
  16. 17. Software Architecture <ul><li>ObjectObserver </li><ul><li>Source of inputs </li></ul><li>UserInterface </li><ul><li>Anything visual </li></ul></ul>
  17. 18. ObjectObserver <ul><li>Abstract class
  18. 19. Generates events </li><ul><li>When object is observed
  19. 20. Object can be anything
  20. 21. ObjectObserverEvent </li><ul><li>ID, x, y, time, size properties </li></ul></ul></ul>
  21. 22. ObjectObserver
  22. 23. ObjectObserver <ul><li>ObjectObserverMoteJ </li><ul><li>Implementation using motej
  23. 24. Object is infrared light from pen
  24. 25. Connects to Wii Remote, receives infrared light information, generates events </li></ul></ul>
  25. 26. UserInterface <ul><li>ObjectEventManager </li><ul><li>Listens to ObjectObserver and generates touch/float events </li></ul><li>WindowCalibrator </li><ul><li>Maps camera coordinates to projector coordinates </li></ul><li>Control </li><ul><li>Root class of all visual object </li></ul><li>WindowManager </li><ul><li>Renders and dispatches events to control </li></ul></ul>
  26. 27. UserInterface
  27. 28. UserInterface <ul><li>Control </li></ul>
  28. 29. UserInterface <ul><li>Gesture </li></ul>
  29. 30. UserInterface
  30. 31. UserInterface <ul><li>Rotate gesture </li></ul>
  31. 32. Using Multi-TouchJ
  32. 33. Using Multi-TouchJ
  33. 34. Using Multi-TouchJ
  34. 35. Using Multi-TouchJ
  35. 36. Conclusion <ul><li>Whiteboard successfully ported to Mac OS X, Linux, and Windows
  36. 37. It was fun! </li></ul>
  37. 38. Get Involved! <ul><li>Open Sourced under Apache License, Version 2.0
  38. 39. Hosted on GitHub </li><ul><li>http://github.com/atsuya/multitouchj/tree/master </li></ul></ul>
  39. 40. Thank you!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×