Hasty Briefsbeta

双语

Show HN: Moon Phase Algorithms for C, Lua, Awk, JavaScript, etc.

a year ago
  • #programming
  • #moon-phase
  • #astronomy
  • 一段代码片段集合,用多种编程语言计算月相。
  • 支持的语言包括C/C++、Rust、Zig、Lua、JavaScript、Python、awk和bc。
  • 函数接收时间输入(如Unix纪元秒数),返回月龄弧度值。
  • 通过公式(1-cos(x))/2计算月球表面受照比例。
  • 月龄弧度值乘以约29.5可转换为天数。
  • 结合受照比例和角度确定相位索引,用于命名和表情符号表示。
  • 所有实现均为自包含的纯算法,基于80年代John Walker的moontool算法。
  • 包含测试用例,展示受照比例和百分比的计算效果。