吳俊斌 吳 晟 吳興蛟
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院 昆明 650500)
?
基于日晷原理的太陽(yáng)影子定位實(shí)現(xiàn)*
吳俊斌吳晟吳興蛟
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院昆明650500)
摘要論文基于古代日晷的原理,實(shí)現(xiàn)太陽(yáng)影子定位。根據(jù)天文學(xué)理論,計(jì)算太陽(yáng)高度角、方位角以及陰影形成原理,計(jì)算日出至日落之間各時(shí)刻晷針在晷面上的影子長(zhǎng)度和方位角,進(jìn)而得到太陽(yáng)影子與經(jīng)緯度的函數(shù)關(guān)系,在反推求解的過(guò)程中,通過(guò)最小二乘法得到當(dāng)?shù)卣鐣r(shí)刻的影子長(zhǎng)度和北京時(shí)間,再根據(jù)得到的經(jīng)緯度與影子的函數(shù)關(guān)系,進(jìn)行求解。文章使用Java程序進(jìn)行仿真模擬,得出經(jīng)度以及緯度之后進(jìn)行驗(yàn)證。得知該實(shí)現(xiàn)具有可行性。
關(guān)鍵詞影子定位; 日晷投影原理; 最小二乘法; Java仿真
Sun Shadow Position Based on the Sundial
WU JunbinWU ShengWU Xingjiao
(School of Information Engineering and Automation, Kunming University of Science and Technology, Kunming650500)
AbstractBased on the principle of the ancient sundial, throuth the shadow of the sun to achieve positioning, according to the theory of astronomy, the sun’s data is calculated, such as elevation angle, azimuth angle and shadow forming principle. And the data of the sundial shadow is calculated at each moment between sunrise and sunset, such as length and azimuth. Then the relationship of the functions between shadow of the sun and latitude-longitude is gotten. Then, in the process of using backstepping method to solving the problem, the least squares method is used to obtain shadow-length in noon local time and Beijing time, and finally the problem is solved by the functions between shadow of the sun and latitude-longitude. In this article, the emulation and simulation are carried out through JAVA program to verify the results and proves the truth of these method.
Key Wordsshadow positioning, sundial projection principle, least square method, Java simulation
Class NumberG624.6
1引言
古代沒有精確的時(shí)間測(cè)量?jī)x器,一直通過(guò)沙漏和日晷來(lái)測(cè)量時(shí)間[1],通過(guò)太陽(yáng)照射地面直桿的影子長(zhǎng)度和角度來(lái)確定時(shí)間。如今雖然有了鐘表或者電子時(shí)鐘,但依然能夠在很多地方能看到反映人文景觀的日晷,這是古人文明的展現(xiàn)。在現(xiàn)代,雖然不再通過(guò)日晷查看時(shí)間,但對(duì)于日晷投影的研究并沒有終止。我們可以很方便地從日晷上看出時(shí)間,但日晷影子長(zhǎng)度的變化是根據(jù)地球經(jīng)度緯度來(lái)決定的,所以也可以通過(guò)日晷影子[2]長(zhǎng)度的變化來(lái)求出當(dāng)?shù)氐慕?jīng)度緯度,這對(duì)于野外求生也可以起到一定的幫助。
2日晷原理
2.1日晷成像原理
日晷是由晷針、晷面和晷面上的刻度組成的。太陽(yáng)照射晷針,形成晷影[3~4]。晷影的長(zhǎng)度和角度會(huì)投射到相應(yīng)的日期刻度和時(shí)間刻度上,通過(guò)刻度可讀出時(shí)間。由于每天任何時(shí)刻的晷影各不相同,就可以有效反映出當(dāng)?shù)氐奶?yáng)時(shí)。
晷影的形成原理如圖1所示。其中X軸正方向指向正東方向,Y軸正方向指向正北方向,Z軸正方向豎直向上。Z軸上有一晷針H,v為太陽(yáng)光線,照射在晷針H上形成晷影L,此時(shí)影長(zhǎng)L與晷針H形成高度角α,影長(zhǎng)L與X軸形成方位角β。由于每個(gè)時(shí)刻形成的高度角α和方位角β不相同,所以通過(guò)一定的方法就可以求出時(shí)間?;诖?也可通過(guò)時(shí)間來(lái)計(jì)算影子的長(zhǎng)度。
圖1 日晷原理圖
2.2影長(zhǎng)求解
根據(jù)日晷成像原理,若要求解影長(zhǎng)的具體的變化情況,首先必須明確太陽(yáng)與地球的運(yùn)動(dòng)情況。不僅要考慮地球公轉(zhuǎn)的速度變化,而且還要考慮地球自轉(zhuǎn)的變化情況。通過(guò)地球公轉(zhuǎn)速度的變化,可以求得太陽(yáng)直射地球的緯度,而通過(guò)地球自轉(zhuǎn)的變化,可以得到太陽(yáng)直射地球的經(jīng)度。
由于地球公轉(zhuǎn)軌跡并不是標(biāo)準(zhǔn)的正圓,且公轉(zhuǎn)速度也不相同,因此不能簡(jiǎn)單地使用公歷日期,而需要進(jìn)行誤差修正。計(jì)算出確切的公轉(zhuǎn)天數(shù)t,從而計(jì)算出日角θ。同理,由于地球自轉(zhuǎn)的速度也不均勻,其自轉(zhuǎn)一周的時(shí)間并不是準(zhǔn)確的24小時(shí),因此要進(jìn)行誤差修正,得到真太陽(yáng)時(shí)TΘ,從而得到太陽(yáng)時(shí)角τ。經(jīng)過(guò)誤差修正的日期和時(shí)間可以精確求得影子長(zhǎng)度L,其具體的求解過(guò)程如下:
1) 日角θ
日角θ的計(jì)算公式[5]為
(1)
其中t為地球轉(zhuǎn)到當(dāng)前位置的天文時(shí)間,N為積日,即當(dāng)日的日期距離當(dāng)年1月1日的天數(shù),N0用于積日校正,以得到實(shí)際的天文時(shí)間,yr為年份,INT函數(shù)用于取整。
2) 時(shí)差η
時(shí)差Et的計(jì)算公式為
η=0.0028-1.9857sinθ+9.9059sin2θ
-7.0924cosθ-0.6882cos2θ
(2)
3) 赤緯角δ
赤緯角δ的計(jì)算公式為
δ=0.3723+23.2567sinθ+0.1149sin2θ
-0.1712sin3θ-0.758cosθ+0.3656cos2θ
(3)
4) 太陽(yáng)時(shí)角τ
太陽(yáng)時(shí)角τ的計(jì)算公式為
τ=(TΘ-12)×15°
(4)
式中TΘ表示真太陽(yáng)時(shí)。為從北京時(shí)間得到真太陽(yáng)時(shí),需要通過(guò)以下公式求得:
將北京時(shí)T轉(zhuǎn)換成地方時(shí)Td的公式如下:
(5)
式中λ表示經(jīng)度,T表示北京時(shí)間,轉(zhuǎn)換為地方時(shí)后,需要進(jìn)行誤差修正,得到真太陽(yáng)時(shí),如下:
(6)
其中,TΘ為真太陽(yáng)時(shí),Td為地方時(shí),η為時(shí)差。
5) 太陽(yáng)高度角α
太陽(yáng)高度角α的計(jì)算公式[6~7]為
sinα=sinδsinφ+cosδcosφcosτ
(7)
式中,δ為太陽(yáng)赤緯角,φ為當(dāng)?shù)氐牡乩砭暥?τ為當(dāng)時(shí)的太陽(yáng)時(shí)角。
6) 太陽(yáng)方位角β
太陽(yáng)方位角β的計(jì)算方式為
(8)
式中,α為太陽(yáng)高度角,δ為太陽(yáng)赤緯角,φ為當(dāng)?shù)氐牡乩砭暥取?/p>
由上式可求出兩個(gè)β值。第一個(gè)表示午后的太陽(yáng)方位,取值范圍為:當(dāng)cosβ≤0時(shí),90°≤β≤180°;當(dāng)cosβ≥0時(shí),0°≤β≤90°。第二個(gè)β值為午前的太陽(yáng)方位角,取值為360°-β。
7) 影子長(zhǎng)度L
影子長(zhǎng)度L的計(jì)算公式為
(9)
聯(lián)立式(1)~式(9)就可以得到影子長(zhǎng)度L。
3通過(guò)影長(zhǎng)求當(dāng)?shù)亟?jīng)緯度
在有電子時(shí)鐘的時(shí)代,可以不再通過(guò)日晷來(lái)查看時(shí)間了,但可以通過(guò)日晷的原理來(lái)反推觀測(cè)地點(diǎn)的經(jīng)緯度,這對(duì)于現(xiàn)代科技的研究更加有價(jià)值,甚至可以用在野外求生上。
假設(shè)觀測(cè)地點(diǎn)的地面是水平的,通過(guò)測(cè)量可以求得物體的高度為H,影長(zhǎng)為L(zhǎng),由于一組數(shù)據(jù)會(huì)存在較大的誤差,因此需要根據(jù)每個(gè)時(shí)間點(diǎn),測(cè)算影子的長(zhǎng)度,并做出統(tǒng)計(jì)。
采用一元線性回歸模型,利用最小二乘估計(jì)法計(jì)算觀測(cè)點(diǎn)的經(jīng)緯度[8~9]:
(10)
(11)
其中,L為影長(zhǎng),xt和yt為t時(shí)刻影子頂點(diǎn)的坐標(biāo),λ為當(dāng)?shù)氐牡乩斫?jīng)度,φ為當(dāng)?shù)氐牡乩砭暥取?/p>
根據(jù)式(10)和式(11)可以得出影子定點(diǎn)坐標(biāo)(xi,yi)與經(jīng)度λ的函數(shù)關(guān)系,時(shí)間t與緯度φ的函數(shù)關(guān)系[10]。
具體形式如式(12)所示,主要運(yùn)用日晷原理中的式(7)和式(8),即太陽(yáng)高度角α和方位角β的公式,并利用式(1)~式(6)公式進(jìn)行反推即可得到式(12)的具體形式:
(12)
其中T0是當(dāng)?shù)卣鐣r(shí)刻的北京時(shí)間,L0是當(dāng)?shù)卣鐣r(shí)刻的影子長(zhǎng)度,d是當(dāng)天日期與春分日的日期差。通過(guò)得到的一系列測(cè)量數(shù)據(jù),可以找到最短影長(zhǎng),以及最短影長(zhǎng)的時(shí)刻。但由于測(cè)量有誤差,因此可以對(duì)測(cè)量的數(shù)據(jù)進(jìn)行擬合,并通過(guò)最小二乘法來(lái)求解得到較為精確的最短影長(zhǎng)和時(shí)刻。最后通過(guò)式(12)求解得當(dāng)?shù)氐慕?jīng)緯度。
4實(shí)例驗(yàn)證
4.1程序展示
編寫程序,驗(yàn)證以上理論,其偽代碼編寫如下:
/*程序中today為測(cè)量日期,time是當(dāng)?shù)卣?/p>
*午時(shí)刻的北京時(shí)間,height為木桿的高度,
*length為正午時(shí)刻木桿的影長(zhǎng)*
/SolveLaitLong(today,time,height,length)
{
longitude=120-(time-12)*15;
// longitude為經(jīng)度
equinox=(2015,3,21)
//equinox為當(dāng)年的春分時(shí)間
dvalue=today-equinox;
//dvalue為測(cè)量日期距離春分的天數(shù)
latitude=(atan(length/height)
+asin(sin(23.5*pi/180)
*sin(2*pi*dvalue/365.2422)))
*180/pi;
return (longitude,latitude);
}
4.2實(shí)際檢驗(yàn)
1) 提出問(wèn)題
假設(shè)觀測(cè)地點(diǎn)為海南省,木桿高度H=2m,在2015年4月18日,測(cè)量得到正午時(shí)刻的北京時(shí)間為12:45:00,影子長(zhǎng)度L=0.35m。
2) 求解問(wèn)題
(λ,φ)=(108°49′,20°34′)
3) 結(jié)果檢驗(yàn)
根據(jù)求得的結(jié)果,與實(shí)際的測(cè)量地點(diǎn)經(jīng)緯度(λ,φ)=(110°21′,20°02′)進(jìn)行對(duì)比,可以發(fā)現(xiàn),結(jié)果還是相對(duì)比較準(zhǔn)確的。
5結(jié)語(yǔ)
該模型是基于日晷原理的太陽(yáng)影子定位,雖然在當(dāng)今定位系統(tǒng)覆蓋全球的時(shí)代里,模型求解起來(lái)有些繁瑣,但是對(duì)于了解日晷原理,了解地球和太陽(yáng)間的運(yùn)動(dòng)還是起到很大的作用的,通過(guò)該模型,可以不需要借助任何高科技來(lái)得到自己所處的地方,對(duì)于天文觀測(cè)定位星球也起到有效的借鑒作用,可以通過(guò)得到恒星和行星的遠(yuǎn)近找到宜居星球。但是本模型中由于包含著各種影響因素,為了簡(jiǎn)化模型,將其中比較次要的因素省去了,比如:雖然考慮到了地球繞太陽(yáng)公轉(zhuǎn)的速度并非勻速,但是由于其精確的速度并不是很精確,導(dǎo)致誤差隨著計(jì)算越變?cè)酱?。為達(dá)到更加精確的結(jié)果,應(yīng)該優(yōu)化模型,使得減少其中的變量,進(jìn)而提高精度。
參 考 文 獻(xiàn)
[1] 王德昌.日晷—時(shí)間的雕塑和測(cè)量[J].科學(xué),2005,57(4):55-58.
WANG Dechang. Sundial — time sculpture and time measuring tool[J]. Science,2005,57(4):55-58.
[2] 吳振華.常用日晷晷面線圖設(shè)計(jì)[J].上海交通大學(xué)學(xué)報(bào),1996,30(1):123-127.
WU Zhenhua. Figure Design of General Sundial Sundial Surface[J]. Journal of Sunghal Jiaotong University,1996,30(1):123-127.
[3] 唐玉麗,陳琪,陳崇成,等.通用日晷三維仿真系統(tǒng)的開發(fā)與應(yīng)用[J].計(jì)算機(jī)仿真,2014,31(11):273-277.
TANG Yuli, CHEN Qi, CHEN Chongcheng, et al. Development and Application of 3D Simulation System for General Sundial[J]. Computer Simulation,2014,31(11):273-277.
[4] 劉群.日晷投影原理及其應(yīng)用[J].貴州師范大學(xué)學(xué)報(bào),2003,21(3):109-113.
LIU Qun. The theory of gnomonic projection and its application[J]. Journal of Guizhou Normal University,2003,21(3):109-113.
[5] 王炳忠.太陽(yáng)能中天文參數(shù)的計(jì)算[J].太陽(yáng)能,1999,2(5):8-10.
WANG Bingzhong. Calculation of the solar energy of astronomical parameters[J]. Solar Energy,1999,2(5):8-10.
[6] 鄭鵬飛,林大鈞,劉小羊,等.基于影子軌跡反求采光效果的技術(shù)研究[J].華東理工大學(xué)學(xué)報(bào),2010,36(3):458-463.
ZHENG Pengfei, LIN Dajun, LIU Xiaoyang, et al. Reversing Effect of Building Lighting Technology Based on Shadow Track Line[J]. Journal of East China University of Science and Technology,2010,36(3):458-463.
[7] 林根石.利用太陽(yáng)視坐標(biāo)的計(jì)算進(jìn)行物高測(cè)量與定位[J].南京林業(yè)大學(xué)學(xué)報(bào),1991,15(3):89-93.
LIN Genshi. The use of the calculation of the solar apparent coordinate to reform the height of an object survey and positions[J]. Journal of Nanjing Forestry University,1991,15(3):89-93.
[8] 肖智勇,劉宇翔.一種新的緯度測(cè)量方法[J].大學(xué)物理,2010,29(9):51-54.
XIAO Zhiyong, LIU Yuxiang. A new measurement of latitude[J]. College Physics,2010,29(9):51-54.
[9] 張闖,呂東輝,頊超靜.太陽(yáng)實(shí)時(shí)位置計(jì)算及在圖像光照方向中的應(yīng)用[J].電子測(cè)量技術(shù),2010,33(11):87-89,93.
ZHANG Chuang, LV Donghui, XU Chaojing. Computation for solar real-time position and its application in illuminant direction of image[J]. Electronic Measurement Technology,2010,33(11):87-89,93.
[10] 唐爽,馬世紅.利用數(shù)碼相機(jī)(CCD)測(cè)量所在地區(qū)緯度[J].大學(xué)物理,2009,28(7):56-58.
TANG Shuang, MA Shihong. Measurement of the latitude with digital camera(CCD)[J]. College Physics,2009,28(7):56-58.
中圖分類號(hào)G624.6
DOI:10.3969/j.issn.1672-9722.2016.03.002
作者簡(jiǎn)介:吳俊斌,男,研究方向:算法設(shè)計(jì)、程序設(shè)計(jì)。吳晟,男,教授,碩士生導(dǎo)師,研究方向:信息安全,算法研究等。吳興蛟,男,碩士研究生,研究方向:軟件工程、算法設(shè)計(jì)、程序設(shè)計(jì)。
收稿日期:2015年9月4日,修回日期:2015年10月21日