Skip to content

Latest commit

 

History

History
193 lines (161 loc) · 9.51 KB

README.md

File metadata and controls

193 lines (161 loc) · 9.51 KB

命运(Fate)

Go GoDoc license Go Report Card

现代科学取名工具(A modern science chinese name create tool)

Github第一个开源的中文取名项目(The first chinese name create tool in github)

简介

一个好名字伴随人的一生,FATE让你取一个好名字。
TIPS: 本程序适用于单个姓或双个姓,起2个名的情况。(如:独孤**,李张**,张**,王**)

关于版本:

除非稳定版本会单独出release,以后每次提交都会生成二进制文件的pre_release提供下载.
最新自编译版本
Release版本:v3.1.1
最新数据库文件:20200331

关于起名算法

FATE使用了以下算法,按照每种算法的准确度,使用程度也有高有低,不会一概而否,也不会偏向单独某种算法.

周易卦象  
大衍之数  
三才五格  
喜用神(平衡用神)  
生肖用字  
八字吉凶  

接口调用生成姓名

      使用前请导入database的数据(测试字库已基本完善,保险起见生成姓名后可以去一些测名网站验证下)
      //加载配置(具体参数参考example/create_a_name)
    	cfg := config.Default()
      //生日:
    	born := chronos.New("2020/01/23 11:31")
      //姓氏:
      lastName := "张"
      //第一参数:姓氏
      //第二参数:生日 
    	f := fate.NewFate(lastName, born.Solar().Time(), fate.ConfigOption(cfg))
    
    	e := f.MakeName(context.Background())
    	if e != nil {
    		t.Fatal(e)
    	}

使用二进制文件在运行前务必把zoneinfo.zip下载并和二进制文件放在一起(不要解压),不然会报错.

二进制可执行文件生成姓名

       //没有安装go环境的请下载master下的zoneinfo文件和fate二进制文件放一起
       //生成配置文件(可修改数据库,及一些基本参数):
       fate.exe init
       //输出姓名:
       fate.exe name -l 张 -b "2020/02/06 15:04"

常见问题:

1. Q: count total error:The system cannot find the path specified
   A: zoneinfo缺失导致的时间转换失败问题(一般发生在windows环境下),
        下载上面的zoneinfo文件并放到执行文件相同的目录下即可解决.
        最新版会检查根目录,已无需重新init.
        地址:https://github.com/godcong/fate/blob/master/zoneinfo.zip

2. Q: 如何导入数据
   A: 
      //链接到mysql数据库
      mysql -u用户名 -p密码
      //创建数据库
      CREATE schema `fate` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
      //使用fate数据库
      use fate;
      //导入数据库文件
      source /path/to/sql/file;
    

版本履历:

第一版: 大部分是手动工作,现已废弃

第二版: 可自动生成名字字符 + 手工筛选

第三版(开发中): 每次生成一个名字,并目标喜用神,生肖喜忌,月历转换,生成八字等功能
八字计算: https://github.com/godcong/chronos
字典数据: https://github.com/godcong/excavator
数据库重新切回mysql,mongo虽然插入简单,检索语法太繁琐了...

第四版(计划中): 优化算法,调整接口,数据库,完善文档以及修复一些bug.

第五版(计划中): 图形界面UI,api接口调用.

第六版(计划中): 占坑备用

第七版(计划中): 通过AI,大数据匹配算法,取出更好更佳的名字.

其他(补充资料)

起名算法:
算法(进度) 备注
五格(95%) 暂用字库已补全
三才(95%) 暂用字库已补全
八字(100%) 喜用神完成, 补八字完成
卦象(100%) 算法完成,起卦完成,吉凶过滤完成。
生肖(30%) 生肖获取完成,字库筛选待完成
天运(TODO)

立春:
2019年02月04日 11:14:14
2020年02月04日 17:03:12
2021年02月03日 22:58:39
2022年02月04日 04:50:36
2023年02月04日 10:42:21
2024年02月04日 16:26:53
2025年02月03日 22:10:13
生肖按八字算从立春开始算起,不到时间则为上一年。

