peterg17 / multimodal-d3

multimodal interactions using gestures for d3 visualizations

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Multimodal D3.js

Final project for 6.835: Intelligent Multimodal User Interfaces

  • multimodal interactions using gestures & speech for d3 visualizations

Installing Dependencies & Running

  • Install Node&Npm here
  • Install Leapmotion daemon here
  • In one terminal:
        $ sudo leapd
  • In a different terminal:
       $ npm install --save
       $ npm run server

This will run webpack, build your files in the dist/ folder, and start a python simple server. You can access the following visualizations by visiting the corresponding links in your browser:


Force-directed graph visualization: http://localhost:8080/force.html

interact with this by

  • moving nodes with grab gesture
  • if cursor intersects node can change color of node by saying "color red", "color green", "color blue"
  • if cursor intersects node can remove node by saying "delete node"
  • can reset colors of nodes by saying "reset nodes"

Scatter Graph pan+zoom visualization: http://localhost:8080/scatterPan.html

interact with this by

  • panning by making grab gesture and moving fist
  • zooming in by holding hand at a location on screen and saying 'increase zoom'
  • zooming out by holding hand at a location on screen and saying 'zoom out'

Scatter Graph gesture zoom visualization: http://localhost:8080/scatterZoom.html

interact with this by

  • zooming in by pointing at a location on screen and doing the Leap Motion built-in screenTap gesture
    • move finger forward and back as if ringing a doorbell
  • zooming out by saying 'zoom out'

Put-that-there visualization: http://localhost:8080/editor.html

interact with this by

  • pointing to location on screen and say
    • "create" or "put"
    • a color "purple", "red", "blue" are the ones supported
    • "here"
    • e.g. - "put purple circle here"

MouseEvent emulator visualization: http://localhost:8080/click.html

interact with this by

  • pointing at a location on screen and doing the Leap Motion built-in screenTap gesture
    • if recognized this will show by triggering a MouseEvent that clicks on the top left circle and switches its color

Files

File or Folder Name Purpose
package.json lists project settings and dependencies
webpack.config.js has build settings for webpack, input files are in src/ and output files in dist/
README.md documentation
scripts/start-server.sh used in npm run server, builds webpack and starts python simple server
src/click-sim.js javascript file for click.html visualization
src/force.js javascript file for force.html visualization
src/put-that-there.js javascript file for editor.html visualization
src/scatter-pan.js javascript file for scatterPan.html
src/scatter-zoom.js javascript file for scatterZoom.html
src/zoom.css css file used in scatterPan.html and scatterZoom.html
dist/ Webpack built js files, that are used in the properly named .html files

About

multimodal interactions using gestures for d3 visualizations


Languages

Language:JavaScript 99.5%Language:Shell 0.3%Language:CSS 0.2%