首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >人类可读的月亮相位的名字

人类可读的月亮相位的名字
EN

Stack Overflow用户
提问于 2014-11-02 17:21:10
回答 1查看 1.3K关注 0票数 2

看来pyephem应该能给我一个标准的人名来描述我们在月球周期中的位置,给出一个日期--“第一季度”、“满月”、“新月形”、“衰落的长臂猿”等等。

我说得对吗?

有人知道这方面的标准解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2014-11-04 04:14:30

唉,除了月亮完全满月的时刻之外,没有任何标准的定义像“满月”这样的术语。这意味着,从技术上讲,月球完全满月时,只有一个非常小的时刻,因此,你可以问PyEphem的任何真实时刻,无论是在那个完美的满足点之前还是之后。

因此,除非你能找到一个标准的定义,以秒为“宽”的时刻的满月是,实际的相位,在任何给定的时刻,你提出的将是起起落落。有关所有细节,您可以查阅USNO定义:

phases.php

因为那里的标准说,黄道经度的区别在于如何确定相位,所以您可以尝试这样的方法:

代码语言:javascript
复制
import ephem
tau = 2.0 * ephem.pi

sun = ephem.Sun()
moon = ephem.Moon()
names = ['Waxing Crescent', 'Waxing Gibbous',
         'Waning Gibbous', 'Waning Crescent']

for n in range(1, 31):
    s = '2014/%d/11' % n
    sun.compute(s)
    moon.compute(s)

    sunlon = ephem.Ecliptic(sun).lon
    moonlon = ephem.Ecliptic(moon).lon

    angle = (moonlon - sunlon) % tau
    quarter = int(angle * 4.0 // tau)
    print n, names[quarter]
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26702144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档