请教:已知太阳方向、当地纬度和当地时间,求正北方的公式(用来编写指南针程序)

来源:百度知道 编辑:UC知道 时间:2024/05/31 00:22:59
请问已知:
1。太阳方向(二维方向)、
2。当地纬度
3。当地时间
是否够条件求正北方与太阳的方向的夹角呢?

如果可以,请问公式是什么呢?

我的设想是:编辑一个手机程序,手机正前方对准太阳,屏幕上的指针与手机正前方的夹角等于正北方与太阳的方向的夹角,那样指针就指着正北方了!
这是一个小小的指北针程序。望帮忙

一般来说,在当地时间6时左右,太阳在东方,12时在正南方,18时左右在西方。根据这一规律,便可以利用手表根据太阳概略判定方向。

方法是:将手表放平,以时针所指时数(每日24小时计时制)折半的位置对准太阳,“12”所指的方向就是北方。如在当地时间上午9时,应以折半的位置“4”和“5”之间对准太阳;下午2时(14时)40分,应以7时20分对准太阳。为便于判定,可在时数折半的位置垂直竖立一细棍或细针,使其阴影通过表盘中心。判定时,应以当地时间为准。

注意:此方法在北纬23度30分以南地区,夏季太阳垂直照射,不便使用

根据这个方法,只须设计个时钟,并调好标准时间(如北京时间),根据经度算出当地时间,当然你所给的条件中当地时间是已知的。当所处的地方在太阳垂直照射的纬度北面,都可利用上述方法。处于北回归线以北,此方法当然是肯定可用。若在南面,很简单,把表上原要对准太阳方向的位置从“12”逆时针算起,譬如原来当地时间6时,本应以“3”对准太阳方向,现在是以“9”,这时“12”是指向南方,“6”自然是指向北方了。

当所处地方在太阳垂直照射的纬度北面,以当地时间作为标准时间,处于凌晨0点时,指针对着手机要对着太阳的方向,然后指针以15度每小时的角速度逆时针开始旋转。在南面,指针的起始条件相同,不过是顺时针旋转,此时指针是指南的,要指北,就设计另一指针,指的方向与原指针的相反就行了。