有一種炫耀只屬於騎行者:騎完一趟,打開地圖,發現它拼出了一個字。一個詞。一顆心。一輛大致像樣的自行車。人們做這件事已經很多年了——盯著城市街道圖,一個彎一個彎地手工規劃。用一個晚上做這件事很美好,用三個晚上做就很折磨。

所以我們做了 Route Art 輸入一個詞,它就會找出一條沿著你附近真實街道描出它的騎行路線。你打字的同時它就開始工作了——不用去找什麼按鈕。

它能做什麼

輸入 你好。你還在打字的時候,形狀就以虛線輪廓出現在地圖上——那是目標。你停下來之後片刻,路線就出現在下面,沿著真實的道路和自行車道。

然後它會做一件我們挺得意的事:如果結果普通,它會悄悄在附近找一個更好的位置,如果更好就換過去。你不用開口。

你也可以上傳一幅畫。SVG 效果最好,因為它保留了畫作真實的線條。PNG 或 JPG 也可以——會被自動描出來。

滿意之後,看它畫出來 會一筆一筆地回放路線,讓你看到這個詞像在騎行紀錄裡那樣浮現。然後下載 GPX,出發。

為什麼這件事比看上去難

我們的第一次嘗試把形狀交給了一個普通的路線引擎,就是那種告訴你怎麼去超市的。回來的是一堆讀不出來的方塊。

一旦看明白,原因很簡單。普通路線引擎最佳化的是位移:它想要從 A 到 B 最快、最合理的走法,於是它選主幹道、選轉彎最少的路。在方格路網裡,兩點之間有很多同樣快的走法——而「哪一條看起來像字母 H」不在它關心的範圍內。

所以路線引擎必須換掉。Route Art 跑在我們自己的街道地圖上,代價函數在乎的是形狀:每一條路都按它偏離你要畫的那根線有多遠來定價,範圍限定在這根線周圍一條窄走廊內。沿著你筆畫走的路很便宜,離開它的路很貴。這個思路來自 Waschk 與 Krüger 2019 年關於 GPS 藝術自動路線規劃的論文,他們正是指出了現成路線引擎的這一缺陷。

有一課我們學得很辛苦:光靠自行車道不行。 雪梨市中心的自行車網絡很密集,卻碎成了數百個互不相連的片段——你沒法在碎片上畫出連續的一筆。所以連通性由道路提供,自行車道則成為路線在力所能及時偏向的一種偏好。

評分是誠實的,有時誠實得殘酷

每個結果都會得到一個描繪評分,而讓這個數字和你眼睛看到的一致,比路線演算法本身還費工夫。

我們的第一版只問一個問題:路線離形狀有多近?它給明顯什麼都不像的結果打了 84 分。一條路線可以沿著你的線來回折返,黏在字母的一端而忽略其餘部分,卻仍然在「貼近程度」這一項上得分漂亮。

所以現在評分問三個問題:路線是否留在形狀上,它是否真的走遍了形狀經過的每個地方,以及它比圖形本身長了多少?一條比圖形長兩倍半的路線就是塗鴉,不管它貼得多緊。

數字下面還有一句大白話的判斷——清晰可讀能讀但鬆散,或不像這個形狀。我們寧可告訴你它沒成功,也不願遞給你一個看起來很自信的數字。

真正決定好壞的是什麼

我們認真測了,而不是憑感覺猜,有些結果讓我們意外。

放在哪裡比其他任何因素都重要。 同一個詞挪開幾個街區,分數可能差二十分。所以幫我找個更好的位置才是值得按的按鈕:它會搜尋你周圍的街道,並且始終把你現在的位置也算作候選,因此只可能變好。任何手動調整都比不上它。

尺寸主要是在避免災難,而不是創造驚豔。 每個字母多留點空間確實有幫助,但它真正的作用是擋住糟糕的結果:侷促的形狀有時會明顯失敗,寬裕的則不會。工具會替你決定文字大小,你不用管它。

有兩件我們很確信的事,其實沒用。 我們試過把字母改成方正的直線造型以貼合方格路網——在十六次測試中沒有可測量的差異。我們試過更寬更矮的字母——同樣沒有。街道與街道之間的差異比這兩個效應都大,這是個很好的教訓:別相信單獨一個漂亮結果。

關於距離,請對自己誠實

下面是沒人會提的部分。一個大到能讀出來的詞,是一趟正經的長途。

字母需要空間才能辨認,而空間是用公里計的。城市尺度上五個字母的詞更像是一場活動,而不是一個下午——工具會毫不猶豫地給你五十公里和四小時的預估。它會在你做決定之前把距離和時間擺出來,據我們所知,其他 GPS 藝術工具都沒有這麼做。

其中一部分我們已經追回來了。路線現在會算出筆畫的最佳順序,以及每一筆該往哪個方向騎,在一個測試詞上把字母之間的空跑距離減少了將近 40%——整趟騎行大約省下 15%,且圖形毫無損失。但剩下的就是純粹的幾何:可讀性是要用公里換的。

從短的開始。 是一個完全體面的第一次嘗試。

試試看

Route Art 現已上線——免費、無需註冊、自行車路線,而且在你打字時全部執行在你的瀏覽器裡。

幾點值得知道的:

  • 先輸入短的。 兩三個字母就能讓你看清本地街道的能耐,再決定要不要挑戰一句話。
  • 幫我找個更好的位置 這是現有最大的改進,而且不可能讓結果更差。
  • 先看距離再興奮。然後再看一遍。
  • 下載 GPX,像任何其他路線一樣匯入你的碼表或手機。

如果你做出了漂亮的一個,我們很想看看。記得 @partyonbici——如果你所在城市的街道就是不配合,那不是你的問題,是路網的問題,我們都經歷過。

畫點什麼 →