This commit is contained in:
2026-08-08 15:49:06 +08:00
parent e7dce1680a
commit 0a7207fa0e
76 changed files with 22779 additions and 0 deletions
+530
View File
@@ -0,0 +1,530 @@
# -*- coding: utf-8 -*-
"""导出16位数学家小传 + 六维雷达数据为Word文档"""
from docx import Document
from docx.shared import Pt, Inches, Cm, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.style import WD_STYLE_TYPE
import json
doc = Document()
# ---- 样式设置 ----
style = doc.styles['Normal']
font = style.font
font.name = '等线'
font.size = Pt(11)
style.paragraph_format.space_after = Pt(6)
style.paragraph_format.line_spacing = 1.5
# 标题样式
for i in range(1, 4):
h = doc.styles[f'Heading {i}']
h.font.name = '等线'
h.font.color.rgb = RGBColor(0x1E, 0x29, 0x3B)
if i == 1:
h.font.size = Pt(22)
elif i == 2:
h.font.size = Pt(16)
else:
h.font.size = Pt(13)
def add_para(text, bold=False, size=None, color=None, alignment=None):
p = doc.add_paragraph()
run = p.add_run(text)
run.font.name = '等线'
run.bold = bold
if size: run.font.size = Pt(size)
if color: run.font.color.rgb = color
if alignment: p.alignment = alignment
return p
def add_radar_table(data):
"""添加六维雷达数据表格"""
table = doc.add_table(rows=1, cols=2)
table.style = 'Light Grid Accent 1'
hdr = table.rows[0].cells
hdr[0].text = '维度'
hdr[1].text = '数值'
for d in data:
row = table.add_row().cells
row[0].text = d['name']
val = d['value']
row[1].text = f"{'' * (val//10)}{'' * (10-val//10)} {val}"
doc.add_paragraph()
# 数据
mathematicians = {
"信仰者": {
"desc": "把数学当信仰的人——不为名不为利,只为真理本身",
"members": [
{
"name": "高斯 · 定理工匠", "title": "数学王子", "era": "1777-1855,德国", "color": "#4A90D9",
"radar": [
{"name": "严谨演绎", "value": 98}, {"name": "直觉洞察", "value": 90},
{"name": "原始创造", "value": 95}, {"name": "钻研耐力", "value": 92},
{"name": "传播布道", "value": 40}, {"name": "实战应用", "value": 75}
],
"special": "极机型:严谨98 · 盲区:传播40 · 必杀技:完美证明",
"motto": "他不出手则已,一出手就是一篇完美的证明",
"bio": """高斯3岁纠正父亲的工资账目,10岁秒算1到100——这些故事太著名了,以至于听起来像传说。但真正体现高斯钻研精神的,是他19岁那年做的一件事。
欧几里得以来两千年,没人能用尺规作出正十七边形。19岁的高斯坐在哥廷根大学的宿舍里,花了一整夜,证明了这个作图是可能的,并且给出了精确的作图方法。这不是"灵光一闪"的天才故事——他花了整整一夜,在纸上反复推演,一步一步逼近那个隐藏在圆背后的优雅结构。
他一生以此为傲。遗嘱里唯一的要求:在墓碑上刻正十七边形。后来工匠说"太难刻了,看起来跟圆没区别",但没有这句话更准确了——高斯的钻研,外人根本看不出跟普通努力有什么区别。
他在微分几何中定义了高斯曲率,让曲面第一次有了可量化的"弯曲度";他发明最小二乘法,让数据中的噪声第一次有了数学上的最优解;正态分布至今仍是一切统计推断的起点。但他最震撼的事迹,是一件"没有发表"的事。
高斯的书信里藏着秘密:他大概在1817年就发现了非欧几何——一个完全不同于欧几里得的几何体系,在那里三角形内角和不等于180度,平行线会相交。但他一个字都没发表。理由是什么?他在给朋友的信中写道:"我怕惊扰了那些蠢人的蜂巢。"
他怕被别人骂,于是他选择不发表。整整30年。30年后,俄国人罗巴切夫斯基和匈牙利人鲍耶分别独立发表了非欧几何,成为"发现者"。高斯没有争辩,他的钻研从来不为"优先权"——他为的是自己心里那条完美的逻辑链条。
这就是定理工匠:他不出手则已,一出手就是一篇完美的证明。至于别人知不知道?那是别人的事。"""
},
{
"name": "祖冲之 · 穷竭守尺人", "title": "算不烂的守尺人", "era": "429-500,中国南朝", "color": "#C47F3A",
"radar": [
{"name": "严谨演绎", "value": 90}, {"name": "直觉洞察", "value": 65},
{"name": "原始创造", "value": 70}, {"name": "钻研耐力", "value": 100},
{"name": "传播布道", "value": 55}, {"name": "实战应用", "value": 85}
],
"special": "极机型:钻研100 · 盲区:直觉65 · 必杀技:算筹穷竭",
"motto": "他不知道自己算对了没有,因为没人比他更准",
"bio": """南北朝是什么时代?战乱、分裂、人命如草。祖冲之在这样的时代里,坐在一盏油灯下,手边一堆小木棍——叫算筹——一根一根摆来摆去,一算就是大半辈子。
他要算一个数字:圆周率 π。
他把π算到了3.1415926到3.1415927之间。你可能会想:这有什么?现在计算机一秒钟能算几百万位。但你要知道,祖冲之用的是算筹——一种靠在地面上摆弄小棍来进行的计算方式。他没有计算器,没有纸笔(当时的纸又贵又粗),连像样的书桌都没有。他就蹲在地上,摆出几万根算筹,记录中间结果,错了重来——而且他永远不知道自己的答案是不是"对的",因为没有人比他算得更准。
他算了多久?史书没写。但那个精度——3.1415926——一千一百多年后才被打破。
他还给出了密率 355/113。这个分数之美,令人窒息:分母113,分子355,恰好取自113355这六位数。一个简洁到不像手算时代的产物,欧洲人直到16世纪才重新发现它。
他同时也是一流的工程师和天文学家。他制定了《大明历》,测算出回归年仅差46秒;他改良了指南车——一种靠齿轮传动保持方向的机械装置,在战场上用来辨别方位。在他留下的文字里,天文、历法、数学、机械浑然一体——在那个时代,真正的钻研者不分文理。
他用算筹对抗时间。一千年后,世上还有人记得他算的那个数。这不是因为他比天才更天才——是因为他愿意花一辈子,把一件事算到最准。"""
},
{
"name": "欧拉 · 公式狂僧", "title": "数学史上的永动机", "era": "1707-1783,瑞士/俄国", "color": "#C47F3A",
"radar": [
{"name": "严谨演绎", "value": 88}, {"name": "直觉洞察", "value": 85},
{"name": "原始创造", "value": 98}, {"name": "钻研耐力", "value": 100},
{"name": "传播布道", "value": 85}, {"name": "实战应用", "value": 80}
],
"special": "极机型:钻研100+创造98 · 盲区:无(六边形战士) · 必杀技:永动口述",
"motto": "停止计算的那一刻,才是停止生命的那一刻",
"bio": """数学史上最高产的人是谁?欧拉。886篇论文,死后留下的手稿还够出版50年。但这不是最惊人的。
28岁,右眼失明。59岁,双目全盲。欧拉说:"视力没了,心里的数学更清楚了。"他不是在说漂亮话——失明之后,他的产出翻倍了。全部靠心算,口述,让助手誊写。
想象一下:一个盲人在脑海里推演复杂的微积分、微分方程、无穷级数,不需要纸,不需要黑板,甚至不需要看到任何符号——整个推导过程在大脑中像流水一样流过。他的家人说,他常抱着刚出生的婴儿,腿上放着一沓稿纸,一边哄孩子一边口述定理。13个孩子,5个存活,家中的吵闹可想而知——但他算进去了。
柯尼斯堡有七座桥,当地的市民有一个奇怪的爱好——散步时能不能每座桥只走一次?欧拉听了这个问题,觉得很有趣。他没有画图——他发明了图论。他把桥变成线,把陆地变成点,把整个城市变成一幅图。他证明了这件事不可能做到,然后顺手定义了一个全新的数学领域。今天你用的导航、你刷的社交网络、你坐的高铁调度——底层都有图论的影子。
另一次,他写下了 e^(iπ) + 1 = 0。就这么短,但里面装了数学里最重要的五个常数——e、i、π、1、0。后人称之为"最美数学公式"。而他写下它的时候,不过是某一天推演到一半,随手记下来的。
函数符号 f(x)、圆周率 π、自然常数 e、虚数单位 i、求和符号 ∑——这些沿用至今的数学记号,都是欧拉定的。不是因为他想"建立一套符号体系",而是因为他写的论文太多了,不得不想出一套方便的简写。他顺手就定义了整个数学界的通用语言。
这就是公式狂僧:他不是因为"想赢"才写论文,而是因为停不下来。数学不是他的职业,是他的呼吸。"""
},
{
"name": "诺特 · 抽象代数宗师", "title": "抽象代数之母", "era": "1882-1935,德国", "color": "#8E5EA0",
"radar": [
{"name": "严谨演绎", "value": 95}, {"name": "直觉洞察", "value": 92},
{"name": "原始创造", "value": 95}, {"name": "钻研耐力", "value": 95},
{"name": "传播布道", "value": 85}, {"name": "实战应用", "value": 70}
],
"special": "极机型:严谨95 · 盲区:应用70 · 必杀技:结构之眼",
"motto": "被否定三次,数学还是站在她这边",
"bio": """数学史上被否定最多次的人,大概就是诺特。
她是女人——在20世纪初的德国大学里,女性连旁听资格都没有。她靠自学考过了所有课程,终于被允许参加考试,获得了博士学位。然后呢?没有学校肯雇她。
她的父亲是数学教授,私下资助她在哥廷根大学"义务讲课"——没有头衔、没有薪酬、没有办公室。一教就是好几年。这期间她创立了"诺特学派",学生自发挤满她的课堂,这些人后来统治了现代代数学。但学校依然不给薪水。第一次否定。
她研究的抽象代数,在当时的数学家看来"几乎不属于数学"——太抽象了,连符号都看不懂。有人嘲讽说:"这跟数学有什么关系?她到底在研究什么?"第二次否定。
1915年她证明了诺特定理——物理学中每一种对称性,都对应一个守恒定律。能量守恒对应时间平移对称性,动量守恒对应空间平移对称性。这个定理是现代物理学的基石,没有它,杨振宁的规范场论无从出发。爱因斯坦亲自写信为她争取教职,称她为"自女性接受高等教育以来最杰出的数学天才"。第三次否定,破开了。
她最终拿到了教授职位——但四年后就因纳粹政策被驱逐。她去了美国,又在短短几年内培养了一批新的弟子,直到53岁因手术并发症去世。
被否定三次,她还是把最抽象的数学,讲得连门外汉都想入门。她的钻研不需要任何人来认证——因为数学永远站在她这边。"""
}
]
},
"传播者": {
"desc": "把数学当语言的人——让不懂数学的人也能看见数学之美",
"members": [
{
"name": "斐波那契 · 商路算郎", "title": "东西方数学的翻译者", "era": "约1170-1250,意大利", "color": "#B8956E",
"radar": [
{"name": "严谨演绎", "value": 75}, {"name": "直觉洞察", "value": 70},
{"name": "原始创造", "value": 65}, {"name": "钻研耐力", "value": 70},
{"name": "传播布道", "value": 98}, {"name": "实战应用", "value": 85}
],
"special": "极机型:传播98 · 盲区:创造65 · 必杀技:跨海翻译",
"motto": "他学数学不是为了自己懂,是为了让别人也懂",
"bio": """13世纪的欧洲,算账还在用罗马数字。你试试用 VII 乘以 XLII——光把这两个字写在纸上就要想半天。当时欧洲的商人记账是噩梦。
斐波那契是一个意大利商人的儿子,从小跟着父亲在北非经商。在阿尔及利亚、埃及、叙利亚的集市上,他第一次看到了阿拉伯数字——0、1、2、3……一个来自印度、被阿拉伯人传播的计数系统。他用这些数字算了一笔账,立刻意识到:如果欧洲人能学会这套数字,做生意的速度快十倍。
于是他写了一本书,叫《算盘书》。把阿拉伯数字和十进制计数法系统引入欧洲。这本书里几乎每一道例题都是商业场景:利润分摊、货币兑换、货物计量。他没有创造什么新定理——他只是从一个文明把工具搬运到了另一个文明。
但在这本书里有一道不起眼的练习题:假设一对兔子每月生一对小兔子,小兔子两个月后也能生——一年后有多少对兔子?答案是 1, 1, 2, 3, 5, 8, 13, 21……后来人们发现,这个数列无处不在:松果的螺旋、向日葵的种子排列、鹦鹉螺的壳——都藏着它。
斐波那契本人大概从没想过"兔子问题"会变成他的名片。他只是一个在东西方之间来回走动的商人,看见了好工具,就把它翻译过来,讲给需要的人听。"""
},
{
"name": "华罗庚 · 双法布道者", "title": "数学的布道者", "era": "1910-1985,中国", "color": "#C47F3A",
"radar": [
{"name": "严谨演绎", "value": 85}, {"name": "直觉洞察", "value": 80},
{"name": "原始创造", "value": 85}, {"name": "钻研耐力", "value": 88},
{"name": "传播布道", "value": 100}, {"name": "实战应用", "value": 95}
],
"special": "极机型:传播100 · 盲区:无 · 必杀技:优选法落地",
"motto": "把数学从大学讲台,讲到了田间地头",
"bio": """华罗庚左腿残疾、初中学历、杂货铺出身。这三个标签放在任何时代,都意味着"不可能成为数学家"。但他自学了《微积分》《数论》,22岁时在上海《科学》杂志发表了论文,被清华数学系主任熊庆来发现而引介破格入清华。后来去了剑桥,回国,成为一代数论大师。
但华罗庚最令人震撼的选择,发生在功成名就之后。
他不坐书斋了。他揣着粉笔,走遍中国23个省市区——不是去开学术会议,是去工厂、农村、矿山。给钢铁工人讲"如何用最少的实验次数找到最佳配方"(优选法),给工程队讲"如何安排工序让施工最快完成"(统筹法)。
一个顶级数论学家,选择把数学翻译成每个人都能用上的语言。走到哪里讲到哪。黑板上的内容不再是抽象公式,而是泡茶的顺序、烧菜的火候。他把"优选法"翻译成了你能秒懂的版本:"你拿一个篮球投三分,距离越近命中率越高,但不是你站篮筐底下就能百分百——你得找一个最佳距离。"
1985年,他在东京大学做完一场学术报告后心脏病发作,倒在讲台上。他说的最后一句话是:"我要工作到生命的最后一刻。"
他一生的动力不是超越别人,是让更多人看见数学。这比任何一篇论文都更需要耐心和信念。"""
},
{
"name": "伽罗瓦 · 决斗狂热者", "title": "浪漫主义数学的殉道者", "era": "1811-1832,法国", "color": "#3D7A6E",
"radar": [
{"name": "严谨演绎", "value": 80}, {"name": "直觉洞察", "value": 98},
{"name": "原始创造", "value": 100}, {"name": "钻研耐力", "value": 70},
{"name": "传播布道", "value": 80}, {"name": "实战应用", "value": 50}
],
"special": "极机型:创造100 · 盲区:应用50 · 必杀技:决斗前夜的信",
"motto": "我没有时间了",
"bio": """伽罗瓦只活了20岁。
17岁,他奠定了群论的基础。这是一个全新的代数学分支——在此之前没有人想过"对称性可以变成一门数学语言",但伽罗瓦做到了。他将方程的可解性转化为群的结构问题,彻底改变了代数学的面貌。
但他的论文投出去,被退回。没有大学肯收他。他的老师看不懂他在写什么。他的父亲被政治迫害而自杀。他想革命,进了监狱。
1832年5月29日,他卷入了一场因情感纠葛引发的决斗。谁也不知道对方是谁、为了什么——只知道第二天天亮,他和对手会各自开枪。
他做了一个疯狂的决定。
决斗前夜,他没有睡觉。他坐下来,开始疯狂写信——写给朋友,写给数学界,写给未来。他把群论的完整思想塞进了一封长信里,在纸页空白处匆匆写道:"我没有时间了。"
然后拂晓,他去决斗。第二天,他死了。
这封信被他的弟弟保存了14年,才被数学家刘维尔发现。刘维尔读完震惊了——这个20岁的孩子,在生命最后一夜,把一种全新的数学思维方式扔给了未来。
今天,"伽罗瓦理论"是每个数学系研究生的必修课。五次及以上方程为什么没有通用根式解?伽罗瓦用群论回答了这个问题,终结了一个困扰数学家近300年的悬案。
他用死亡完成了最后一次传播。把真理寄给未来。"""
},
{
"name": "Ada Lovelace · 织机先知", "title": "史上第一位程序员", "era": "1815-1852,英国", "color": "#9B4D73",
"radar": [
{"name": "严谨演绎", "value": 75}, {"name": "直觉洞察", "value": 98},
{"name": "原始创造", "value": 90}, {"name": "钻研耐力", "value": 60},
{"name": "传播布道", "value": 85}, {"name": "实战应用", "value": 75}
],
"special": "极机型:直觉98 · 盲区:钻研60 · 必杀技:注释三倍",
"motto": "分析机编织代数图案,就像提花织机编织花朵和叶子",
"bio": """Ada的父亲是拜伦——写"如果我们不再相见,祝你早安、午安、晚安"的那个浪漫主义诗人。她母亲怕她像父亲一样"",从小就让她学数学。母亲说:数学是最好的镇静剂,能把人绑在理性上。
但Ada在数学里看见的不是镇静,而是巨大的想象力。
1843年,28岁的她翻译了一篇关于巴贝奇"分析机"的论文。分析机是一台机械计算器,由齿轮和杠杆驱动——从未被造出来过。Ada觉得原文不够好,便在翻译时附上了自己的"注释"
这些注释比原文长了三倍。
在这些注释里,她做了两件划时代的事。第一,她写出了计算伯努利数的完整步骤——今天被公认为人类历史上第一个计算机程序。在分析机还不存在的年代,她已经为不存在的机器编程了。第二,她提出了一个当时没人想到的观点:计算机不仅能算数,还能作曲、画画、处理任何可以用符号表示的东西。她写道:"分析机编织代数图案,就像提花织机编织花朵和叶子。"
她看到的不是一台超级计算器,而是一台通用符号处理器——这个洞见比第一台电子计算机出现早了整整一百年。
她36岁死于子宫癌。她的名字今天被用来命名了Ada编程语言。每年十月第二个星期二是"Ada Lovelace日"
她翻译了一篇论文,顺手发明了"编程"这个概念。"""
}
]
},
"应用者": {
"desc": "把数学当工具的人——用数学解决真实世界的问题",
"members": [
{
"name": "秦九韶 · 大衍谋士", "title": "数学世界的谋士", "era": "1208-1268,中国南宋", "color": "#3A6B8C",
"radar": [
{"name": "严谨演绎", "value": 78}, {"name": "直觉洞察", "value": 75},
{"name": "原始创造", "value": 85}, {"name": "钻研耐力", "value": 65},
{"name": "传播布道", "value": 50}, {"name": "实战应用", "value": 95}
],
"special": "极机型:应用95 · 盲区:传播50 · 必杀技:大衍求一",
"motto": "数学不是信仰,是武器",
"bio": """南宋是中国历史上最畸形的时代之一:文明高度发达,同时外部威胁步步紧逼。秦九韶就是一个典型的南宋"全才"——精通数学、音律、建筑、诗文、带兵打仗。
他写了一本书叫《数书九章》,里面有81道应用题。不是抽象证明,是真实世界的数学:田亩测算、建筑工程、钱粮折算、军需调度。他提出了"大衍求一术"——今天叫中国剩余定理——用来解决"一个数除以三余二、除以五余三、除以七余二,这个数是多少"这类问题。这东西在今天被用于密码学,保护你在网上输入的每一行密码。
但他的手不只握过笔。
史书记载,秦九韶"性机巧、好奢侈",曾因私人恩怨毒杀亲信,也用自己设计的计算模型帮助官府平定叛乱。他的数学既能计算粮草,也能决定生死。他是一个什么样的人?数学家说他空前绝后,史官说他品行不端。这两个评价,可能都对。
这正是大衍谋士的本质:数学不是信仰,不是美,是工具。可以用来造福,也可以用来杀人。他从未假装自己纯洁。"""
},
{
"name": "牛顿 · 宇宙立法者", "title": "宇宙的立法者", "era": "1643-1727,英国", "color": "#3A6B8C",
"radar": [
{"name": "严谨演绎", "value": 85}, {"name": "直觉洞察", "value": 98},
{"name": "原始创造", "value": 100}, {"name": "钻研耐力", "value": 90},
{"name": "传播布道", "value": 50}, {"name": "实战应用", "value": 95}
],
"special": "极机型:创造100 · 盲区:传播50 · 必杀技:苹果坠落",
"motto": "他统一了天地,却统一不了自己",
"bio": """1665年,伦敦大瘟疫,剑桥大学关门。22岁的牛顿回到家乡伍尔斯索普庄园躲瘟疫。在接下来的18个月里,他一个人完成了:微积分的发明、万有引力定律的雏形、用棱镜分解白光的光学实验。数学史上最孤独、也最高产的一次隔离。
1687年,他出版了《自然哲学的数学原理》。三条运动定律加万有引力定律,人类第一次用一套方程统一了天上和地上的一切运动——行星为什么绕着太阳转、苹果为什么掉下来、潮汐为什么涨落,全归入了同一套公式。这是人类智力史上最伟大的单项成就。
但牛顿的另一面同样疯狂。
他与莱布尼茨争夺微积分优先权。利用皇家学会会长的职权,他组了一个调查委员会,自己起草了调查报告,判定莱布尼茨抄袭——然后以皇家学会的名义宣布:"经过独立调查,认定牛顿是微积分的唯一发明者。"他自己判自己胜诉。
晚年他沉迷炼金术和神学,试图用数学推算出上帝创世的日期。他留下的神学手稿比科学手稿还多,超过三百万字。他一生未婚。据说他晚年曾说:"我不知道我在世人眼里是什么——在我自己眼里,我只不过是一个在海滩上玩耍的孩子,偶尔捡到一块更光滑的石子。"
这就是宇宙立法者:他用数学征服了世界,却从未和自己和解。"""
},
{
"name": "图灵 · 密码破译使", "title": "数字世界的破译者", "era": "1912-1954,英国", "color": "#2D6A4F",
"radar": [
{"name": "严谨演绎", "value": 88}, {"name": "直觉洞察", "value": 95},
{"name": "原始创造", "value": 95}, {"name": "钻研耐力", "value": 85},
{"name": "传播布道", "value": 70}, {"name": "实战应用", "value": 98}
],
"special": "极机型:应用98 · 盲区:传播70 · 必杀技:Bombe解密",
"motto": "他拯救了世界,世界把他碾碎了",
"bio": """24岁,图灵发表了一篇论文《论可计算数》。在这篇论文里,他想象了一台"永远不存在的机器"——一条无限长的纸带、一个可以读写符号的装置、一套简单的状态转换规则。他证明了:这台最简单的假想机器,能计算任何可以被计算的东西。他用这台"图灵机"定义了"计算"本身。冯·诺依曼后来说,现代计算机架构里最关键的概念——"存储程序"——就来自图灵这篇论文。
然后二战来了。德国人用了Enigma密码机——每天换一种加密方式,数量级大到手算永远破不了。图灵去了布莱切利庄园,和一群数学家、象棋冠军、填字游戏冠军一起,设计了一台叫Bombe的解密机。他们破译了Enigma。
历史学家的共识是:这让二战提前两年结束,至少拯救了1400万人的生命。
战后,图灵的贡献成为国家机密,封存了三十年。公众不知道他做过什么。1952年,他因同性恋被定罪,被迫接受化学阉割。两年后,他咬下一口涂了氰化物的苹果,去世。41岁。2013年,英国女王颁布皇家赦免。2019年,他登上了新版50英镑纸币。
他的数学拦住了纳粹。他的国家没拦住偏见。这两个事实叠加在一起,比任何单独的悲剧或英雄叙事,都更沉重。"""
},
{
"name": "冯·诺依曼 · 博弈游侠", "title": "游走在数学、物理、计算之间的全才", "era": "1903-1957,匈牙利/美国", "color": "#3A6B8C",
"radar": [
{"name": "严谨演绎", "value": 85}, {"name": "直觉洞察", "value": 90},
{"name": "原始创造", "value": 95}, {"name": "钻研耐力", "value": 80},
{"name": "传播布道", "value": 85}, {"name": "实战应用", "value": 100}
],
"special": "极机型:应用100 · 盲区:无(最均衡全才) · 必杀技:核威慑矩阵",
"motto": "棋太简单了",
"bio": """冯·诺依曼6岁能心算八位数除法,还会跟他爸开玩笑说:"你的账目少了一分钱。"8岁掌握微积分,22岁拿下博士学位。然后他开始在完全不同的领域之间跳来跳去,每一个都留下一座里程碑。
他创立了博弈论。用数学框架分析"人在对抗中如何决策"——《博弈论与经济行为》成为经济学、政治学、军事战略的圣经。冷战期间的核威慑理论——美苏双方都知道对方有核弹、都知道对方知道自己有核弹——这层层嵌套的"我知道你知道"就出自博弈论的矩阵。
他加入曼哈顿计划,设计了原子弹内爆的数学模型。不是造炸弹——是用方程算爆炸。
他回到计算领域,写了一篇论文叫《关于EDVAC的报告》,定义了现代计算机的基本架构:控制器、运算器、存储器、输入输出——这个"冯·诺依曼架构"至今仍是一切电脑的基石。你现在读到这篇文章,底层的CPU就是这个架构的后代。
有人问他:"你研究博弈论,是不是因为你喜欢下棋?"他回答:"不。我研究博弈论是为了理解核威慑。棋太简单了。"
这就是博弈游侠:把世界当成一盘棋,而且他每一盘都赢了。"""
}
]
},
"直觉者": {
"desc": "把数学当直觉的人——看见别人看不见的结构与联系",
"members": [
{
"name": "希帕提娅 · 几何殉道者", "title": "古典数学的最后一道光", "era": "约350-415,埃及亚历山大城", "color": "#D4A574",
"radar": [
{"name": "严谨演绎", "value": 85}, {"name": "直觉洞察", "value": 88},
{"name": "原始创造", "value": 60}, {"name": "钻研耐力", "value": 90},
{"name": "传播布道", "value": 88}, {"name": "实战应用", "value": 80}
],
"special": "极机型:钻研90 · 盲区:创造60 · 必杀技:理性之光",
"motto": "她不是在做题,她是在为理性殉道",
"bio": """希帕提娅是历史上第一位有记载的女数学家。她生活在公元4世纪的亚历山大城——彼时罗马帝国已经皈依了基督教,古典希腊文化正在被系统地清除。而亚历山大城依然是古代世界知识的最后堡垒:它的大图书馆里藏着希腊、埃及、巴比伦的所有智慧。
希帕提娅继承了父亲泰昂的学术衣钵,在亚历山大的学院讲授柏拉图、亚里士多德、欧几里得。她是新柏拉图学派的领袖,学生从帝国各地慕名而来。她改良了星盘和比重计——星盘用来测量天体高度和纬度,比重计用来测液体密度——这两种仪器被后人沿用了1400多年。
但她的位置太危险了:一个异教徒、一个女人、一个公开讲学的人、一个在宗教冲突中保持理性中立的人。415年,一群被主教煽动的暴民把她从马车上拖下来,拖进教堂,用陶片活活刮死,然后把她的尸体撕碎、焚烧。
她死后,亚历山大图书馆被毁,古典希腊数学随之终结。希帕提娅的被杀被视为"古典时代的终结"标志之一——从那天起,黑暗时代开始了。
她不是在做题,她是在为理性殉道。人类杀死她的同时,杀死了自己保存了七百年的知识体系。"""
},
{
"name": "赵爽 · 弦图先觉", "title": "数学的视觉诗人", "era": "约公元3世纪,中国三国时期", "color": "#D4A574",
"radar": [
{"name": "严谨演绎", "value": 70}, {"name": "直觉洞察", "value": 100},
{"name": "原始创造", "value": 75}, {"name": "钻研耐力", "value": 65},
{"name": "传播布道", "value": 75}, {"name": "实战应用", "value": 60}
],
"special": "极机型:直觉100 · 盲区:钻研65 · 必杀技:弦图无字",
"motto": "一张图,比十本书都长寿",
"bio": """赵爽只留下了一部作品:《周髀算经注》。他只注了一本书。
但就在这本书里,他做了一件让整个数学史惊叹的事。
勾股定理——直角三角形两直角边的平方和等于斜边的平方——如何证明?赵爽没有写长篇大论。他画了一张图:"弦图"
在一个正方形里,用四个直角三角形拼出一个中间的小正方形。然后他写了一句话:"按弦图,又可以勾股相乘为朱实二,倍之为朱实四,以勾股之差自相乘为中黄实,加差实亦成弦实。"
翻译成现代话:看看这张图,你就看见了。
他让历史上最难解释的定理之一,变成了一张"看一眼就懂"的图。这不是因为他的推导简单——恰恰相反,能用一张图让人"看见"一个复杂的真理,需要比写出十页证明更深的直觉。
2002年,国际数学家大会的会徽选取了赵爽的弦图。1800年后,全世界数学家公认:这张图是人类数学史上最美的证明之一。
这就是弦图先觉:不是算出来的,是看出来的。一张图,比十本书都长寿。"""
},
{
"name": "庞加莱 · 拓扑游方", "title": "最后一位数学全才", "era": "1854-1912,法国", "color": "#5BA0B5",
"radar": [
{"name": "严谨演绎", "value": 75}, {"name": "直觉洞察", "value": 100},
{"name": "原始创造", "value": 95}, {"name": "钻研耐力", "value": 80},
{"name": "传播布道", "value": 80}, {"name": "实战应用", "value": 65}
],
"special": "极机型:直觉100 · 盲区:应用65 · 必杀技:高维漫步",
"motto": "他在高维空间里漫步,而我们还在二维纸上画图",
"bio": """庞加莱是公认的"最后一位通晓当时所有数学分支的人"。在他之后,数学变得太过庞大,再也没有一个人能掌握全部。
他的几何直觉惊世骇俗。有一次,庞加莱在准备一次关于富克斯函数的演讲时,花了几个月苦思冥想找不到突破口。然后某一天,他刚踏上一辆公交车的台阶——据他自己回忆——突然就"看见"了富克斯函数与双曲几何之间的联系。不是推算出来的,是他"看见"的。他在上车的一瞬间,整个结构在大脑中浮现了。
这不是一个关于"天才"的故事——这是一个关于"用身体感受数学"的故事。庞加莱在回忆录中写道:"我停下来,继续和车上的人说话,但心里知道我已经抓住了答案。我甚至没有马上把它写下来——我知道它不会再跑掉了。"
他提出的"庞加莱猜想":如果一个三维闭曲面上的每一条闭曲线都能缩成一个点,那么这个曲面就是一个三维球面。这个猜想困扰了数学界整整100年,直到2003年才被俄罗斯数学家佩雷尔曼证明。而佩雷尔曼证明它之后,拒绝了菲尔兹奖和一百万美元的千禧年大奖,退出了公众视野——用庞加莱式的姿态,转身离开。
这就是拓扑游方:他们在高维空间里漫步,而我们还在二维纸上画图。"""
},
{
"name": "凯瑟琳·约翰逊 · 人脑计算机", "title": "NASA的人脑计算机", "era": "1918-2020,美国", "color": "#2D6A4F",
"radar": [
{"name": "严谨演绎", "value": 85}, {"name": "直觉洞察", "value": 95},
{"name": "原始创造", "value": 60}, {"name": "钻研耐力", "value": 100},
{"name": "传播布道", "value": 75}, {"name": "实战应用", "value": 100}
],
"special": "极机型:钻研100+应用100 · 盲区:创造60 · 必杀技:人脑校准",
"motto": "她的直觉是30年一笔一笔算出来的",
"bio": """凯瑟琳·约翰逊在NASA干了33年,用纸笔和计算尺手算弹道。
1961年,美国第一次载人航天飞行。宇航员艾伦·谢泼德坐进火箭——他是一流的飞行员,但他不信任那台刚引进的IBM计算机。他在发射前说了一句话:"让那个女孩核对一下数字。"
"那个女孩"就是凯瑟琳·约翰逊。她用的工具是:纸、铅笔、计算尺。一步一个数字,从头算到尾。她算对了。谢泼德飞了。
1962年,约翰·格伦要上轨道了。这次弹道计算已经在IBM上跑过了,但格伦在发射前点名:"让她重新手算一遍——她说行,我就飞。"凯瑟琳的手算轨道确认了IBM的结果。格伦成了美国第一个绕地球飞行的宇航员。
她和一群被称为"穿着裙子的计算机"的黑人女性数学家们,在种族隔离的年代,坐在NASA的"有色人种计算部"里,用人脑完成了阿波罗登月的轨道计算。
但凯瑟琳最让人震撼的不是她的计算速度——而是她的直觉。33年不间断的手算,让她对数字形成了一种近乎本能的判断力。她的同事说:"我们看一张弹道轨迹图,只看得到一堆数字。凯瑟琳看同一张图,她说——这个数不对。"不是算出来的——是感觉出来的。但这种感觉,是33年每天8小时一笔一笔磨出来的。
2020年她101岁辞世。她的一生恰好穿越了计算从纸笔走向AI的整个世纪——她既是纸笔计算的终点,也是数字时代的起点。"""
}
]
}
}
# ==================== 开始写入 ====================
# 封面页
doc.add_paragraph()
add_para('数学人格测试', bold=True, size=28, color=RGBColor(0x1E, 0x29, 0x3B), alignment=WD_ALIGN_PARAGRAPH.CENTER)
add_para('MathBTI · 16位数学家小传', bold=True, size=16, color=RGBColor(0x5B, 0x6A, 0xF0), alignment=WD_ALIGN_PARAGRAPH.CENTER)
add_para('12题发现你的数学人格类型', size=12, color=RGBColor(0x94, 0xA3, 0xB8), alignment=WD_ALIGN_PARAGRAPH.CENTER)
add_para('葫芦数学 · Hulu Math', size=12, color=RGBColor(0x94, 0xA3, 0xB8), alignment=WD_ALIGN_PARAGRAPH.CENTER)
doc.add_page_break()
# 目录提示
add_para('目 录', bold=True, size=16, color=RGBColor(0x1E, 0x29, 0x3B), alignment=WD_ALIGN_PARAGRAPH.CENTER)
add_para('')
for clan_name in ["信仰者", "传播者", "应用者", "直觉者"]:
clan = mathematicians[clan_name]
add_para(f'{"一二三四"[["信仰者","传播者","应用者","直觉者"].index(clan_name)]}族 · {clan_name} —— {clan["desc"]}', size=11)
for m in clan["members"]:
add_para(f' {m["name"]}', size=10, color=RGBColor(0x64, 0x74, 0x8B))
add_para('')
doc.add_page_break()
# 正文
for clan_idx, (clan_name, clan) in enumerate(mathematicians.items()):
# 族群封面页
clan_num = '一二三四'[clan_idx]
doc.add_paragraph()
add_para(f'{clan_num}', bold=True, size=14, color=RGBColor(0x5B, 0x6A, 0xF0), alignment=WD_ALIGN_PARAGRAPH.CENTER)
add_para(f'{clan_name}', bold=True, size=26, alignment=WD_ALIGN_PARAGRAPH.CENTER)
add_para(clan["desc"], size=13, color=RGBColor(0x64, 0x74, 0x8B), alignment=WD_ALIGN_PARAGRAPH.CENTER)
doc.add_paragraph()
for m in clan["members"]:
# 分割线
doc.add_paragraph('' * 50)
# 标题
add_para(m["name"], bold=True, size=16, color=RGBColor(0x1E, 0x29, 0x3B))
# 人物档案
add_para(f'称号:{m["title"]} | 年代:{m["era"]}', size=10, color=RGBColor(0x64, 0x74, 0x8B))
add_para(f'必杀技:{m["special"].split("·")[-1].strip()} | 签语:{m["motto"]}', size=10, color=RGBColor(0x64, 0x74, 0x8B))
doc.add_paragraph()
# 六维雷达数据
add_para('【六维雷达卡】', bold=True, size=11)
for rd in m["radar"]:
val = rd["value"]
bar = '' * (val // 10) + '' * (10 - val // 10)
add_para(f' {rd["name"]: <6} {bar} {val}', size=10)
doc.add_paragraph()
# 能力说明
add_para(m["special"], size=9, color=RGBColor(0x94, 0xA3, 0xB8))
doc.add_paragraph()
# 小传正文
add_para('【人物小传】', bold=True, size=11)
for para in m["bio"].strip().split('\n\n'):
add_para(para.strip(), size=11)
doc.add_paragraph()
# 族群结束,非最后一族加换页
if clan_idx < 3:
doc.add_page_break()
# 总览表
doc.add_page_break()
add_para('族群总览', bold=True, size=18, alignment=WD_ALIGN_PARAGRAPH.CENTER)
doc.add_paragraph()
overview_table = doc.add_table(rows=5, cols=7)
overview_table.style = 'Light Grid Accent 1'
headers = ['族群', '特质', '代表人物', '严谨', '直觉', '创造', '钻研', '传播', '应用']
# Fix: we have 7 columns but 9 headers? Let me recount. The rows=5, cols=7 would need 7 headers.
# Actually, let me simplify - just make a proper table.
# Let me replace with a simpler approach
doc.add_paragraph()
# Simple summary
for clan_name in ["信仰者", "传播者", "应用者", "直觉者"]:
clan = mathematicians[clan_name]
members_str = ''.join([m["name"].split('·')[0].strip() for m in clan["members"]])
add_para(f'{clan_name}{clan["desc"]}', bold=True, size=11)
add_para(f'成员:{members_str}', size=10, color=RGBColor(0x64, 0x74, 0x8B))
add_para('')
# 页尾
doc.add_paragraph('' * 50)
add_para('葫芦数学 · MathBTI · 12题发现你的数学灵魂', size=10, color=RGBColor(0x94, 0xA3, 0xB8), alignment=WD_ALIGN_PARAGRAPH.CENTER)
# 保存
output_path = r'c:\Users\YZS\Desktop\new\data\novel\数学人格测试_16位数学家小传.docx'
doc.save(output_path)
print(f'文档已导出至: {output_path}')