APP下载

基于日晷原理的太阳影子定位实现*

2016-04-20吴俊斌吴兴蛟

计算机与数字工程 2016年3期
关键词:最小二乘法

吴俊斌 吴 晟 吴兴蛟

(昆明理工大学信息工程与自动化学院 昆明 650500)



基于日晷原理的太阳影子定位实现*

吴俊斌吴晟吴兴蛟

(昆明理工大学信息工程与自动化学院昆明650500)

摘要论文基于古代日晷的原理,实现太阳影子定位。根据天文学理论,计算太阳高度角、方位角以及阴影形成原理,计算日出至日落之间各时刻晷针在晷面上的影子长度和方位角,进而得到太阳影子与经纬度的函数关系,在反推求解的过程中,通过最小二乘法得到当地正午时刻的影子长度和北京时间,再根据得到的经纬度与影子的函数关系,进行求解。文章使用Java程序进行仿真模拟,得出经度以及纬度之后进行验证。得知该实现具有可行性。

关键词影子定位; 日晷投影原理; 最小二乘法; 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引言

古代没有精确的时间测量仪器,一直通过沙漏和日晷来测量时间[1],通过太阳照射地面直杆的影子长度和角度来确定时间。如今虽然有了钟表或者电子时钟,但依然能够在很多地方能看到反映人文景观的日晷,这是古人文明的展现。在现代,虽然不再通过日晷查看时间,但对于日晷投影的研究并没有终止。我们可以很方便地从日晷上看出时间,但日晷影子长度的变化是根据地球经度纬度来决定的,所以也可以通过日晷影子[2]长度的变化来求出当地的经度纬度,这对于野外求生也可以起到一定的帮助。

2日晷原理

2.1日晷成像原理

日晷是由晷针、晷面和晷面上的刻度组成的。太阳照射晷针,形成晷影[3~4]。晷影的长度和角度会投射到相应的日期刻度和时间刻度上,通过刻度可读出时间。由于每天任何时刻的晷影各不相同,就可以有效反映出当地的太阳时。

晷影的形成原理如图1所示。其中X轴正方向指向正东方向,Y轴正方向指向正北方向,Z轴正方向竖直向上。Z轴上有一晷针H,v为太阳光线,照射在晷针H上形成晷影L,此时影长L与晷针H形成高度角α,影长L与X轴形成方位角β。由于每个时刻形成的高度角α和方位角β不相同,所以通过一定的方法就可以求出时间。基于此,也可通过时间来计算影子的长度。

图1 日晷原理图

2.2影长求解

根据日晷成像原理,若要求解影长的具体的变化情况,首先必须明确太阳与地球的运动情况。不仅要考虑地球公转的速度变化,而且还要考虑地球自转的变化情况。通过地球公转速度的变化,可以求得太阳直射地球的纬度,而通过地球自转的变化,可以得到太阳直射地球的经度。

由于地球公转轨迹并不是标准的正圆,且公转速度也不相同,因此不能简单地使用公历日期,而需要进行误差修正。计算出确切的公转天数t,从而计算出日角θ。同理,由于地球自转的速度也不均匀,其自转一周的时间并不是准确的24小时,因此要进行误差修正,得到真太阳时TΘ,从而得到太阳时角τ。经过误差修正的日期和时间可以精确求得影子长度L,其具体的求解过程如下:

1) 日角θ

日角θ的计算公式[5]为

(1)

其中t为地球转到当前位置的天文时间,N为积日,即当日的日期距离当年1月1日的天数,N0用于积日校正,以得到实际的天文时间,yr为年份,INT函数用于取整。

2) 时差η

时差Et的计算公式为

η=0.0028-1.9857sinθ+9.9059sin2θ

-7.0924cosθ-0.6882cos2θ

(2)

3) 赤纬角δ

赤纬角δ的计算公式为

δ=0.3723+23.2567sinθ+0.1149sin2θ

-0.1712sin3θ-0.758cosθ+0.3656cos2θ

(3)

4) 太阳时角τ

太阳时角τ的计算公式为

τ=(TΘ-12)×15°

(4)

式中TΘ表示真太阳时。为从北京时间得到真太阳时,需要通过以下公式求得:

将北京时T转换成地方时Td的公式如下:

(5)

式中λ表示经度,T表示北京时间,转换为地方时后,需要进行误差修正,得到真太阳时,如下:

(6)

其中,TΘ为真太阳时,Td为地方时,η为时差。

5) 太阳高度角α

太阳高度角α的计算公式[6~7]为

sinα=sinδsinφ+cosδcosφcosτ

(7)

式中,δ为太阳赤纬角,φ为当地的地理纬度,τ为当时的太阳时角。

6) 太阳方位角β

太阳方位角β的计算方式为

(8)

式中,α为太阳高度角,δ为太阳赤纬角,φ为当地的地理纬度。

由上式可求出两个β值。第一个表示午后的太阳方位,取值范围为:当cosβ≤0时,90°≤β≤180°;当cosβ≥0时,0°≤β≤90°。第二个β值为午前的太阳方位角,取值为360°-β。

7) 影子长度L

影子长度L的计算公式为

(9)

联立式(1)~式(9)就可以得到影子长度L。

3通过影长求当地经纬度

在有电子时钟的时代,可以不再通过日晷来查看时间了,但可以通过日晷的原理来反推观测地点的经纬度,这对于现代科技的研究更加有价值,甚至可以用在野外求生上。

