李開周
從你身邊隨便找一個(gè)理科生,一棍把他打暈,然后把他送到一個(gè)陌生的地方。當(dāng)他蘇醒以后,你猜會發(fā)生什么故事?
首先他會確定自己是不是還在地球上。
他會爬起來,深呼吸,活動筋骨,東跑西顛,仰望蒼穹,俯察厚土,感覺到氧氣充足,重力正常,天上有太陽,而且只有一個(gè),地上有走獸,而且沒有異形。于是他果斷地做出判斷:自己并沒有進(jìn)入外太空。
然后他會確定自己究竟在南半球還是在北半球。
他找到一些水,緩緩灌進(jìn)一個(gè)小孔,觀察水流的旋轉(zhuǎn)方向——如果旋渦是順時(shí)針的,那就證明在南半球;如果旋渦是逆時(shí)針的,說明在北半球。
假如周邊沒有小溪、沒有河流、沒有湖泊、沒有海洋,找不到水怎么辦?別急,他會很耐心地憋一大泡尿,然后邊尿邊觀察尿的旋渦。理科生就是這樣有辦法。
確定了自己所在的半球以后,理科生還必須知道所在地點(diǎn)的經(jīng)緯度,不然他將永遠(yuǎn)擺脫不了迷路的恐慌。
他爬到樹上,折下一根樹枝,量過樹枝的長度,垂直固定到地面上。太陽出來了,理科生不眠不動,靜心觀測樹枝的影子。當(dāng)影子縮到最短,說明已到正午時(shí)分,他趕緊記下此時(shí)影子的長度。
有了樹枝的長度,也有了影子的長度,理科生會運(yùn)用勾股定理計(jì)算出從樹枝頂端到影子末端的長度,拿這個(gè)長度除以樹枝的長度,就能得到太陽高度角的正弦值。然后理科生會用樹枝在地上寫寫畫畫,做一場異常煩瑣卻非常精確的運(yùn)算,通過正弦值來反推太陽高度角。最后再用90度去減這個(gè)太陽高度角,那個(gè)得數(shù)就是緯度(雖然這樣計(jì)算很不精確)。比方說,太陽高度角是60度,那么緯度就是30度。如果此前他觀測的旋渦是順時(shí)針的,那么他就在南緯30度;反之,則是在北緯30度。
僅僅算出了緯度,理科生并不滿意,他還要算出他所在地點(diǎn)的經(jīng)度。為了簡化計(jì)算,他走進(jìn)最近的鐘表店,買了一塊可以同時(shí)顯示格林尼治時(shí)間和當(dāng)?shù)貢r(shí)間的鐘表,然后他用當(dāng)?shù)貢r(shí)間減去格林尼治時(shí)間,得出時(shí)差。理科生知道地球從西向東自轉(zhuǎn),每小時(shí)經(jīng)過15度,每分鐘經(jīng)過0.25度,每秒鐘經(jīng)過0.004度,所以有了時(shí)差就能算出經(jīng)度。比方說他看到當(dāng)?shù)貢r(shí)間是8點(diǎn),格林尼治時(shí)間是11點(diǎn),時(shí)差為180分鐘,拿180分鐘除以4,就是當(dāng)?shù)氐慕?jīng)度:東經(jīng)45度。
從經(jīng)濟(jì)成本上講,上述方法并不可取,因?yàn)橐粔K可以精確顯示格林尼治時(shí)間的鐘表是很貴的,所以精明的理科生又想到了一個(gè)替代方案:他用每小時(shí)兩元的價(jià)格租了一臺裝有Linux系統(tǒng)的電腦,用相應(yīng)的時(shí)間函數(shù)分別調(diào)出格林尼治時(shí)間和當(dāng)?shù)貢r(shí)間,一樣算出了經(jīng)度值。事實(shí)上理科生是個(gè)編程高手,即使沒有Linux系統(tǒng),他也能用C語言或者別的語言調(diào)出格林尼治時(shí)間,而且費(fèi)時(shí)很短,才兩分鐘就搞定了。鑒于他租電腦時(shí)交了兩塊錢,可用一小時(shí),所以還剩下58分鐘可以用。他不想讓這些時(shí)間白白浪費(fèi)掉,所以又編寫了一個(gè)堪稱完美的小程序,該程序的功能就是自動調(diào)取時(shí)間、自動計(jì)算時(shí)差,進(jìn)而自動計(jì)算經(jīng)度值。
在最后一分鐘,理科生把這個(gè)小程序用自己的賬戶傳到了網(wǎng)上,試圖讓大家有償下載,這時(shí)候他忽然看到了Google Earth,忍不住仰天長嘆:“早知道直接上網(wǎng)查一下就能知道精確方位,我還費(fèi)什么事啊!”
其實(shí)去查Google Earth也是理科生的思維,如果換成文科生,直接找個(gè)人問問路就行啦。
(暖 冰摘自作者的博客,勾 犇圖)