lunar-javascript icon indicating copy to clipboard operation
lunar-javascript copied to clipboard

关于二十八星宿的建议

Open dooioomoo opened this issue 1 year ago • 17 comments

6tail你好:

关于lunar-javascript里的二十八星宿排列,使用的是地支+周的计算方式。 而其他部分农历程序使用的是印度佛教的27星宿排布方式。(印度佛教所使用二十七星宿,传自中土。但因为观测位置原因,舍弃了牛宿。)

理由1:印度佛教排列的27星宿方法是对的,但是不适用北京时间。因为我国北京地区观测月宫黄道,是可以观测到牛宿的。 理由2:地支+周之所以不对,是因为周在古代计时中,采用的是七曜排序,与现代的“基督教礼拜日”相差甚远,使用+周的做法不提倡,也没有逻辑依据。

根据我使用观星方式所获得的二十八值日,采用农历月表的排列方式,恢复成二十八星宿相对来说更加准确。

二十八星宿资料采用:https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8D%81%E5%85%AB%E5%AE%BF%E4%B8%AD%E8%A5%BF%E6%98%9F%E5%90%8D%E5%AF%B9%E7%85%A7%E8%A1%A8

根据对应现代星座名称,我观测了在不同阴历月日时,月亮所重叠的二十八星宿位置。

以此推荐您做以下修改:例如:

月排序 export const CN_MONTH = '十一_十二_正_二_三_四_五_六_七_八_九_十'.split('_')

二十八星宿排序: export const XINGXIU28 = '角_亢_氐_房_心_尾_箕_斗_牛_女_虚_危_室_壁_奎_娄_胃_昴_毕_觜_参_井_鬼_柳_星_张_翼_轸'.split('') export const XX28_WX = '木_金_土_日_月_火_水_木_金_土_日_月_火_水_木_金_土_日_月_火_水_木_金_土_日_月_火_水'.split('') export const XX28_MING = '蛟_龙_貉_兔_狐_虎_豹_獬_牛_蝠_鼠_燕_猪_貐_狼_狗_雉_鸡_乌_猴_猿_犴_羊_獐_马_鹿_蛇_蚓'.split('_')

二十八星宿对应月数组的起始排序: var sort = '8_11_13_15_17_19_21_23_26_1_3_5'.split('_')

var R = {} for (var i = 0; i < 12; i++) { var f = sort[i] - 1 R[CN_MONTH[i]] = [] for (let j = 0; j < 30; j++) { R[CN_MONTH[i]].push([XINGXIU28[(f + j) % 28], XX28_WX[(f + j) % 28], XX28_MING[(f + j) % 28]]) } } return R

由此可获得对于北京时间相对准确的二十八星宿值日列表,也符合现代观星所获得的二十八星宿值日结果。

请您参考,此致,敬礼。

2024-12-1房宿

dooioomoo avatar Jun 02 '24 06:06 dooioomoo

谢谢您,邮件已收到!这是来自QQ邮箱的假期自动回复邮件。

liulin6631 avatar Jun 02 '24 06:06 liulin6631

是否能提供相关的佐证资料呢?

6tail avatar Jun 06 '24 14:06 6tail

他在去中国化

wulintang avatar Jul 13 '24 07:07 wulintang

谢谢您,邮件已收到!这是来自QQ邮箱的假期自动回复邮件。

liulin6631 avatar Jul 13 '24 07:07 liulin6631

是否能提供相关的佐证资料呢?

当时在测试的时候年份不够,是我唐突。自那时一直翻看各种记录。最后认为钦定协纪中所说的最为准确。二十八宿也只是用做西域当做中国干支所记录。解释如下:佛教用以吉凶时日善恶星耀经,本身就不是以干支来度二十八宿,而是把二十八宿做地支同用,用以查经定喜恶。现代把干支加七政做二十八宿,才是最无厘头的做法。二十八宿距星相差参差不齐,与日合躔无法以每日而度。所以自元明清争议极大。清朝之所以四库中保留其用,就一句话,外国人拿来当干支,好处多过坏处,但是计算吉凶那是没道理的。而现今可靠的方式有如下含义,请6tail参考。

二十八宿分天而定,古人以前是太岁纪年,所以把日子分为六十日,即纳音日,至今沿用。将二十八宿分四宫七宿轮转,共四百二十天,所以六十纳音分七元。从一元甲子起虚,二元甲子起奎,三元甲子为毕,四元甲子起鬼,五元甲子起翼,六元甲子起氐,七元甲子起箕。周而复始共四百二十日一大轮。但是首起日无从考,所以不管在哪一个甲子定虚而查,之后都会错,况且较长的毕宿最长可值七八日,又怎么可能日日更宿,其理不通。即使皇帝分天二十八宿,作为星辰经纬,也断不会以七政佐之,而定会与干支太岁节气相合,毕竟二十八宿是作为阳历而非阴历的一部分。

