题前的话:来个轻松一点儿的话题。那日在yihua处见其转了篇介绍用(12小时指针式)手表寻找方向的短文(“旅行必备 利用手表巧辨方向”),筆者當時有几条评论。一般地讲,在晴好的天气,把时针(Hour hand)指向太阳的方向,则时针和正午12点(注意:非夏时制时间;否则1点的位置才是原来的12点)的中分线就是南北方向 - 在北半球(Northern Hemisphere),它指向南方。为什么如此,相信不少人很少认真想过。因为地球上的一天大致24小时,所以地球每转(但看着象太阳在移动)一小时的位置(相当360°/24 = 15°,或按弧度radian算是π/12)相当在12小时制的表盘上走两个时针单位。因为12点的位置校准于南方(大家已经知道北半球中午的太阳在正南),所以随着时间的推移(时针的移动),“中分”线指向的就是原先的校准点(即南方)。类似的原理,也体现在日晷(Sundial)上,只是解释日晷稍微复杂一些。下面介绍一种常见的日晷 - Garden Sundial(也称为Horizontal Sundial),感兴趣者甚至可以在家自己或让孩子制作一个玩玩。
(题图:Sundial Bridge at Turtle Bay,courtesy of Turtle Bay Org)
生活中的數學:話說日晷
说起日晷,筆者以前在博文里至少有几个地方提过:曾在一篇博文里提到一种常见的日晷 - Garden Sundial:“注意Sundial上面的文字写作‘Time Began in a Garden’ – 用语双关, 让人联想到‘Now the Lord God planted a garden in the east, in Eden’(Genesis 2:8), 那是Bible中的人类之始”(“Filoli Garden”);在介绍“天球坐标”时也曾提过加拿大白石镇上博物馆前的那个日晷[1],也是一种Horizontal Sundial;另有一处在北京清华大学的校园内,就在大礼堂前那片草坪的南端(位于清华学堂和王国维先生纪念碑之间) - 最初的日晷(从形状上看是一种“赤道式”日晷,即Equatorial Sundial)是庚申级(1920年)校友捐赠的,日晷底座刻有“行胜于言”(以及拉丁文“Facta Non Verba” - 按“老狗”的翻译则是“Deeds, Not Words”),现在的日晷盘则是“文革”后新制作的。另外,在“北加游之二: Redding 的Sundial Bridge以及Lassen Peak”一文里曾提到Sundial Bridge (Partial) at Turtle Bay of Redding,一幅取自Turtle Bay网站的远景图参见题图。
日晷(Sundial),查汉语字典,它会告诉你:按照日影测定时刻的仪器,亦称“日规”;查英文字典,它会告诉你:an instrument showing the time by the shadow of a pointer cast by the sun onto a plate marked with the hours of the day(或干脆按Singapore国立大学的一篇文章“The Mathematics of Sundials”说的,A sundial is a device which uses the position of the Sun to indicate time。)。这种古老的计时仪器,可以追溯到几千年前。在中国古代,曾有人提过以长杆立于地上根据影子来测定时间,但是不是随便立根棍子就能看出精确的时间呢?下面以Garden Sundial为例,介绍一下日晷的基本原理。
这里需要简单回顾一下以前提过的天球坐标知识[2]。
“天球赤道”(Celestial Equator)是地球赤道(Equator)平面向外延伸和天球的相交线。对应地,“天球极点”是地球极轴(Polar Axis)向外延伸和“天球”的交点。在北半球,就是北极沿地球转轴延伸到“天球”的交点,即北极星(Polaris)的位置。现在我们已经知道,地球是个球体(尽管不规则,但从业余观测的角度,影响不大),它的自传轴和它沿太阳公转的轨道(从地球的角度,这是太阳的轨道,称作黄道,即Ecliptic)有个角度,称作地轴倾角(其值ε≈23°27′,也叫“黃赤交角”,即黄道和赤道的夹角,这个角度数也是地球南北回归线,tropic of Cancer和tropic of Capricorn的纬度值)。地球自传,看着太阳早晨从东方升起,逐渐上升,然后在西方落下。地球公转,由于黄赤交角,有季节的变化,太阳在天上的高度,以及它普照大地的角度也不同,所以地上的影子长短也不一样。
那日晷是如何巧妙地利用影子来“精确”地计时呢?
大家知道,地球围绕地轴自传一周(一昼夜)大约24小时(实际数值大约是23时56分4秒),所以每个小时大约转15°(degree)或π/12(radian)。所以,如果能把影子映射到一把刻度尺上,就能知道对应的时间。
在时刻n,地球转过的角度(这里先记作λ)应该是:λ = 15°*n 或 n*π/12。如果日晷所在的纬度(latitude)记作β,日时针(Gnomon,它必须和当地地平面呈一个角度为当地纬度β的夹角)的影子在日晷面(地平式日晷的日晷面和当地地平面平行)上和正午刻度的夹角(称为时角,hour angle)记作α,则有以下关系:tanα = sinβ * tanλ。利用简单的三角学(Trigonometry)知识,按图一就可以自行推导出来。
图一,如何推算 tanα = sinβ * tanλ(此图拷自[3])
几点提示:三角形BCN,DCN,及DBC都是直角三角形。
日时针和当地地平面的夹角就是当地的纬度β,这使得日晷的日时针和地球的极轴(即自传轴)平行(类似Equatorial Mount式天文望远镜RA轴的极轴校准,针尖指向的位置正是北极星[4])。这样,当地球(连同日晷)自传时,影子会按比例投射到一条刻度线(相当于图一里CN的位置)上:一旦纬度β确定,时刻n和时角α的关系就确定了。
然而,即使严格按这个公式做出的日晷也有误差。这主要是由于均时差(Equation of Time)的存在。因为地球绕太阳的轨道是椭圆形的以及地轴倾角的存在,一般每年的二月份中,日晷会慢十五六分钟左右;十月底到十一月初,日晷会快十五六分钟左右(见图二)。所以,不少日晷会把这个均时差图刻在日晷上。
图二,均时差(Equation of Time,此图拷自[3])
此外,经度(Longitude)上的差别也会造成即便同一时区的日晷记录的不同。校正公式是:tanα = sin β * tan15(n + f ),感兴趣者可以看看[3],这里就不详细叙述了。
图三,加拿大白石镇博物馆(White Rock Museum and Archives)前的那个日晷(复制于[1],筆者摄)
下面是Robert L. Kellogg博士[5]介绍的一个地平式日晷的设计图(图四至图七,只用直尺和圆规,外加一只量角器),感兴趣者可以自己动手试试。
图四,先画两条互相垂直的线(交点记为O),从O向下在竖直线上选一点C做一条夹角为当地纬度LAT的直线,再从O引垂线交于P。再以O为圆心,OP为半径画弧线,交竖直线于N;以N为圆心,NO为半径画圆,交前一圆弧于A。
图五,以A为圆心,AN为半径画弧和第一条弧有两个交点 - 过此两点引直线交圆于B,这时60度角ONA被均分成两个30度的角。再依类似的方法均分30度角得15度,由N连直线交横直线HH’如图所示。
图六,由C引直线到上述各点,擦除辅助线,标注号码(O点对应12)如图。
图七,以C为圆心做出的图如下所示。最初画的OCP三角形的斜边OC就是Gnomon的日时针(图中Style),把它竖起放在图正中的位置。
Bingo!
(完)
註釋
1,“天文观测常识之一: 赤道仪和‘天球赤道坐标系’”:它也是根据”纬度”位置, 来固定指针和地球的自转轴平行(圆盘和赤道平面平行), 这样指针经太阳照射的影子, 落在的时刻就是当时的时间.
2,“天文观测常识之一: 赤道仪和‘天球赤道坐标系’(二)”
3,The Sundial and Geometry,2nd Edition,by LAWRENCE E. JONES,NORTH AMERICAN SUNDIAL SOCIETY – 2005
4,可以看出,对于赤道式日晷(图一中以B为圆心的圆盘位置),日时针也是平行地轴的,其日晷盘和日时针垂直,所以日时针在其日晷盘上的影子扫过的角度和地球自传转过的角度完全一样,直接就是λ。但是地平式的日晷不同,日时针在其日晷盘上的影子扫过的角度是α。该图还有一个另一类的日晷,即垂直式日晷,感兴趣者可以自己推导看看。
5,Sundials for Starters, by Robert L. Kellogg,NORTH AMERICAN SUNDIAL SOCIETY, 2007
题后话:有的博友认为日晷问题很复杂,筆者这里转一段Feynman的话。其实,只要认真看下去,有的问题不象想象的那么难:你会发现日晷的原理很简单,简单到只用到初中的数学知识。
During the conference [筆者按,指yearly Rochester Conference] I was staying with my sister in Syracuse. I brought the paper [筆者按,指李杨关于violation of parity的文章]home and said to her, “I can’t understand these things that Lee and Yang are saying. It’s all so complicated.”
“No,” she said. “what you mean is not that you can’t understand it, but that you didn’t invent it. You didn’t figure it out your own way, from hearing the clue. What you should do is imagine you’re a student again, and take this paper upstairs, read every line of it, and check the equations. Then you’ll understand it very easily.”
I took her advice, and checked through the whole thing, and found it to be very obvious and simple. I had been afraid to read it, thinking it was too difficult.
“Surely you’re joking, Mr. Feynman!”, by Richard P. Feynman, W.W.Norton & Company 1985, p.249
一点补充(2012年10月16日):上海博友yihua有一篇“日晷和上海地图网站”提到,“拍摄时间是中午11:20,日期10月16日,从修正值(分)表格最底下一行找到10月,对应查找到17日是-20.3,13日是-19.4,估算下来,16日应该减去20.1,此时,艳阳高照,日晷那根阳光的针的黑影正投射在11:40上,神啦!真的很准哎!” - 筆者评论:不知日晷所在的确切经度,我查了一下交大在徐家汇的位置,大约是东经121.43度,和北京时间(您的手表)对应的东经120度差大约6分钟,加上10月中equation of time的校正大约14分钟,所以有20分钟左右的误差:)
題後話:今天(二零一五年十二月三十日)在新疆王力德先生處看他寫的“北京的日影几点钟为正北?——《北京中轴线偏离之谜》一文有误”,裡面提到對“而太阳经过上中天的时间,是在电台播出“北京时间中午12点”的时号上”說法的質疑。這和行者在上面“一點補充”裡提到的“和北京时间(您的手表)对应的东经120度 ”是一致的。另外,重讀這篇舊文,看到網友yihua不在(她的博客被註銷),感嘆。
《假期分享幾道腦力體操題(“酒吧”)》問題的參考答案:
一,酒吧啤酒問題
排成三列記錄,(B,E,C):啤酒數(B),空瓶數(E)和瓶蓋數(C)。
開始時,用二十元買10瓶啤酒,所以記成(10,0,0)。喝完十瓶,得十個空瓶,十個瓶蓋,所以變成(0,10,10)。
這十個空瓶和十個瓶蓋可以換成7瓶啤酒(8/4+10/2=7),記成(7,2,0),喝完變成(0,9,7)。這時一共喝了10+7瓶。
依次下去,可以得到(1,2,0),喝完就是(0,3,1)。
這時除非可以賒借,不能再換到酒喝,一共喝了10+7+5+4+3+2+1+2+1=35瓶。
記得當年有好事者說,如果能免費賒借到四十個帶蓋的空啤酒瓶,可以一次性換到40/4+40/2=30瓶啤酒,在加上自己的二十元錢可以買到10瓶,一共可以有四十瓶可喝(喝完正好得四十個帶蓋的瓶子還給借給酒瓶的人,呵呵)。問題是,酒吧裡不允許別人賒借,呵呵。
二,木棍計時問題(測量45秒)
假設這根木棍的長度為L,很多朋友使用刀尖找平衡(進而得到兩個L/2長的木棍)或用火柴來平行線等分(進而直接得到2L/3的木棍)的辦法,原則上可以但操作上受限於很多因素(包括棍的長度和觀測誤差)。這裡介紹一個更一般性的方法。
首先,用刀在接近中點的位置把木棍一分為二,這時我們得不到精確的L/2,而是一半短一些的小於L/2,一半長一些的大於L/2。如果把短的長度記做A,則長的那部分可以表達成A+a(其中a是長出的那部分的長度),所以L=2*A+a。
直觀地可以看出,要量出45秒的時間,需要燃燒這麼一段:3*(2*A+a)/4,即3A/2+3a/4,或記成A+A/2+a/2+a/4。
對齊兩個木棍,可以切下長度為a的一段木棍,這樣就得到兩根長度為A的木棍和一段長度為a的木棍。
任選一段長度為A的木棍,以長度為a的木棍為基準切下兩段長度都為a的木棍(所以當初切第一刀的時候要大致知道在什麼地方用刀,呵呵),於是就有了這些準備好的木棍:長度為A的一段,長度為A-2a的一段,和長度為a的三段。
開始計時:點燃長度為A的那段的一端,完全燒完耗時為A秒;接著點燃長度為A-2a的兩端,完全燒完耗時A/2-a秒;接著點燃一個長度為a的木棍,完全燒完耗時a秒,這時總共耗時A+A/2秒。接著同時點燃剩下的一個長度為a的木棍兩端和另一個長度為a的木棍一端,當點兩端的木棍燒完時(這時耗時a/2秒),再點燃最後那隻木棍的剩下一端(這時總長度是a/2),燒完耗時a/4秒。
所以總共耗時:A+A/2+a/2+a/4 ,正是45秒。