&
Greg - paris.rb - Juillet 2013
Hello, I’m Greg
@glejeune
R&D @
Le Leap Motion
• Produit de Leap Motion, inc (Ocuspec)
David Holz (NASA) et Michael Buckwald (Apple)
• Dévoilé en 2011 com...
Concurrents
• DUO (http://duo3d.com)
• Projet KickStarter (25/04 : USD 62,5k/110k)
(http://www.kickstarter.com/projects/co...
Développement
• En béta
• SDK C++
• Python, Java, C#,
Unity (via Swig)
• WebSocket
https://developer.leapmotion.com
~10000...
Fonctionnement
• 2 caméras
• 3 LED infrarouge
• Des maths
Principe
• système de coordonnées
cartésiennes fondé sur la
règle de la main droite
• Détection à une distance
comprise en...
Tracking
• Frame
• Data
• Hands
• Pointables
• Fingers
• Tools
• Gestures
Hand
Hand
Palm Position
Hand
Palm Normal
Hand
Direction
Hand
Vitesse (mm/s)
Hand
Sphere Center
Sphere Radius
Finger
Finger
Longueur
Finger
Direction
Finger
Position
Finger
Vitesse (mm/s)
Finger
Hand ID
Tool
Même propriétés que le doigt, mais avec
l’attribut isTool = true
Tool
Même propriétés que le doigt, mais avec
l’attribut isTool = true
Un outil est plus long qu’un doigt.
Gestures
swipe circle key taps screen taps
•Centre
•Rayon
•Normal
•Direction
•Start Position
•Position
•Vitesse
•Direction...
ruby-leap-motion-ws
• Utilisation des WebSockets
• https://github.com/glejeune/ruby-leap-motion-ws
• Dépendances :
• JSON
...
ruby-leap-motion-ws
• Utilisation des WebSockets
• https://github.com/glejeune/ruby-leap-motion-ws
• Dépendances :
• JSON
...
ruby-leap-motion-ws
class MyLeap < LEAP::Motion::WS
def on_frame(frame)
end
def on_connect
end
def on_disconnect
end
def o...
ruby-leap-motion-ws
class MyLeap < LEAP::Motion::WS
def on_frame(frame)
end
def on_connect
end
def on_disconnect
end
def o...
ruby-leap-motion
• Utilise le SDK C++ (SWIG)
• https://github.com/glejeune/ruby-leap-motion
• Aucune dépendance
• WIP !!! ...
ruby-leap-motion
class MyListener < Leap::Motion::Listener
def on_init(controller)
end
def on_exit(controller)
end
def on_...
ruby-leap-motion
listener = MyListener.new
controller = Leap::Motion::Controller.new
controller.add_listener listener
gone...
LeapRuby et JLeap-NG
• https://github.com/tiegz/LeapRuby
• https://github.com/Neurogami/jleap-ng
• JRuby uniquement
• Util...
Demo
Prochain SlideShare
Chargement dans... 5
×

Leap parisrb

365

Published on

French presentation about Leap Motion and Ruby at Paris.rb

Published in: Technologies
0 commentaires
0 mentions J'aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Be the first to like this

Aucun téléchargement
Vues
Total des vues
365
Sur Slideshare
0
À partir des ajouts
0
Nombre d'ajouts
1
Actions
Partages
0
Téléchargements
0
Commentaires
0
J'aime
0
Ajouts 0
No embeds

No notes for slide

Leap parisrb

  1. 1. & Greg - paris.rb - Juillet 2013
  2. 2. Hello, I’m Greg @glejeune R&D @
  3. 3. Le Leap Motion • Produit de Leap Motion, inc (Ocuspec) David Holz (NASA) et Michael Buckwald (Apple) • Dévoilé en 2011 comme un «kinect abordable» • Précommande depuis mai 2012 • Livraison en juillet 2013 • Airspace™ • Asus et HP
  4. 4. Concurrents • DUO (http://duo3d.com) • Projet KickStarter (25/04 : USD 62,5k/110k) (http://www.kickstarter.com/projects/codelabs/duo-the-worlds-first-diy-3d-sensor) • DIY • Avenir incertain • Kinect • Windows • Vision, Mouvement,Vocal, ...
  5. 5. Développement • En béta • SDK C++ • Python, Java, C#, Unity (via Swig) • WebSocket https://developer.leapmotion.com ~10000 développeurs
  6. 6. Fonctionnement • 2 caméras • 3 LED infrarouge • Des maths
  7. 7. Principe • système de coordonnées cartésiennes fondé sur la règle de la main droite • Détection à une distance comprise entre 25 à 600 mm • Latence entre 5 et 33 ms FPS: [200, 30]
  8. 8. Tracking • Frame • Data • Hands • Pointables • Fingers • Tools • Gestures
  9. 9. Hand
  10. 10. Hand Palm Position
  11. 11. Hand Palm Normal
  12. 12. Hand Direction
  13. 13. Hand Vitesse (mm/s)
  14. 14. Hand Sphere Center Sphere Radius
  15. 15. Finger
  16. 16. Finger Longueur
  17. 17. Finger Direction
  18. 18. Finger Position
  19. 19. Finger Vitesse (mm/s)
  20. 20. Finger Hand ID
  21. 21. Tool Même propriétés que le doigt, mais avec l’attribut isTool = true
  22. 22. Tool Même propriétés que le doigt, mais avec l’attribut isTool = true Un outil est plus long qu’un doigt.
  23. 23. Gestures swipe circle key taps screen taps •Centre •Rayon •Normal •Direction •Start Position •Position •Vitesse •Direction •Position •Direction •Position Status (start, update, stop), Hand ID, Pointable ID
  24. 24. ruby-leap-motion-ws • Utilisation des WebSockets • https://github.com/glejeune/ruby-leap-motion-ws • Dépendances : • JSON • websocket-eventmachine-client
  25. 25. ruby-leap-motion-ws • Utilisation des WebSockets • https://github.com/glejeune/ruby-leap-motion-ws • Dépendances : • JSON • websocket-eventmachine-client • websocket
  26. 26. ruby-leap-motion-ws class MyLeap < LEAP::Motion::WS def on_frame(frame) end def on_connect end def on_disconnect end def on_error(message) end end MyLeap.start(true)
  27. 27. ruby-leap-motion-ws class MyLeap < LEAP::Motion::WS def on_frame(frame) end def on_connect end def on_disconnect end def on_error(message) end end MyLeap.start(true) LEAP::Motion::WS::Frame hands # => [LEAP::Motion::WS::Hand] gestures # => [LEAP::Motion::WS::Gesture] pointables # => [LEAP::Motion::WS::Pointable]
  28. 28. ruby-leap-motion • Utilise le SDK C++ (SWIG) • https://github.com/glejeune/ruby-leap-motion • Aucune dépendance • WIP !!! WIP !!! WIP !!!
  29. 29. ruby-leap-motion class MyListener < Leap::Motion::Listener def on_init(controller) end def on_exit(controller) end def on_connect(controller) end def on_disconnect(controller) end def on_frame(controller) end def on_focus_lost(controller) end def on_focus_gained(controller) end end
  30. 30. ruby-leap-motion listener = MyListener.new controller = Leap::Motion::Controller.new controller.add_listener listener gone = gets print gone controller.remove_listener listener
  31. 31. LeapRuby et JLeap-NG • https://github.com/tiegz/LeapRuby • https://github.com/Neurogami/jleap-ng • JRuby uniquement • Utilisent l’API Java (C++ → [SWIG] → Java → JRuby)
  32. 32. Demo

×