# 我用 AI 畫了一幅台北版的清明上河圖
> 作者：Edward Hsu｜原文：https://edwardhsu.ai/articles/02-taipei-3d/｜最後驗證：2026-11-11｜授權：CC BY 4.0（https://creativecommons.org/licenses/by/4.0/deed.zh-hant）
>
> 我在台北住了四十多年，這次用 AI 和公開資料，做了一幅可以拖拉、拉近、白天變晚上的台北版清明上河圖。這篇寫我怎麼做、它哪裡還不夠好，以及為什麼我想把它開源。
## 重點

- 這是一幅可以逛的 3D 台北：每棟房子、每條路都來自公開的地圖資料，畫成古畫的樣子。
- 它是活的：YouBike、公車、捷運人潮、垃圾車，都接了台灣的公開資料。
- 我不會寫程式。我負責想要什麼、看哪裡不對；AI 負責畫和寫程式。
- 它還有很多不足，所以完成到一個階段後，我會放到 GitHub 開源，讓更多人一起補。

我很喜歡《午夜巴黎》這部電影。古今交錯，一直是很浪漫的事。

身為在台北土生土長四十多年的人，我一直想看看，如果用古畫的方式畫台北，會是什麼樣子。這幾天，我真的把它做出來了。

![台北版清明上河圖介紹影片](images/film.mp4)

先放連結，有興趣可以直接去逛：（數字待補）。建議用電腦打開，手機也可以，只是畫面比較小。

## 十幾萬棟房子，要畫到下輩子

清明上河圖畫的是北宋的汴京，一條河、一座橋、幾百個人。台北大得多：這幅畫裡有 108,575 棟房子、6,070 公里的路。

要是在過去，一棟一棟畫，大概要畫到下輩子。還好，我在人生的半路上遇到了 AI。

房子的位置和形狀，來自 OpenStreetMap（全世界志工一起畫的開放地圖）。有些地區的房子比較少，我再補上東亞建物資料。AI 把這些資料轉成 3D，再用程式畫成淡彩加水墨輪廓的樣子。

![艋舺龍山寺的夜晚](images/longshan.jpg)

![迪化街和霞海城隍廟](images/dihua.jpg)

## 它是活的

我最喜歡的地方，是這幅畫會動。

- **YouBike**：每個站現在剩幾台車，大約每兩分鐘更新一次。
- **公車**：車子沿著路線跑，車頭有路線號碼。
- **捷運人潮**：依照每個時段的進出站人數，站外的人會變多變少。
- **垃圾車**：照環保局的班表，傍晚到晚上出現在固定的點，居民會提著垃圾出來。
- **時間**：拉一下時間軸，天色會從白天變成晚上，窗戶一格一格亮起來。

:::grid 我把幾段會動的日常放在這裡，每段六秒、無聲循環，慢慢看。
![同個鏡頭從下午到夜晚，窗戶逐格亮起。](images/loop-daynight.mp4)
![鏡頭跟著公車跑，車頭標著路線號碼。](images/loop-bus.mp4)
![101 底下，古人戴著斗笠，跟汽機車同框。](images/loop-ancient.mp4)
![古人騎著黃色 YouBike 經過。](images/loop-youbike.mp4)
![垃圾車按班表停靠，居民提垃圾出來。](images/loop-garbage.mp4)
![大巨蛋演唱會之夜，舞台燈光掃過夜空。](images/loop-dome.mp4)
:::

如果真的有古人穿越過來，聽到垃圾車在唱歌，大概會以為哪裡在辦喜事吧。（目前地圖上的垃圾車還沒有音樂，這是我的私心願望。）

## 你熟悉的台北都在

迪化街、龍山寺、故宮、中正紀念堂、101 都在裡面。大巨蛋可以點一下，切換演唱會和棒球。

我也放了 12 座台灣過去真實存在過的古建築，像台北府的城牆和城門、古厝、書院、戎克船，還寫了 31 個小故事，藏在地圖的角落。另外，我也把文化部文化資產局公布的台北 100 座古蹟都標上地圖，其中 95 座有畫出建築造型。就像一個開放世界，等著大家去冒險。


:::grid 我把十二個台北地標排在一起，都是程式依地圖資料畫出的 3D 模型。
![臺北 101](images/g-101.jpg)
![總統府](images/g-pres.jpg)
![中正紀念堂](images/g-cks.jpg)
![故宮](images/g-npm.jpg)
![圓山大飯店](images/g-grand.jpg)
![艋舺龍山寺（夜晚）](images/g-longshan.jpg)
![迪化街](images/g-dihua.jpg)
![大巨蛋（演唱會之夜）](images/g-dome.jpg)
![臺北府城北門](images/g-north.jpg)
![大龍峒保安宮](images/g-baoan.jpg)
![國立臺灣博物館](images/g-museum.jpg)
![臺北市孔廟](images/g-confucius.jpg)
:::

## 我負責想，AI 負責做

我不會寫程式。這幾天我做的事，比較像在帶一個團隊：

1. **說清楚想要什麼**：我要的是清明上河圖的感覺，不是一般的 3D 地圖。
2. **看哪裡不對，直接講**：第一版出來，跟清明上河圖差很多，我請它重做；後來又請它把顏色調多一點、水墨感強一點。原本用 AI 生圖上色的方法，因為沒辦法自由拖拉，我也決定不用了。
3. **一次交給好幾個 AI 分工**：有的負責整理全台北的資料，有的負責行人和車子怎麼動，有的負責搜尋和路名，最後再整合起來。

從開始到現在一共 5 天，我同時開了 8 個 AI 對話分工。（數字待補）

![把數字攤開來（動態圖表，可以按「再播一次」）](images/numbers.html)

真正花時間的，不是等 AI 寫程式，而是決定「這樣好不好看、像不像我心裡的台北」。這件事，AI 沒辦法替我決定。

## 老實說，還有很多不足

這個作品很大，我一個人做，還有很多不足。

- **資料有缺**：大直、內湖一帶的房子明顯少很多。這是公開地圖本身缺的，不是畫錯。
- **細節很花 token**：要畫得越細，AI 要做的事越多，成本也越高。
- **電腦會跑不動**：一次畫太多房子，瀏覽器會變慢。我們試了好幾種方法，最後讓拉遠的時候改用預先畫好的鳥瞰圖。

![大直一帶房子明顯稀疏（截圖待補）](images/gap-dazhi.jpg)

這也是我想做的事：把不足的地方攤開來，讓更多人一起補。也希望不論是市政府還是民間團體，都能讓公開資料更完整。

## 台北是大家的

等它完成到一個階段，我會把整個專案放到 GitHub 開源，包括程式、資料處理的方法，以及我怎麼跟 AI 溝通。

我在下面「拿去用」放了這次用到的台灣公開資料清單。如果你也想用這些資料做點什麼，可以從這裡開始。

台北是大家的。希望有更多人，在這幅畫上一起創作。
