TORONTO, CA/
← All work

Vector Table

Project
Self-initiated
Role
Simulation / Development
Platform
Three.js / JavaScript
Year
2026
Vector Table — A game of angles

(Overview)

A playable pool table and a hands-on physics laboratory. Take a shot, slow time down and follow the maths behind the motion.

Vector Table uses Three.js to render the scene and a custom rigid-sphere engine to simulate the balls. It is more than a table to aim at: you can inspect individual balls, change the model settings and read the impulse calculations behind a collision. The demo below is bundled with this portfolio and runs directly in your browser.

Vector Table — The overhead view
(01) The overhead view
Vector Table — The observation deck
(02) The observation deck

(The idea)

The goal was to make the relationship between a shot and its underlying physics visible. A clean table view is paired with an inspector, playback controls and adjustable parameters, so the same interaction can be played casually or explored as an experiment.

Inside the project

(03)
01

A solver under the felt

The simulation advances in fixed 1/480-second steps. Ball and cushion contacts exchange normal and tangential impulses; cloth friction turns sliding into rolling, and spin evolves through angular velocity and quaternion orientation.

02

Play with a keyboard or pointer

Aim with the arrows, lock direction with Enter and hold Space to pull back before releasing a shot. Pointer aiming, cue power and a contact-point pad offer another route, with camera switching, undo and re-racking close at hand.

03

Inspect the moving world

Pause, single-step or slow playback without changing the physics step. The observation deck exposes position, velocity, spin, energy and momentum, while the collision notebook retains the impulse arithmetic from each shot.

(Playable demo)

Take the shot.

Aim with ← / →, lock with Enter, then hold Space and release to shoot. Click inside the game first to use its keyboard controls.

Open full-size ↗

Runs in your browser / All game files included / No account required

(The build)

Vector Table is an educational approximation, not a tournament rules engine. The interesting part is the connection between the playable shot and the model: change the friction or restitution, repeat an experiment and watch the result.

Tools & focus

  • Three.js
  • Rigid-body physics
  • Linear algebra
  • Quaternions
  • Keyboard controls
  • Live telemetry
Next project →This Site