查阅通书,以百中经例,二十八宿不做吉凶,而作七星之定位,以分周天,是为道家提供了执经查天的工具书。我猜测理由有下。

二十八宿在西域是概念性的,因不懂干支,又无观星体系,沿用本土二十八星宿作为星占文化,因为观察和觜宿重叠,固有二十七宿。理由是,二十八宿不但为阳历服务,宜用干支观七星,分十二月或十三月天行何处。

二十八宿的动物,据传为袁天罡所做,而某些现代学者却以春秋分点观察,作为二十八宿传自西域的佐证是不足的。查古书可知,古人以日月五星为纲,北斗九星为标,七星为斗,两星为隐,分列四域各执七座为经纬用以观察七政运转才是正理,故而二十八宿于干支纪日并非合躔所用。

由于经年累月,斗转星移,二十八宿所用与十二星次都发生变化,故而无考。

1.香港通胜书以真步堂为鉴,从百中经,纪日月五星每月所处位置,用作参考星次宫维。需要使用浑天算法计算日月金水木火土七星各日所临宿位,如毕二氐七例。 2.与佛教沿用西域所学之习惯,定二十七宿分列各月作为查经定日的标记。 3.使用寿星万年历增其星历数据,加算章动岁差,找出现代距星用作日居何宫,来定二十八宿象义为准,但不推荐,毕竟二十八宿在黄道不足一半,取而用之犹画虎类犬。

以上为建议。

二十八宿有着自己的使命,古代不乏缪传术士或文献缺失记录有误。但是作为新中国阴阳历,建议以古人之精神,精研其道,推物之理方才有为。不要以其他历所谬传就需具备,以讹传讹遗错万年。余窃以为,宁缺勿错,二十八宿当做正用,而非迷信,致使真生的中华占卜徒生赘肢,形将不形。万卜源于星,若星不准,犹如人在混沌,未知四维而指吉凶,凶之又凶。现以残记为纲,定二十八宿合日,如同以今之北京类古之长安,其谬千里,害人匪浅。请慎重择之。

dooioomoo avatar Jul 18 '24 14:07 dooioomoo

https://github.com/user-attachments/assets/be22b14e-2bf0-49e4-a975-ec71cc60c529

此为公元前400年周威烈王时期,二十八星宿星,日月和躔图例录像。请参考。 仅供学习交流

dooioomoo avatar Jul 18 '24 16:07 dooioomoo

此为公元200年汉献帝时期二十八星宿示例图。 仅供学习交流

https://github.com/user-attachments/assets/16cf4ba0-262e-4760-a734-f17d41b1f828

dooioomoo avatar Jul 18 '24 16:07 dooioomoo

https://github.com/user-attachments/assets/c9bfe863-f031-45cd-86d7-3dde37ed1a40

此为中华人民共和国2024年二十八星宿图示 仅供学习交流。

dooioomoo avatar Jul 18 '24 16:07 dooioomoo

钦定协纪辨方书-二十八星宿1 钦定协纪辨方书-二十八星宿1

dooioomoo avatar Jul 18 '24 16:07 dooioomoo

关于北斗九星其隐二星,做解释。

屏幕截图 2024-07-19 011546

隐去两星一曰:玄戈,招摇,一曰:辅星,招摇。

二星为阴,为隐匿,不用。

以上为佐证资料,希望能给6特尔一些理解上的帮助。

个人建议,二十八宿各分阴阳,古人以北斗鉴七政,日月长庚辰星岁星荧惑填星以辩周天运转精气,分定阴阳五行教化众生,本来就是最科学的方法。经久历世,术士们门派各异,以名代法,专长自己的技能。本不为过。但是我们现在只传其名不得其法,反用谬论度命,这不就是大大迷信了吗?所以既然制作历法工具,还是建议谨慎定夺,二十八宿应同于日月五星,使用科学的星历数据标记,以便计算星位,而不是盲从毫无根据的定向之法甚好。

自建议开始,就是为了给你的程序合理性提出建议,其心非恶可知。如果用七政加干支法,请参考以上提供的证据,按照佛历所载内容排布,才能做到最大可能的有迹可循。而非什么去中国化。外域所用二十八星宿,与本土所用二十八星宿之法,从星象理解,干支纪年月日,到经纬之深度,都无法相比。这也是我一点浅薄的理解。所以,现存七政干支法可用于佛历吉凶查阅,而黄历所用,应该是回归七星定位的方法上较为稳妥。毕竟古人不看二十八星宿本意吉凶,而是日月五星运至何宿为定。