1、配合八字命理的喜忌,是起名字的核心所在。
八字是每个人出生的年、月、日、时,小孩取名的第一步即是分析八字,了解命理五行所缺并找出喜用神,并且据此起名,这是最关键的核心,所有姓名的吉凶预测与取名,都以此为准。
2、名字用字字义务必吉祥
中国文字的魅力在于,每个方块字不仅都有其本身的含义,而且还有其特殊的周易诱导含义,名字在很多时候它还会影响到人性格的形成,正所谓“名如其人”。 所以一个好的名字,务必用字字义吉祥。 宝宝起名字确实需要考虑很多因素,不仅要考虑读音、字形以及各种禁忌更重要的是要考虑宝宝的生辰八字,因此给孩子起名还是找专家比较好。 现在这方面比较知名的应该是温雅居士了,温雅居士在宝宝起名方面有着十几年的经验独创易学起名法:排八字、看五行、测五格、配三才、合属相、想寓意、听音律、写字形,在业界目前应该是比较权威的了。 取名是需要非常系统考虑的,不能只考虑读音一个方面,温雅居士采用的排八字、看五行、测五格、配三才、想寓意、听音律、写字形的综合起名法非常喜欢。
3、五格数理,特别是主格的数理要为吉数。
在姓名学中,数理产生许多福祸吉凶的灵动力,对人生影响很大。 这跟单个姓名用字的笔划好坏无关,准确的福祸吉凶是按照特殊方式计算数理的。
4、三才配置一定不可以相克。
三才配置在姓名学中,占有很大的分量。三才配置指的是天格、人格、地格之间的关系。中国传统文化中有顺应天时、地利、人和的行事哲理; 测名过程中,有很多姓名数理不错,但是三才配置不佳,大多表现为运气反复,遇事受阻碍,且感情及财运不好。 三才配置相生相克的关系定吉凶,同样也影响着一个人事业成功率的高低。
5、五格配置在姓名学中占有主要位置。
五格配置是指天格、地格、人格、外格、总格共五格之间的关系。 天格是由祖先流传而来,单独出现对人生没有多大影响;人格是姓名剖象数理的中心所在,对人生的影响最大; 人格与地格结合的数理则为基础运。地格主要是36岁前的人生,也叫前运力,外格代表人的外围,吉凶无谓。总格是36岁以后的人生,也是后运力。
6、小孩取名字时还要结合命主的出生方位、父母资料等因素,以达到事半功倍的效果。
其实任何事情道理都是一样的,只有适合自己的才是最好的。

周易卦象编码参考:

六十四卦

䷀ ䷁ ䷂ ䷃ ䷄ ䷅ ䷆ ䷇ ䷈ ䷉ ䷊ ䷋ ䷌ ䷍ ䷎ ䷏

䷐ ䷑ ䷒ ䷓ ䷔ ䷕ ䷖ ䷗ ䷘ ䷙ ䷚ ䷛ ䷜ ䷝ ䷞ ䷟

䷠ ䷡ ䷢ ䷣ ䷤ ䷥ ䷦ ䷧ ䷨ ䷩ ䷪ ䷫ ䷬ ䷭ ䷮ ䷯

䷰ ䷱ ䷲ ䷳ ䷴ ䷵ ䷶ ䷷ ䷸ ䷹ ䷺ ䷻ ䷼ ䷽ ䷾ ䷿

八卦

☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷

四象

⚌ ⚍ ⚎ ⚏

两仪

⚋⚊

为什么要集六大派与一体?
看下下面这个统计,每一派的取名法其实都有其不足之处.
• 笔划派: 认为笔划全吉,人生就大吉。其实准确度仅12.5 %
• 三才派: 完全不管笔划吉凶,只认为天地人三才五行相生,人生就大吉。其实准确度仅56.6 %。
• 补八字: 完全不管笔划吉凶,只认为名字补到先天八字命盘欠缺,人生就大吉。其实准确度非常低。
• 卦象派: 完全不管笔划吉凶,只认为名字求出卦象漂亮,人生就大吉。其实准确度仅40.26 %。
• 天运派: 完全不管笔划吉凶,只认为名字不要被出生年天运五行所剋,人生就大吉。其实准确度仅25.32 %。
• 生肖派: 完全不管笔划吉凶,只认为生肖用对字形,人生就大吉。其实准确度仅27.55 %。

PS:最近看到有人别出心裁说三才不准,并举了一些名人的例子.
然后他倒过来算,发现很符合,很正确.
那我也就呵呵了,按准确度来算,非正即反.
你倒过来算,不准的变准了.那原来准的那些不就不准了.
在我看来事分阴阳,而这接近一半的准确度则恰到其好处.

所以,遵照传统为自己的宝宝起一个中正平和的名字才是最好的.
从概率论的角度来讲,相交得到的最终结果.其准确度最高.
所以,单纯得拿一种或两种方法来取名是不可取的.
尽量符合多种的名字才是最佳,但并不一定需要全中.
Fate的本意是让起名变得简单,且能取到一个好的名字.
有人会花个十几,几十万取一个名字(周围的真人真事),
但是这个名字好不好你却未必知道.
算法开源就是为了让每个人知道,
这个名字取名过程的来龙去脉.