Skip to main content
← Projects

Case study

Mappix

Point a webcam at sticky notes on a wall and projected balls bounce off them. It runs in the browser, which sounded much simpler before I learned about camera-projector calibration.

By Updated
Mappix browser projection-mapping demonstration
What was going on
A projector and a webcam see the same wall from completely different angles. Before anything can bounce off a real sticky note, the browser has to work out how those two views line up.
What I did
I built Gray-code structured-light calibration, used a homography to map the camera view to the projector, and connected the result to webcam input and a small physics simulation.
How it turned out
You can stick shapes on a wall and watch projected balls collide with them live. It is part computer vision experiment, part unnecessarily advanced wall toy.

Technical details

  • Projected a Gray-code sequence so the webcam could identify projector coordinates across the physical surface.
  • Calculated a homography that translates the camera perspective into the projector's coordinate space.
  • Fed detected wall geometry into a Matter.js simulation so projected objects react in real time.
Vue.jsJavaScriptComputer VisionMatter.jsWebRTC