中华农历论坛知识讨论区历法知识 → 《史记●历书》还原


  共有6164人关注过本帖树形打印

主题:《史记●历书》还原

帅哥哟,离线,有人找我吗?
車前子
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:15 积分:266 威望:0 精华:0 注册:2013/12/31 12:04:00
《史记●历书》还原  发帖心情 Post By:2013/12/31 19:28:00


简介: 
 
自己写的程式,算法源自《史记●历书》,是一个平气平朔历: 参考程式中的说明输入《史记●历书》参数可还原整个《历书》以及《历书》中未尽部分。 
  
 
程式下载:  
 
http://pan.baidu.com/s/1gdqU5iF 
(如果因缺少相关dll导致程式无法运行,请下载dll.zip,解压后复制到C:\Windows\System32下即可)
 
  
典故:
 
虽然太史公的太初历精度高于后来广为推行的太初历,但终因言获罪。
 
“仆以口语遇遭此祸,重为乡党所笑”
“人固有一死,或重于泰山,或轻于鸿毛,用之所趋异也”
“究天人之际 通古今之变 成一家之言”
 
后来“藏之深山,传之后人”,于是这个重来没有被使用过的历法就流传了下来。
 
 
  纪年起点——太初元年: 
 
 今日顺夏至,黄钟为宫,林钟为征,太蔟为商,南吕为羽,姑洗为角。自是以后,气复正,羽声复清,名复正变,以至子日当冬至,则阴阳离合之道行焉。
十一月甲子朔旦冬至已詹,其更以七年为太初元年。年名『焉逢摄提格』,月名『毕聚』,日得甲子,夜半朔旦冬至。   
 
 
 参考参数: 
 
  历算起点:太初元年 JD 1683431  《史记●历书》:1 year=365.250000 days;1 month=29.530851 days;(可还原整个《历书》以及《历书》中未尽部分)
后来被推行的太初历:1 year=365.2501624 days;1 month=29.530864 days;
NASA:1 year=365.242196 days;1 month=29.530589 days;(在近现代范围,与现今的非平气朔历差值在1~2days) 
[此贴子已经被作者于2014-2-2 13:03:27编辑过]

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
浪-淘-沙
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:2058 积分:4273 威望:5 精华:4 注册:2008/11/13 21:03:00
  发帖心情 Post By:2014/1/2 11:48:00

“太史公”的太初历,实则前期的四分历,在春秋战国盛行。并非楼主说的“重来没有被使用过的历法”。/////而汉朝从“太初元年”后实施的历法,实属“八十一分历”,并非“四分历”。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
車前子
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:15 积分:266 威望:0 精华:0 注册:2013/12/31 12:04:00
  发帖心情 Post By:2014/1/2 15:40:00


“太史公”的太初历本身就存在一个很大争议,《史记》写成后"藏诸名山,副在京师",宣帝时,外孙杨恽祖述其书,乃流行于世,而10篇未成,有录无书。
这一篇《历书》是不是“太史公”的太初历到目前仍无定论。 
 
“四分历,在春秋战国盛行。” 确实如此,“太史公”的太初历与颛顼历一回归年均为为365又1/4日,一朔望月为29又499/940日。
“太史公”的太初历的不同之处在于其对计时起点矫正,使得
 “今日顺夏至,黄钟为宫,林钟为征,太蔟为商,南吕为羽,姑洗为角。自是以后,气复正,羽声复清,名复正变,以至子日当冬至,则阴阳离合之道行焉。”后来真正推行的太初历也是这么做的。  
  
“重来没有被使用过的历法”。
这个得看如何定义一个新的历法,如果只看一回归年/一朔望月的长度,颛顼历与之自然无异。
调整了岁首以及冬至计时起点,岁末置闰法改为以无中气月份为闰,在这几点上来说,还是有些差异的。
以冬至所在之月为11月,以正月为岁首,平年12个月,闰年13个月,月大30日,月小29日,并首次将24节气订入该历法,与春种、秋收、夏忙、冬闲的农业节奏合拍。
以无中气月份为闰使得历法的实用性得到提高,从这个层面上看,太史公太初历为现今农历的第一个版本。  
 
 
汉朝从“太初元年”后实施的历法,实属“八十一分历”,并非“四分历”。感谢指正,这里打错了,已更正。
 
