All in metres
Coach length, bogie offset, curve radius, number of tracks, gauge (1.435 m standard) and clearance.
Desktop app · Python · Streamlit
A small Streamlit app that shows what happens when a railway coach goes round a curve. Set the coach length, the distance between its bogies, the curve radius, the gauge, the number of tracks and a safety clearance.
It computes the centre throw (how far the middle of the coach cuts inside the curve) and the end throw (how far its corners swing outside), and draws the coaches from above so you can see whether adjacent tracks keep their clearance.
Coach length, bogie offset, curve radius, number of tracks, gauge (1.435 m standard) and clearance.
From the versine of the bogie chord.
The corner overhang beyond the bogies.
Tracks and coaches with the clearance envelope (matplotlib).
Random and reset buttons try other configurations quickly.
uv installs Python 3.12 and the dependencies (Streamlit, matplotlib, NumPy). Run it from the project folder, so Streamlit reads its settings; it opens at http://localhost:8501.
uv sync
uv run streamlit run src/railway_geometry_visualiser/main.pyIt runs locally: the project's Streamlit settings bind it to localhost (Streamlit's default listens on your whole network and looks up your public IP) and turn off Streamlit's usage statistics. It stores nothing; inputs live in the browser session.
This page stores only your light or dark choice, whether you hid the intro, and your answer to the notice, all on this device.
This page stores only what it needs on this device, and sets no advertising or analytics cookies.
rgv-theme — your light or dark choice (this device only)rgv-desc — whether you hid the intro (this device only)privacy-consent:railway-geometry-visualiser — the choice you make here, with its date (this device only)This is a static page. What it keeps, on this device only, is listed below. Change your choice at any time with “Privacy settings” in the footer.