Explore in 3D

How Tjuvholmen in 3D was made

The model was built in Blender from map data, laser data and our own photos, with AI as a tool. Drag the slider to see the wireframe behind the finished model.

Astrup Fearnley Museum and Tjuvtitten as they look on the website, with light, shadows and reflections in the water.The same view as a wireframe in Blender, with the glass roofs of the museum highlighted in orange.BlenderWebsite

Left: the wireframe in Blender, with the glass roofs of the Astrup Fearnley Museum selected. Right: the same camera on the website, with light, shadows and reflections.

View in 3D

From map to three dimensions

The outlines of the buildings come from OpenStreetMap, and the heights and terrain from the Norwegian Mapping Authority’s laser scan of Oslo. The quays, squares and shoreline follow the laser data, with the sea at mean sea level.

Aerial photos and pictures taken at Tjuvholmen were used as references for façades, materials and details. The model is approximate: it aims to give an impression of the district, not to be an exact copy.

Built with scripts in Blender

Almost everything in the model is made by around 90 Python scripts that run in Blender: façades and windows, balconies and railings, the timber cladding on the quays, trees, boats and lights. The scripts can be run again, so a change in one place carries through everywhere.

Where something does not match reality, it is adjusted by hand in Blender, like the columns and the passage by the museum.

The Blender window with the 3D model as a wireframe and the museum roofs highlighted in orange.
The model open in Blender 5.2, with the object list and properties on the right.

The model and reality

A photo taken from the bridge over the canal, towards the Royal Yacht at Filipstad, and the same view in the model. Drag the slider to see the difference.

The same view in the 3D model.Photo of the Royal Yacht at Filipstad, taken from the bridge over the canal.Photo3D model

Photo: Vidar Vestnes.

In the browser

The model is shown with three.js and WebGL, right in your browser, with nothing to install. It has around 600,000 triangles and is compressed, so it loads in a few seconds.

The light follows the time of day, with sunset, lit windows and the lights of the Oslo Tree in the evening. The water reflects the buildings, and the sea can be raised to storm surge level and to the year 2100.

Made with AI

Tjuvholmen in 3D was made by Vidar Vestnes together with Claude from Anthropic, using Claude Code. Claude wrote the scripts, controlled Blender and looked at the results, while Vidar decided what to make and checked it against reality.

The textures are originals made with AI. Artworks and murals are never copied from photos, but made in a similar style.

Facts

SoftwareBlender 5.2, three.js and Claude Code
ScriptsAround 90 Python scripts
TrianglesAround 600,000
Model fileAround 14 MB (9 MB when transferred)
DataOpenStreetMap (© OpenStreetMap contributors), the Norwegian Mapping Authority and our own photos

Sources: Blender · three.js · Norwegian Mapping Authority – elevation data · OpenStreetMap (© OpenStreetMap contributors, ODbL) · Claude Code