◀ VibeCruiser

paper physics

A free computer vision demo — play it in your browser, no install. Draw a physics scene on paper, take a photo, and watch it move. Sketch recognition with OpenCV.js + rigid-body physics with Matter.js, all in the browser.

by @Lamia-Mim · Lamia-Mim/paper-physics on GitHubLANG JavaScriptHOSTED ON LAMIA-MIM.GITHUB.IOUPDATED 18 Oct 2026

Vote and save it — continue with GitHub or sign in free

Made this, @Lamia-Mim? See how many people played it → or use email

▶ Play full screen ▲ Vote with GitHub ▲ Vote with email

GitHub asks to share your profile and email with us. We never post anything.

Open the live demo Source on GitHub

From the README

Draw a physics scene on paper, take a photo, and watch it move.

Circles become balls, boxes and triangles become solid blocks, lines and curves become fixed ground, and an arrow touching a shape gives it a push. Everything runs in the browser. There is no server, and the photo never leaves your device.

js/detect.js is a pure function of an image, so the same code runs in the browser and in the Node tests. In the browser it runs in a Web Worker (js/vision-worker.js), so neither compiling the 10 MB OpenCV build nor reading a photo freezes the page.

The pen width isn't hard-coded.

Read the full README on GitHub →

Built something like this? Submit your vibe — free account, takes a minute. How listing works.

More like this

Made this?

Claim it: create a free account, then press CLAIM THIS in the cruiser. Put the badge below in your README or on your demo page first; that link is how we know it's yours.

Your project is on the cruise, loaded live from your own site. Put the badge in your README or on the demo page: it shows your live play count, it links back to this page, and everyone who lands here is one click from running the real thing.

On VibeCruiser

How listing, the badge and claiming work →