/sxtwl_cpp

寿星天文历的C++实现版本

Primary LanguageC++

#项目背景 在公司一次下午茶的偶然的聊天,有位同事说如果有软件能够获取古代农历来研究古人八字就好了。然后,我就找了网上基本上所有和农历相关的的软件,其中包括ubuntu kylin的[优客农历]: http://www.ubuntukylin.com/application/show.php?lang=cn&id=269 、百度的日历、农历网……基本上所有的实现方式都是能过查表实现的,大部分只做到查询1600至2100的农历信息。 在一次偶然的机会下发现了[寿星天文历]: http://www.nongli.net/sxwnl/。此日历由福建莆田第十中学许剑伟根据天文算法推算农历。此日历BC722年以后与实历相符。但因为代码使用js编写,且存在大量用于网页的硬编码,故翻译了一份C++代码,以便日后移值到其它操作系统(如android,ios),或者暴露接口给其它语言使用。

#用途

  • 做为航海历使用。(注:虽然叫做农历,其实和农业生产一点关系都没有。但和航海有关)
  • 命理研究
  • 考古工作
  • 与农历相关的数据提供
  • 天文研究
  • 其它用途等我再想一下。

#完成的部分

  • 获取农历、公历以及天干地支数据 (核心功能)

#计划

  • 农历与儒略历的互相转换
  • 公历与儒略历的互相转换 (基本完成)
  • 回历的支持
  • 行星历的支持
  • 使用cmake管理工程
  • 多平台支持(包括android,ios)

#目前的缺陷

  • 由于js代码为弱语言类型,在翻译成C++过程中,为了考虑精度使用的是long double类型.有些地方可以考虑用int类型替代
  • 部分语法无C++语法特点。

#最后

  • 如果想加入此项目请联系 元谷(lifulinghan@aol.com)
  • 如果使用此项目,请告之一下作者
  • 如果您使用了此项目的代码,为了表示对寿星天文历原作者的尊重,请您项目适当的位置表达对许剑伟先生感谢