Geometry · Coq
Circle-Polygon Overlap
The exact overlap area between a circle and any polygon, found by sweeping a signed area along the boundary. Includes a Coq proof of the square-and-circle case.
Art · Maths · Code
I make things where art, maths and programming overlap: interactive simulations, formal proofs, drawings and animation.
Experience
Technical Lead, 3D / VR studio · Nottingham · 2013–2026
I built the real-time 3D and VR layer of industrial digital twins: Unity front ends driven by live process simulation, used to train plant operators for clients including BP, Halliburton, Highview Power and Centrica.
I joined as a mathematics graduate working on 2D operator training simulators, moved into the 3D studio as it was set up and became its technical lead.
I managed the Wind Farm training product and did most of its development. On Equipment Explorer I wrote the core system the product is built on, along with its exploded views, virtual handles and label placement. Across the whole portfolio I maintained and debugged every product, which meant keeping a working knowledge of each codebase.
Under the surface I designed and built core systems the 3D products ran on: their licensing infrastructure, a component-based animation system, automated performance testing and the managers for settings, repairs, input and character movement. I designed the task system, did most of the work on the 3D Jenkins builds, organised SVN so each modular system stayed separate and mentored the team in using it.
The gallery collects features and visuals from those products, each with a note of my part in it, and lists the systems and design work that doesn't fit in a picture.
tscsimulation.com
Selected work
Geometry · Coq
The exact overlap area between a circle and any polygon, found by sweeping a signed area along the boundary. Includes a Coq proof of the square-and-circle case.
Maths · JavaScript
Visualising pairing functions, which map pairs of numbers to single numbers.
Maths · Coq
A series of proofs and investigations, many machine-checked in Coq: Kadane's algorithm, Zeckendorf's theorem, Taylor polynomials and more.
Art · Digital
A creature design taken from head studies through to colour variations.
Art · Digital
Digital painting.
Art · Ink
Ink on paper, from a Drink and Draw session in 2023.
About
I'm Nathan. I like art, maths and programming, and most of what I make is some combination of the three.
That tends to mean small interactive things that make an idea visible: a simulation you can poke at, a geometric construction you can drag around, a proof worked through carefully enough for a computer to check it. Alongside that I draw, on paper and digitally.