Population P(t) of the chosen scenario (blue) against the video scenario (grey dashed). The vertical line is the current year.
Built-up area counted from the 3D blocks (green) and the Clark radius R(t) of the model (orange, km).
Density profile D(r) = D0 e^(-b r) in people per hectare at the current year; the filled part is inside the built radius.
Peak-hour volume/capacity v/c (red) and the speed factor 1 / BPR (blue) over the 100 years.
CO2 per person per year (orange, t) and rooftop-solar share of electricity demand (yellow, %). Illustrative parameters.
Housing capacity / inhabitants (green) and jobs / workers (purple). 1.0 = balanced; the floor-area-per-person constants are calibrated so the video scenario balances at year 100.
What you are looking at
A fictional river-valley city in 100 years of growth. The 3D scene is the same world as the video “A City Grows in 100 Years”: terrain, river, farmland, roads, buildings and construction cranes follow that video's growth schedule. The numbers are a small, transparent urban model driven by the year; the buildings are not generated from the equations but re-timed by them.
Population: logistic growth
dP/dt = r P (1 − P/K)
P(t) = K / (1 + ((K − P0)/P0) e−r t)
K = 90,000 is the carrying capacity of the valley plan, P0 = 323 the farm-village population at year 0 and r = 0.0725 per year the intrinsic growth rate (all illustrative). The page checks the closed form against an RK4 integration.
Footprint: Clark's law of urban density
D(r) = D0 e−b r
P(R) = ∫0R D(r) 2πr dr = (2π D0 / b²) [1 − e−bR(1 + bR)]
D0 is fixed by requiring P(Rmax) = K. The built radius R(t) solves P(R) = P(t) (bisection). A block of the 3D city is built when R(t) reaches it, so a smaller b (flatter density) means the same people occupy a larger area. The 3D layout is the video's; scenarios shift when each block appears by matching built radii on the video clock. Real cities follow Clark's law only roughly; this is a one-parameter caricature.
Traffic: gravity model and BPR congestion
Tij = Oi Jj dij−2 / Σk Jk dik−2 (∝ Pi Jj / d²)
t = t0 (1 + 0.15 (v/c)4)
20 zones (5 rings x 4 sectors); trips per person 3.4 per day, 12 % in the peak hour, 1.25 persons per car, detour factor 1.3. Jobs are more concentrated than people (steeper exponential). v/c = vehicle-km / (lane-km x 700 veh/h) x 3 (loaded arterials carry about three times the mean load per lane-km); lane-km comes from the road pieces that exist in the 3D city at that year. The speed factor 1/(1+0.15 (v/c)4) slows the animated cars, and the number of cars follows the peak-hour vehicle trips. BPR is an empirical link-performance function (Bureau of Public Roads, 1964); the 0.15 and 4 are the standard textbook values.
Energy and CO2 (illustrative)
Edemand = P e0 (1 − 0.06 g), e0 = 3.2 MWh/person/yr
Esolar = Aroof · 0.6 · 0.144 MWh/m²/yr (1000 kWh/m² × 18 % × PR 0.8)
CO2 = e0(1 − ssolar) · Igrid + v·365·0.17(1 − EV) + 1.5(1 − ...)
Aroof is counted from the solar panels that exist in the 3D city; g is the green-roof cover. Rooftop solar alone covers only a few percent of a dense city's electricity, which is a real effect, not a bug. Grid carbon intensity starts at 0.35 kg/kWh and falls with the decarbonisation slider; the heating/other term is a flat 1.5 t. All constants are typical-order-of-magnitude values, not data about any real city.
Housing and jobs
Floor area is counted from the 3D buildings (footprint x floors). Residential and job shares per building type are assumed (house 100 % / 0, apartment block 100 % / 5 %, low-rise 40 % / 60 %, mid-rise 30 % / 70 %, tower 15 % / 85 %, industry 0 / 100 %). Floor area per person and per job are calibrated so that the video scenario is balanced at year 100; other scenarios then show where they would be short of homes or jobs.
Honest simplifications
- The city's shape is the video's: the equations decide when blocks appear, not where.
- Compact and sprawl scenarios change density gradient and timing, not building heights. Sprawl adds low-density suburbs outside the video city.
- Traffic is a static peak-hour estimate, not a micro-simulation; the animated cars are a visual that follows the computed volume and speed.
- Climate, economy, migration, politics and terrain suitability are absent. Not a forecast of any real place.
Fictional, speculative visualisation — not a forecast. 3D models, textures, terrain and tree sprites were built and baked in Blender 5.2 (Cycles); the interactive scene runs on Three.js r160 and WebGL. Growth schedule taken from the video “A City Grows in 100 Years”.