·2 min read

Huvishka Tetradrachm - From Photograph to 3D

Reconstructing a Kushan Empire coin in 3D from two photographs. The obverse shows King Huvishka, the reverse depicts a Zoroastrian fire altar.

This is a gold tetradrachm from the Kushan Empire, struck during the reign of King Huvishka (approximately 150-180 CE). The Kushan Empire stretched across what is now Afghanistan, Pakistan, and northern India, a crossroads where Hellenistic, Persian, and Indian traditions converged on a single coin.

The Original

The coin arrived as two photographs, obverse and reverse, taken under museum lighting. The patina tells its own story: nearly two thousand years of burial, handling, and the slow chemistry of bronze meeting earth.

Obverse showing King Huvishka
Obverse
Reverse showing shrine or fire altar
Reverse
Gold tetradrachm of Huvishka, approximately 150-180 CE. Left: obverse showing the king. Right: reverse showing a shrine or fire altar.

3D Reconstruction

The reconstruction pipeline extracts depth information from each photograph using Depth Anything V2, builds separate relief meshes for the obverse and reverse, then joins them with a cylindrical edge to create a complete coin.

3D render, front view
Front
3D render, back view
Back
3D render, angled view
Three-quarter
3D reconstruction from depth estimation: front, reverse, and three-quarter views.

The depth estimation preserves the relief details. You can see the figure's posture, the architectural elements of the shrine, even the irregular edge where the planchet was cut before striking.

Interactive Model

Drag to rotate. Scroll to zoom. The viewer below renders the actual reconstructed mesh in your browser — no plugin required.

Process

The pipeline is entirely local. Depth Anything V2 handles monocular depth estimation from each photograph. The depth maps are converted to displacement meshes using scipy, joined with a cylindrical edge via trimesh, and rendered with matplotlib.

No cloud APIs, no photogrammetry rigs. Two photographs and some geometry.

Loading model…