举个简单的例子。古人看二十八星宿之意,就像十二辰次,经何地,用何风气。其本身也有特性,但不事事具用。就像宜忌,应遵神煞法则,有大宜小宜大忌小忌之分,而非定日而分,这不是刻舟求剑么?所以,二十八星宿需度何日月五星以决吉凶。

二十八星宿本象义可列入图书术数内容,一旦行历,就需计算,这种规律是不能强字而曰的。还请慎辨。

dooioomoo avatar Jul 18 '24 17:07 dooioomoo

以上略举百中经所及二十八宿用法。

例:嘉庆十三年,1808-2-16,正月二十八

屏幕截图 2024-07-19 055549 屏幕截图 2024-07-19 055532

查,嘉靖十三年,正月二十八,或二十,岁星在危宿

例:乾隆二十八年,1763-2-22.正月初十

屏幕截图 2024-07-19 062051 屏幕截图 2024-07-19 061717

查,乾隆二十八年,正月初十,岁星在娄宿

余仿此。

所及星宿,意指所位七政居何宫

二十八配日按一日一度,分列度数,按查进度。

例虚无初十五度,危宿初度至十七度共十八度等。全年分列共计三百六十五度,周而复始。

dooioomoo avatar Jul 18 '24 22:07 dooioomoo

翻了很多现代历书,查找二十八宿与此历一样。既然众家皆以此为凭应有其道理。以上仅作为古历的一些学术推研,不用理会。对不起,打扰了。

dooioomoo avatar Jul 25 '24 23:07 dooioomoo

另附一图做结词

9144_P_1674196990108

dooioomoo avatar Jul 25 '24 23:07 dooioomoo

二十八宿是中国道教产物,何时和佛教扯上关系。不但要去中国化,还要文化混乱。

wulintang avatar Jul 30 '24 04:07 wulintang

6tail你好:

关于lunar-javascript里的二十八星宿排列,使用的是地支+周的计算方式。 而其他部分农历程序使用的是印度佛教的27星宿排布方式。(印度佛教所使用二十七星宿,传自中土。但因为观测位置原因,舍弃了牛宿。)

理由1:印度佛教排列的27星宿方法是对的,但是不适用北京时间。因为我国北京地区观测月宫黄道,是可以观测到牛宿的。 理由2:地支+周之所以不对,是因为周在古代计时中,采用的是七曜排序,与现代的“基督教礼拜日”相差甚远,使用+周的做法不提倡,也没有逻辑依据。

根据我使用观星方式所获得的二十八值日,采用农历月表的排列方式,恢复成二十八星宿相对来说更加准确。

二十八星宿资料采用:https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8D%81%E5%85%AB%E5%AE%BF%E4%B8%AD%E8%A5%BF%E6%98%9F%E5%90%8D%E5%AF%B9%E7%85%A7%E8%A1%A8

根据对应现代星座名称,我观测了在不同阴历月日时,月亮所重叠的二十八星宿位置。

以此推荐您做以下修改:例如:

月排序 export const CN_MONTH = '十一_十二_正_二_三_四_五_六_七_八_九_十'.split('_')

二十八星宿排序: export const XINGXIU28 = '角_亢_氐_房_心_尾_箕_斗_牛_女_虚_危_室_壁_奎_娄_胃_昴_毕_觜_参_井_鬼_柳_星_张_翼_轸'.split('') export const XX28_WX = '木_金_土_日_月_火_水_木_金_土_日_月_火_水_木_金_土_日_月_火_水_木_金_土_日_月_火_水_木_金_土_日_月_火_水'.split('') export const XX28_MING = '蛟_龙_貉_兔_狐_虎豹_獬_牛_蝠_鼠_燕_猪_貐_狼_狗_雉_鸡_乌_猴_猿_犴_羊_獐_马_鹿_蛇_蚓'.split('_')

二十八星宿对应月数组的起始排序: var sort = '8_11_13_15_17_19_21_23_26_1_3_5'.split('_')

var R = {} for (var i = 0; i < 12; i++) { var f = sort[i] - 1 R[CN_MONTH[i]] = [] for (let j = 0; j < 30; j++) { R[CN_MONTH[i]].push([XINGXIU28[(f + j) % 28], XX28_WX[(f + j) % 28], XX28_MING[(f + j) % 28]]) } } return R

由此可获得对于北京时间相对准确的二十八星宿值日列表,也符合现代观星所获得的二十八星宿值日结果。

请您参考,此致,敬礼。

2024-12-1房宿

您好,我的想法和您一样,二十八宿值日用月亮的位置,但由于二十八宿分度的问题,月亮位置分布不是平均的,还在验证是否准确。请问您有别的联系方式嘛

kd5217136 avatar Aug 25 '24 08:08 kd5217136

