潮聲・會流轉日夜與天氣的沙灘
一座即時運算出來的沙灘,可以當螢幕保護程式或一幅會動的畫:浪一道道打上岸,太陽照真實的軌跡落下,火燒雲、藍調時刻、眉月、滿天星斗與銀河輪流出現;天氣與潮汐會自己變,晴、雨、霧、雷雨、雨後彩虹。沙灘後方有一間亮著燈的小木屋、隨風擺動的椰子樹、吊床與營火,夜裡有流星、漁火、藍眼淚,偶爾還有海龜上岸產卵、海豚躍出水面。可以自由走動、躺在吊床上看星空,免安裝,也能安裝成 App 離線觀賞。
一座即時運算出來的沙灘,可以當螢幕保護程式或一幅會動的畫:浪一道道打上岸,太陽照真實的軌跡落下,火燒雲、藍調時刻、眉月、滿天星斗與銀河輪流出現;天氣與潮汐會自己變,晴、雨、霧、雷雨、雨後彩虹。沙灘後方有一間亮著燈的小木屋、隨風擺動的椰子樹、吊床與營火,夜裡有流星、漁火、藍眼淚,偶爾還有海龜上岸產卵、海豚躍出水面。可以自由走動、躺在吊床上看星空,免安裝,也能安裝成 App 離線觀賞。
站在離水邊十幾公尺的乾沙上看海。外海的浪用 FFT 即時算出(兩組不同尺度的頻譜疊在一起,看不出重複),進到淺水後一道道變高、碎成白浪,推上沙灘鋪成一層薄水膜再退回去,退過的沙會濕、會反光,二三十秒後才慢慢乾掉。泡沫是一張會流動的蕾絲網,逆光時浪頭透出綠光,淺水看得到水底的沙。海鷗從頭上滑過、偶爾落在濕沙上走幾步,濱鷸追著水邊啄食,沙蟹從洞裡鑽出來橫著跑。
轉身往後看,沙丘上有一間高腳的茅草小木屋:橫向的木板牆、青綠色的門與百葉窗、窗下的花箱,門廊上兩張躺椅、一盞燈籠、一串燈泡拉到旁邊的椰子樹。太陽一下山,窗戶亮起暖黃的燈光(窗裡看得到房間、會隨著走動產生視差),門前的營火劈啪燃燒、飄出火星。六棵椰子樹隨風擺動,兩棵之間掛著一張條紋吊床;在「視角」裡選「吊床」,就能躺著從椰子葉之間看銀河。
時間照北緯 23.5 度的真實太陽軌跡走,兩分鐘一小時,一天 48 分鐘;也可以切到「現實時間」,跟著電腦的時鐘、當天的季節與真實的月相。天空是大氣散射的物理模型,所以日落、晚霞、藍調時刻的顏色都是算出來的,不是調色盤;曝光會跟著明暗自動調整,就像眼睛慢慢適應黑暗。天黑之後,眉月掛在西邊海上、海面拖出一條月光,月亮的圓缺照太陽的位置算出來。
天氣有晴朗、多雲、火燒雲、陰天、起霧、下雨、雷雨,「自動變化」時每隔幾分鐘換一種,雲量、雲的高度與厚度、霧、浪的大小都在幾十秒內慢慢過渡,雲的形狀會長大、散開,地上和海面有雲影滑過。下雨時沙灘整片變濕、低窪處積成一灘灘像鏡子的水,水面和積水上有雨點的漣漪;雷雨時閃電劈在海上,雷聲照距離晚幾秒才傳到。雨停的那一刻,如果太陽在背後而且夠低,對面會浮現主虹與淡淡的副虹。潮水一天漲退兩次,退潮時露出一大片平坦、會反光的濕沙。
有些事很少發生,看到算是運氣:深夜偶爾有一隻海龜從海裡爬上沙灘,一下一下划著前肢、挖洞產卵,再爬回海裡,身後留下兩排鰭痕,浪一沖就抹平;白天外海有時一小群海豚一路躍出水面,更遠處的鯨魚噴出一柱白霧、翹起尾鰭潛下去;跨年夜、除夕、元宵與國慶的晚上(開「現實時間」時),海上會放煙火,海面映著煙火的光。電腦上的雲是體積雲,一朵朵有厚度、底部暗、邊緣透光。
可以拖曳畫面轉頭、滾輪或雙指縮放、用鍵盤或雙指在沙灘上走動,也能一鍵切到水邊、門廊、吊床、空拍幾個位置;四十秒沒操作,鏡頭會自己慢慢漫遊,夜裡還會抬頭看星空。聲音全部即時合成、跟畫面上的每一道浪同步:碎浪、沖上岸、海鷗、雨、風、雷、椰葉的沙沙聲、營火的劈啪聲,夜裡沙丘上還有蟲鳴;另有五段極柔和的背景音樂(清晨、白天、黃昏、夜晚、雨天),照時間與天氣自動切換,可以設定睡眠計時。還能顯示角落時鐘、拍照存檔、把「這一刻」做成連結分享,安裝成 App 離線觀賞;開著時螢幕不會自動關掉,在手機與筆電上會自動調整畫質。