///Scientific Machine Learning & Differentiable Systems

///Graph Machine Learning & Generative Modeling

///Differentiable Simulation & Physics

P-07

Knitted Models

> The Engineering Problem

Procedurally generating manufacturable woven, knit and chain-mail strand patterns on arbitrary 3D surfaces requires robust traversal of mesh connectivity and smooth, exportable curve geometry.

> The ML & Mathematical Solution

A geometry-processing pipeline that ingests quad meshes, builds a half-edge data structure for O(1) topological traversal, traces continuous strand paths, and fits Catmull-Rom or Hermite splines. The result renders with GPU path tracing or exports to OBJ for downstream tooling.

Methodology Highlights

  • Half-edge data structure for O(1) topological traversal
  • Catmull-Rom and Hermite spline interpolation for smooth strand geometry
  • Weave, knit-loop and chain-mail pattern generation from quad topology
  • GPU path tracing for rendering; OBJ export

Tech Stack

TypeScriptThree.jsViteWebGLComputational Geometry
P-08
Live Demo

Traer Physics Simulations

> The Engineering Problem

Interactive real-time particle and cloth simulation in the browser needs high-throughput compute and an architecture that can optionally offload to a heavier GPU backend without rewriting the renderer.

> The ML & Mathematical Solution

A real-time particle-system engine with structural, shear and bending spring constraints that runs standalone on flat Float32Array buffers, or streams from a PyTorch backend over a binary WebSocket protocol (10 to 20 times faster than JSON) at 60 Hz behind an unchanged renderer.

Methodology Highlights

  • Float32Array buffers for high-performance browser-side compute
  • Structural, shear and bending constraints for cloth simulation
  • Binary WebSocket protocol with an optional PyTorch backend at 60 Hz
  • Decoupled compute / render architecture

Tech Stack

TypeScriptThree.jsPyTorchWebSocketVite
P-09

Ricci Flow on Surfaces of Revolution

> The Engineering Problem

Evolving a geometry under a curvature-driven PDE is numerically stiff and prone to blow-up, and making the process explorable means streaming solver state to a 3D frontend in real time.

> The ML & Mathematical Solution

A finite-difference PDE solver with Fourier filtering and reparametrisation for stability that evolves surface metrics toward constant curvature, computes curvature fields as geometric data, and streams them to a Three.js frontend over WebSocket.

Methodology Highlights

  • Finite-difference PDE solver with Fourier filtering and reparametrisation for stability
  • Curvature-field computation as geometric data
  • Python to Three.js streaming over WebSocket
  • Real-time 3D rendering with curvature-based colouring

Tech Stack

PythonNumPySciPyThree.jsWebSocket

///Scientific Computing & Numerical ML

P-11
Live Demo

Neural ODE: Learning Chaotic Dynamics

> The Engineering Problem

Can a neural network learn the equations of a chaotic dynamical system straight from trajectory data, built entirely from scratch with no ML libraries, so that every part of the autodiff and optimisation loop is visible?

> The ML & Mathematical Solution

A from-scratch neural network (matrix ops, He initialisation, forward/backward pass, Adam) learns the Lorenz vector field against an RK4 ground-truth integrator and trains live in the browser. A companion PyTorch prototype backpropagates through the RK4 solver as a differentiable simulation.

Methodology Highlights

  • From-scratch neural network: matrices, He init, backprop, Adam, no ML libraries
  • RK4 numerical integrator for ground-truth chaotic trajectories
  • Real-time, in-browser training loop
  • PyTorch prototype: gradient-based simulation through the RK4 solver

Tech Stack

PyTorchJavaScriptThree.jsNumPy
P-12
Live Demo

PINN Solver

> The Engineering Problem

Classical PDE solvers need bespoke meshing and a separate implementation per equation, and shipping them for interactive use is heavyweight.

> The ML & Mathematical Solution

Physics-Informed Neural Networks solve 10 PDEs with a custom physics loss (PDE residual plus boundary and initial conditions). The approach is mesh-free and gradient-based. Pre-trained models run inference client-side in JavaScript, and a training CLI handles new equations and hyperparameter sweeps.

Methodology Highlights

  • Custom physics-informed loss: PDE residual + boundary/initial conditions
  • Mesh-free, gradient-based PDE solving across 10 equations
  • Client-side JavaScript inference, no backend required
  • Training CLI for custom equations and hyperparameter sweeps

Tech Stack

PyTorchPINNsJavaScriptFastAPI
P-13
Live Demo

Integration Visualizer

> The Engineering Problem

Computing and explaining integrals across symbolic, numerical and stochastic methods, and verifying vector-calculus theorems, usually means stitching together disconnected tools with no shared 3D view.

> The ML & Mathematical Solution

A unified engine that computes single-through-flux integrals via symbolic (SymPy), numerical (SciPy) and Monte-Carlo (PyTorch) pipelines, verifies the Green, Stokes and Divergence theorems, and renders surfaces, vector fields and integration regions interactively in 3D.

Methodology Highlights

  • Symbolic, numerical and Monte-Carlo computation pipelines
  • Interactive 3D visualisation of surfaces, vector fields and regions
  • Theorem verification: Green, Stokes, Divergence

Tech Stack

ReactThree.jsPyTorchSymPySciPyFastAPI