Chinaunix首页 | 论坛 | 博客
  • 博客访问: 98018
  • 博文数量: 15
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 150
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-11 16:35
文章分类

全部博文(15)

文章存档

2018年(2)

2011年(1)

2008年(12)

我的朋友

分类:

2008-10-23 12:21:02

本文假定你拥有以下知识:三角函数、简单的立体几何、地球的公转与自转、时区与北京时间;此外你可能在阅读本文前,还需要一张纸、一支笔、一个普通的工程类计算器,以及一杯让你舒缓神经的水。为了完成计算,你必需要知道你当前的经纬度和日期。

由于本文涉及冗长的推导过程,可能并不适合浮躁的心情。当然,本文秉承我一贯的风格,绝不包含超出高中课本的知识。

一切准备工作就绪的话,我们就开始了。

首先,我们根据当前的日期确定太阳在黄道中的位置。我们知道,太阳大约在3月20日或3月21日直射赤道,而其运动周期是365天。所以现在太阳在黄道中的位置是
[注1]

黄道平面与赤道平面的夹角被称为黄赤夹角,大约为23.5度。根据立体几何的知识,太阳当前直射的纬度Bs满足

根据这个式子,就可以用计算器的反三角函数求得Bs

接下来,需要计算的是目前你所在纬度的昼长。由于黄道、赤道和你所在的纬圈均不同在一个平面,所以在纬圈上,太阳照射的部分并不等于纬圈的一半。这里令2θ为其超出的角度,则有下式

其中B为你当前的纬度。解出θ后,可以求得昼长等于

等等,这里我们忽略了两点:1. 阳光在大气中的折射会使得我们能见到地平线下方约37′射来的光线。2. 太阳不是点光源,它是一个约16′圆盘。考虑这两点,θ还有一个修正量[注2]

在这个基础上,重新计算昼长T。到这里,最难的问题已经解决了,还需要把当地时间,根据经度L换算到北京时间。也就是当地正午(太阳最高时)的北京时间为

那么日出时间tr和日落时间ts

为了验证以上计算的正确性,这里有一个基于Google Maps的在线日出日落计算器。[]

由于忽略了地球公转的椭圆轨道(近似为圆),忽略了地球表面的起伏(近似为球)等因素。以上的计算过程和实际值具有一定误差,而上面那个网页是用经验公式求得的,更为精确。

注1:为了方便,也可以夏至(或秋分,冬至)作为起算点。不过需要对应的加上

注2:这是一个近似的做法,其依据是太阳日出的过程并不长,可以把弧段近似看作线段。但这一点只能在中低纬度地区得到保证。对精确解法有兴趣的同学,可以试着动手算一算。

阅读(3742) | 评论(0) | 转发(0) |
0

上一篇:求任意点日出的地方时刻

下一篇:昼长

给主人留下些什么吧!~~