假设观测地点的地面是水平的,通过测量可以求得物体的高度为H,影长为L,由于一组数据会存在较大的误差,因此需要根据每个时间点,测算影子的长度,并做出统计。

采用一元线性回归模型,利用最小二乘估计法计算观测点的经纬度[8~9]:

(10)

(11)

其中,L为影长,xt和yt为t时刻影子顶点的坐标,λ为当地的地理经度,φ为当地的地理纬度。

根据式(10)和式(11)可以得出影子定点坐标(xi,yi)与经度λ的函数关系,时间t与纬度φ的函数关系[10]。

具体形式如式(12)所示,主要运用日晷原理中的式(7)和式(8),即太阳高度角α和方位角β的公式,并利用式(1)~式(6)公式进行反推即可得到式(12)的具体形式:

(12)

其中T0是当地正午时刻的北京时间,L0是当地正午时刻的影子长度,d是当天日期与春分日的日期差。通过得到的一系列测量数据,可以找到最短影长,以及最短影长的时刻。但由于测量有误差,因此可以对测量的数据进行拟合,并通过最小二乘法来求解得到较为精确的最短影长和时刻。最后通过式(12)求解得当地的经纬度。

4实例验证

4.1程序展示

编写程序,验证以上理论,其伪代码编写如下:

/*程序中today为测量日期,time是当地正

*午时刻的北京时间,height为木杆的高度,

*length为正午时刻木杆的影长*

/SolveLaitLong(today,time,height,length)

{

longitude=120-(time-12)*15;

// longitude为经度

equinox=(2015,3,21)

//equinox为当年的春分时间

dvalue=today-equinox;

//dvalue为测量日期距离春分的天数

latitude=(atan(length/height)

+asin(sin(23.5*pi/180)

*sin(2*pi*dvalue/365.2422)))

*180/pi;

return (longitude,latitude);

}

4.2实际检验

1) 提出问题

假设观测地点为海南省,木杆高度H=2m,在2015年4月18日,测量得到正午时刻的北京时间为12:45:00,影子长度L=0.35m。

2) 求解问题

(λ,φ)=(108°49′,20°34′)

3) 结果检验

根据求得的结果,与实际的测量地点经纬度(λ,φ)=(110°21′,20°02′)进行对比,可以发现,结果还是相对比较准确的。

5结语

该模型是基于日晷原理的太阳影子定位,虽然在当今定位系统覆盖全球的时代里,模型求解起来有些繁琐,但是对于了解日晷原理,了解地球和太阳间的运动还是起到很大的作用的,通过该模型,可以不需要借助任何高科技来得到自己所处的地方,对于天文观测定位星球也起到有效的借鉴作用,可以通过得到恒星和行星的远近找到宜居星球。但是本模型中由于包含着各种影响因素,为了简化模型,将其中比较次要的因素省去了,比如:虽然考虑到了地球绕太阳公转的速度并非匀速,但是由于其精确的速度并不是很精确,导致误差随着计算越变越大。为达到更加精确的结果,应该优化模型,使得减少其中的变量,进而提高精度。

参 考 文 献

[1] 王德昌.日晷—时间的雕塑和测量[J].科学,2005,57(4):55-58.

WANG Dechang. Sundial — time sculpture and time measuring tool[J]. Science,2005,57(4):55-58.

[2] 吴振华.常用日晷晷面线图设计[J].上海交通大学学报,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] 唐玉丽,陈琪,陈崇成,等.通用日晷三维仿真系统的开发与应用[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] 刘群.日晷投影原理及其应用[J].贵州师范大学学报,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] 王炳忠.太阳能中天文参数的计算[J].太阳能,1999,2(5):8-10.

WANG Bingzhong. Calculation of the solar energy of astronomical parameters[J]. Solar Energy,1999,2(5):8-10.

[6] 郑鹏飞,林大钧,刘小羊,等.基于影子轨迹反求采光效果的技术研究[J].华东理工大学学报,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] 林根石.利用太阳视坐标的计算进行物高测量与定位[J].南京林业大学学报,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] 肖智勇,刘宇翔.一种新的纬度测量方法[J].大学物理,2010,29(9):51-54.

XIAO Zhiyong, LIU Yuxiang. A new measurement of latitude[J]. College Physics,2010,29(9):51-54.

[9] 张闯,吕东辉,顼超静.太阳实时位置计算及在图像光照方向中的应用[J].电子测量技术,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] 唐爽,马世红.利用数码相机(CCD)测量所在地区纬度[J].大学物理,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.

中图分类号G624.6

DOI:10.3969/j.issn.1672-9722.2016.03.002

作者简介:吴俊斌,男,研究方向:算法设计、程序设计。吴晟,男,教授,硕士生导师,研究方向:信息安全,算法研究等。吴兴蛟,男,硕士研究生,研究方向:软件工程、算法设计、程序设计。

收稿日期:2015年9月4日,修回日期:2015年10月21日

猜你喜欢

最小二乘法
基于压电陶瓷的纳米定位与扫描平台模型辨识算法研究
基于惯导角度量测的轨道平面最佳线形参数估计算法
马尔科夫链在市场预测中的应用
一种改进的基于RSSI最小二乘法和拟牛顿法的WSN节点定位算法
最小二乘法基本思想及其应用
全国各省份经济发展影响因素的实证分析
全国主要市辖区的房价收入比影响因素研究
手动求解线性回归方程的方法和技巧
一种基于最小二乘法的影子定位技术
基于最小二乘拟合的太阳影子定位模型