Slik ble Tjuvholmen i 3D laget
Modellen er bygget i Blender av kartdata, laserdata og egne foto, med AI som verktøy. Dra stolpen for å se strektegningen bak den ferdige modellen.

BlenderNettsidenTil venstre: strektegningen i Blender, med glasstakene på Astrup Fearnley Museet valgt. Til høyre: samme kamera på nettsiden, med lys, skygger og speiling.
Fra kart til tre dimensjoner
Byggenes omriss kommer fra OpenStreetMap, og høydene og terrenget fra Kartverkets laserskanning av Oslo. Kaiene, plassene og strandkanten følger laserdataene, med havet på normalnull.
Flyfoto og bilder tatt på Tjuvholmen er brukt som referanse for fasader, materialer og detaljer. Modellen er omtrentlig: den skal gi et inntrykk av bydelen, ikke være en nøyaktig kopi.
Bygget med skript i Blender
Nesten alt i modellen er laget av rundt 90 Python-skript som kjøres i Blender: fasader og vinduer, verandaer og rekkverk, treskjørtet på kaiene, trær, båter og lys. Skriptene kan kjøres på nytt, så en endring ett sted følger med overalt.
Når noe ikke stemmer med virkeligheten, justeres det for hånd i Blender, som søylene og passasjen ved museet.

Modellen og virkeligheten
Et foto tatt fra broen over kanalen, mot Kongeskipet ved Filipstad, og samme utsnitt i modellen. Dra stolpen for å se forskjellen.

Foto3D-modellFoto: Vidar Vestnes.
I nettleseren
Modellen vises med three.js og WebGL, rett i nettleseren, uten noe å installere. Den har rundt 600 000 trekanter og er komprimert, så den lastes på noen sekunder.
Lyset følger tiden på døgnet, med solnedgang, tente vinduer og lys i Oslo-treet om kvelden. Vannet speiler byggene, og havet kan heves til nivået ved stormflo og i år 2100.
Laget med AI
Tjuvholmen i 3D er laget av Vidar Vestnes sammen med Claude fra Anthropic, via Claude Code. Claude har skrevet skriptene, styrt Blender og sett på resultatet, mens Vidar har bestemt hva som skal lages og sjekket mot virkeligheten.
Teksturene er egne originaler laget med AI. Kunstverk og veggmalerier er aldri kopiert fra foto, men laget i lignende stil.
Fakta
| Programvare | Blender 5.2, three.js og Claude Code |
| Skript | Rundt 90 Python-skript |
| Trekanter | Rundt 600 000 |
| Modellfil | Rundt 14 MB (9 MB ved overføring) |
| Data | OpenStreetMap (© OpenStreetMap-bidragsytere), Kartverket og egne foto |
Kilder: Blender · three.js · Kartverket – høydedata · OpenStreetMap (© OpenStreetMap-bidragsytere, ODbL) · Claude Code