“太史公的太初历精度高于后来广为推行的太初历” 指的是:
 29+499/940(太史公太初历/颛顼历)与29+43/81(后来被推行的太初历)较于29.530589(NASA)差值分别为8.87e-4%和9.31e-4%。
[此贴子已经被作者于2014-1-2 18:55:27编辑过]

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
浪-淘-沙
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:2058 积分:4273 威望:5 精华:4 注册:2008/11/13 21:03:00
  发帖心情 Post By:2014/1/2 21:50:00

嗯。<太初历>有很多新创始。计算技术的提高,可以把置闰放在年中(该闰的月分上),而不是直接放在年末。/////////////至于以冬至之月为十一月,并非<太初历>首创。只是顺沿《夏历》而已。古六历只是年首不同,但历算起点都是“冬至”。/////////////////二十四节气名,也是逐渐增加的,以前已经有了二分二至、四立这8个气,到了太史公时代,扩展到24个。当然,太史公他们能把二十四气直接编到历谱中,也算首创吧。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
浪-淘-沙
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:2058 积分:4273 威望:5 精华:4 注册:2008/11/13 21:03:00
  发帖心情 Post By:2014/1/2 21:56:00

至于朋友说的《太初历》的计时起点,似乎不好说了。/////
当时编历时,太史公他们认为冬至(天正)正好在子夜合朔,是编历的最佳起点。/////
但后来通过实测天象发现,他们计算出错了,实则差了半天。所以太史公他们一帮人就主动请辞,因为无法继续把历谱编下去。/////
不过,为了哄骗汉武帝,后来加入编历的高人,想出了“借半天”的方法,把皇帝哄得很开心,也就没人追究这个“半天之差”了。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
春光
  6楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:895 积分:7267 威望:10 精华:1 注册:2005/3/17 11:37:00
  发帖心情 Post By:2014/1/2 22:30:00

历术甲子篇应该是四分历.这个和后来的八十一分历是不同的.

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
車前子
  7楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:15 积分:266 威望:0 精华:0 注册:2013/12/31 12:04:00
  发帖心情 Post By:2014/1/2 22:53:00


To 浪-淘-沙
 
您分析得很有道理,"计时起点"这四字我想表达的意思是: 假定JD 1683431 这一天"日得甲子,夜半朔旦冬至”,然后以此作为初始化值去规划历法。
事实上,两个版本的太初历都是这么做的。而在现实中几乎不可能找到如此完满的“计时起点”,现今的历法干脆抛开了这个原点另寻他法。   
 
 
 
To 春光
 
两个版本的太初历确实是不同的:
一回归年均和一朔望月的长度不一样,在程式中如果输入的是太史公的老参数(365又1/4,29又499/940)得到的是《历书》的历法;
如果输入的是(365又385/1539,29又43/81)得到的是被采纳的太初历的历法。
如果输入的是NASA的参数(默认),与现行的非平气朔历可能有1~2天误差。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
車前子
  8楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:15 积分:266 威望:0 精华:0 注册:2013/12/31 12:04:00
  发帖心情 Post By:2014/1/3 12:03:00


To 春光
 
 看了置顶的问答,非常佩服您的学识,顺便问您一个问题:
 19)“定正朔”真的是皇权的象征吗?