6tail你好: 关于lunar-javascript里的二十八星宿排列,使用的是地支+周的计算方式。 而其他部分农历程序使用的是印度佛教的27星宿排布方式。(印度佛教所使用二十七星宿,传自中土。但因为观测位置原因,舍弃了牛宿。) 理由1:印度佛教排列的27星宿方法是对的,但是不适用北京时间。因为我国北京地区观测月宫黄道,是可以观测到牛宿的。 理由2:地支+周之所以不对,是因为周在古代计时中,采用的是七曜排序,与现代的“基督教礼拜日”相差甚远,使用+周的做法不提倡,也没有逻辑依据。 根据我使用观星方式所获得的二十八值日,采用农历月表的排列方式,恢复成二十八星宿相对来说更加准确。 二十八星宿资料采用:https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8D%81%E5%85%AB%E5%AE%BF%E4%B8%AD%E8%A5%BF%E6%98%9F%E5%90%8D%E5%AF%B9%E7%85%A7%E8%A1%A8 根据对应现代星座名称,我观测了在不同阴历月日时,月亮所重叠的二十八星宿位置。 以此推荐您做以下修改:例如: 月排序 export const CN_MONTH = '十一_十二_正_二_三_四_五_六_七_八_九_十'.split('') 二十八星宿排序: export const XINGXIU28 = '角_亢_氐_房_心_尾_箕_斗_牛_女_虚_危_室_壁_奎_娄_胃_昴_毕_觜_参_井_鬼_柳_星_张_翼_轸'.split('') export const XX28_WX = '木_金_土_日_月_火_水_木_金_土_日_月_火_水_木_金_土_日_月_火_水_木_金_土_日_月_火_水_木_金_土_日_月_火_水'.split('') export const XX28_MING = '蛟_龙_貉_兔_狐_虎豹_獬_牛_蝠_鼠_燕_猪_貐_狼_狗_雉_鸡_乌_猴_猿_犴_羊_獐_马_鹿_蛇_蚓'.split('') 二十八星宿对应月数组的起始排序: var sort = '8_11_13_15_17_19_21_23_26_1_3_5'.split('_') var R = {} for (var i = 0; i < 12; i++) { var f = sort[i] - 1 R[CN_MONTH[i]] = [] for (let j = 0; j < 30; j++) { R[CN_MONTH[i]].push([XINGXIU28[(f + j) % 28], XX28_WX[(f + j) % 28], XX28_MING[(f + j) % 28]]) } } return R 由此可获得对于北京时间相对准确的二十八星宿值日列表,也符合现代观星所获得的二十八星宿值日结果。 请您参考,此致,敬礼。 2024-12-1房宿

您好,我的想法和您一样,二十八宿值日用月亮的位置,但由于二十八宿分度的问题,月亮位置分布不是平均的,还在验证是否准确。请问您有别的联系方式嘛

您好,抱歉,最近一直在写关于通书的内容,很久没看github。是这样的,二十八星宿分度其实从公元前四百二十一年至今,的确有变动,但也没有那么巨大。比较难的是确定在日期内查看日月躔宫。古代的记录方式是通过浑天仪观测记录后,每年会做一次总的统计,然后记录在黄历或者其他历书里。现代的做法,相对准确的话,还是需要先设定二十八宿的距星数据,作为该宿的定位,然后将该星的星历数据连同日月信息,进行视差和章动计算后,获取某日期的所在位置。如果只是简单的计算月亮的运行位置,来做时间推算,差距很大。目前相对通用的还是许先生的寿星万年历,可以计算太阳及月亮的轨道信息,方法还是有的,只是星历数据和验证比较花时间,也没有找到比较好的api数据来获取。所以我现在先去阅读了类编历法通书和协纪辨方书。先整理繁杂的神煞数据,通过整理,全部集成进来也就不到120k,压缩后会更小。但是计算黄历,几乎可以拥有目前所有通书的功能。为了能够确认每个吉凶日的正确性和历史性,我需要阅读大量文献,来标记它们的用法及各朝代更变。目前来说,有不到十个有争议的神煞,但是清代所修改的吉凶立成,变化不能说小,明清两代争议较多,还需要一段时间具体的整理。但就目前所整理出来的,我大概验证了一下吉凶选日,相对来说比目前的吉凶更准确,且具有体系。如果你想做二十八宿的计算,就目前我可能帮不上什么忙。但如果你想要做中国历法的信息数据,我倒是可以给你一些建议。二十八星宿的计算耗时费力,特别是作为天度经纬来集成中国古代天文的做法,起码目前我没有见到特别有用的代码。但如果你可以做出来,这可能是中国当代历史上相当有意义的一件事。

dooioomoo avatar Oct 11 '24 12:10 dooioomoo

谢谢您,邮件已收到!这是来自QQ邮箱的假期自动回复邮件。

liulin6631 avatar Oct 11 '24 12:10 liulin6631