Back to projects

Robotics and vision / Final project

Image-to-Collision Physics Demo

A local-first web demo that turns two uploaded images into meshes, estimates object properties, and renders a Blender collision video.

Interactive Demo

Pipeline: 2D to 3D Collision

Labubu clean input

Object A (Labubu)

Unicorn clean input

Object B (Unicorn)

{
  "objectA": {
    "material": "Vinyl/Plastic",
    "mass_g": 500,
    "friction": 0.8,
    "bounciness": 0.1
  },
  "objectB": {
    "material": "Rubber/Foam",
    "mass_g": 600,
    "friction": 0.75,
    "bounciness": 0.15
  }
}

TripoSR Mesh A

TripoSR Mesh B

Problem

The project connects a browser UI to a long-running local pipeline for property estimation, mesh generation, and rendering.

Approach

We built a Flask backend with job progress, a React/Vite frontend, Gemini property estimation, TripoSR mesh generation, and headless Blender rendering.

Result

The browser flow covers upload, analysis, property edits, generation, progress tracking, and video playback/download.