答:历法本没有封建性,但在封建社会时由封建主控制历法的制定,但现在封建制度已经被废除了,所以现在就不是皇权的象征了。
现在人民当家作主了,人民有权使用或修定自已的传统历法-----农历。
26)农历历法和历算为什么到今还不被人们所了解?
答:农历之所以“神秘”的原因有下面几点:
1,这是因为农历历法和历算是很复杂的,是精确度很高的天文工作,一般人难以计算和掌握。但这一点随着天文历法和数学的普用和计算机的应用也不是主要问题;
2)农历有天象预报的功能,它的计算需要很精确的天文常数和行星轨道计算和观测,这需要专业的天文台执行并公布天文常数;
3,因为农历曾在封建社会被统治阶级的垄断,所以就很神秘,现在封建制度被废除了,所以农历又回到了广大人民之中;
32)推算农历需要具备哪些数学基础知识? 答:微积分学,级数,平面几何,立体几何,解析几何,三角学(包含球面三角学)等;
47)完善现行农历的目标有哪些?
答:农历在我国已经不是官方历法,而是民间历法,保留它主是官方历法(公历)的补充和保护我国民族民俗文化,所以它应强调它的优势,使它更加和天象的一一对应;
改革完善的目标有以下几点:
第一,置闰法,采用历理中气置闰法;
第二,历算方法应用现今最前沿的理论和算法,如采用相对论算法等;
第三,正式推出农历的积累纪年和农历历元(黄帝纪元)和干支生肖综合纪年,例如今年即“公历2005年”春节后为“农历4703乙酉鸡年”,2006年为“农历4704丙戌狗年”等;
第四,72候中的一些候名(这些候名难懂,古怪或不合时宜)可更换新候名(要求简洁明了);
第五,增加用经纬度标注的晨昏蒙影,日出日落表,日月食的预报等;
 
————————————————————————————————————————————————————————————————
以上均摘自您的帖子,下面是我的想问的:
 
古代,对于生活在赤道附近的人们,月亮对于人们的意义大于太阳(夜间不热易出行),比如回历采用的是太阴历。
对于生活在温带地区的人们,月亮与太阳都有很重要的意义,我们的农历一直沿用的就是太史公的历法。
而生活在较寒冷地区的人们,可能更倾向于太阳历。
 
近现代有了灯光,夜间的各种活动几乎不再依靠月光,阴历的地位不如从前。由于西历易于规划安排,现在成了全世界主流的历法。
总之,历法要好用,适用于生产生活。
 
但是,在数位时代,对于现行的农历,按理说计算不会是一个问题,但是事实并非如此:
写一个程序,必须调用一个复杂的API或DLL来决定这一年或者这个月有几天,无法像公历一样用很简单的一段代码解决问题。
 
当代农历用非常精确的算法,但现实生活中很难用得着如此精确的历法,是不是有点“割鸡用牛刀”?
 
若不因此,今天的公历或许会是太史公的太初历(当然,年月参数要变)。
 
以上说法可能有些不妥,欢迎指正。
 
顺便提一下,如果用的是太史公的算法,只要知道某个特定年份的大余小余以及年月长度,很快可以推算出某一日的具体参数。
每隔六十年或一百年对大余小余稍作修订,也方便历法的维护。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
春光
  9楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:895 积分:7267 威望:10 精华:1 注册:2005/3/17 11:37:00
  发帖心情 Post By:2014/1/11 21:10:00

农历从三统历开始就不是完全是一个历谱,而是中国传统天文学的重要组成部分,历谱只是其中一个应用,所以中国传统历法不像西方那样一个平历完事(他们的天文学和历法是分开的),所以中国传统历至少从古六历开始就有往真天体系统发展的趋势,比如用一个天文常数逐年逐月推算,而不是规定哪个月大,哪个月小,哪年是闰年等等,这些都是历算家实测的事.所以中国传统历法逐渐由平气平朔(东汉四分历以前)到平气平朔注历(排历谱)定朔推食,到平气定朔(戊寅元历)注历推食,到平气注历定朔注历定气定朔推食(大衍历),到定气定朔注历兼推食(明末崇祯历书开始)的发展过程.
现在的农历版本紫金历是定气定朔,所以准确是必须的.历法服务于生活,但是中国农历不仅仅是历法.

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
春光
  10楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:895 积分:7267 威望:10 精华:1 注册:2005/3/17 11:37:00
  发帖心情 Post By:2014/1/11 21:15:00

西方托勒密和哥白尼他们完全可以无视历法而单独研究天文学.而中国传统历法不但要服务于生活,提供时标,而且要充当天象预报功能,比如交食,比如气朔弦望和候,日月出没,晨昏蒙影等等.

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
总数 19 1 2 下一页

返回版面帖子列表

《史记●历书》还原








签名