几何专家 Java 版并未消亡:开源社区的持续守护与重生
几何专家(Geometry Expert,简称 GEX)是一款具有里程碑意义的几何定理自动证明软件。近日,笔者在研究自动推理领域时发现,尽管这款诞生于上世纪 90 年代的工具已鲜少被主流媒体报道,但它在开源社区中却保持着惊人的生命力。2025 年 7 月发布的 0.87 版本更是实现了浏览器端直接运行的突破,让这个经典工具焕发新生。
一、学术传承:从中国走向世界的几何证明神器
1.1 原创团队的奠基性工作
几何专家的故事始于 1994 年,由美国 Wichita 州立大学的周咸青教授、中科院系统所的高小山研究员以及中科院院士张景中共同发起。这款软件凝聚了中国学者在几何自动推理领域的前沿成果,包括著名的吴方法(Wu's Method)、全角法(Full Angle Method)、面积法以及 Groebner 基方法等[1]。
2004 年,周咸青团队在 Wichita 州立大学启动了 Java 版的重写工程,命名为 JGEX(Java Geometry Expert)。相较于早期的原生版本,Java 版不仅实现了跨平台能力,更在证明可视化方面取得了突破性进展。
1.2 三重身份的融合
JGEX 的独特之处在于它将三大功能无缝集成:
| 功能模块 | 说明 |
|---|---|
| 动态几何软件(DGS) | 支持交互式作图与动态拖拽,类似 Geometer's Sketchpad 和 GeoGebra |
| 自动定理证明器(GTP) | 集成吴方法、全角法、演绎数据库法(GDD)等多种证明算法 |
| 证明可视化工具 | 以图形化方式呈现证明步骤,支持证明树的交互式探索 |
二、开源接力:Zoltán Kovács 团队的持续维护
2.1 维护权的传承
原版 JGEX 的最新官方版本号曾停留在 0.70 左右,此后原作者团队未再发布大的更新。然而,这并非故事的终点。奥地利林茨约翰内斯·开普勒大学的 Zoltán Kovács 教授及其团队 fork 了该项目,并在 GitHub 上持续维护[2]。
这一维护分支自 2023 年起进入活跃开发期,发布节奏稳定,功能改进显著:
- 2023 年 12 月(0.81):构建系统迁移至 Gradle,引入 gettext 国际化支持,可翻译文本从 500 条扩展至 800 余条
- 2024 年 2 月(0.82):德语和匈牙利语翻译大幅改进,代码清理与自动化测试框架初步建立
- 2024 年 3 月(0.83):GDD 证明图着色优化,引入基于规则类型的颜色编码(粉色表示假设、绿色表示平行线相关、蓝色表示垂直线相关等)
- 2024 年 5 月(0.84):新增法语、希伯来语、波兰语翻译,首次支持命令行参数启动
- 2024 年 9 月(0.85):葡萄牙语翻译上线,支持 GeoGebra 文件导入,GraphViz 证明导出功能改进
- 2024 年 11 月(0.86):GDD 证明树节点形状多样化,SVG 渲染器升级至 Batik 1.19
- 2025 年 7 月(0.87):通过 CheerpJ 技术实现浏览器端运行,无需本地安装[3]
2.2 多平台分发体系的完善
社区维护版本提供了极其完善的分发体系,各平台安装包均内嵌 Java 运行时环境(JRE):
| 平台 | 分发格式 |
|---|---|
| Windows | .exe 安装程序(Inno Setup,内置 OpenJDK 19) |
| macOS | .pkg 安装包(内置 OpenJDK 11) |
| Linux | AppImage、.deb、.rpm、Snap(内置 OpenJDK 11) |
三、技术突破:浏览器端的零安装体验
3.1 CheerpJ 技术的应用
0.87 版本最引人注目的特性是在线版本的推出。通过 CheerpJ 技术,JGEX 的 Java 字节码被编译为 WebAssembly,可以直接在现代浏览器中运行[3:1]。
这一技术突破的意义在于:
- 零安装门槛:用户无需下载任何软件,打开网页即可使用全部功能
- 跨设备兼容:支持 Windows、macOS、Linux 乃至 Chromebook 等各类设备
- 教育场景友好:解决了学校机房无法安装软件的痛点
访问地址:https://autgeo.online/jgex-cheerpj
3.2 在线版的使用体验
在线版本完整保留了桌面版的核心功能:
1. 打开网页后,CheerpJ 自动在后台加载(首次加载可能需要等待)
2. 通过 Help > About JGEX 查看版本信息
3. 选择 Examples > 1_TOP_TEN > 08_9point 加载九点圆示例
4. 点击绿色播放按钮运行 GDD 自动证明
5. 通过 File > Open GDD Proof in GraphViz Online 查看证明树的交互式可视化四、社区协作:全球志愿者的翻译贡献
JGEX 的国际化进程得益于全球志愿者的协作。目前支持的语言包括但不限于:
| 语言 | 贡献者 |
|---|---|
| 德语 | Ines Ganglmayr, Alexander Thaller, Engelbert Zeintl |
| 匈牙利语 | Zoltán Kovács |
| 塞尔维亚语 | Predrag Janičić, Vesna Marinković, Jelena Marković, Alexander Vujič |
| 波兰语 | Piotr Błaszczyk, Anna Petiurenko |
| 法语 | Noah Dana-Picard |
| 希伯来语 | Noah Dana-Picard |
| 葡萄牙语 | Joana Teles, Vanda Santos, Pedro Quaresma, Jorge Cassio |
值得注意的是,中文界面尚未完成完整翻译——这或许是一个值得国内开发者参与的切入点。
五、与其他几何软件的对比
| 特性 | JGEX | GeoGebra | The Geometer's Sketchpad |
|---|---|---|---|
| 开源 | 是 | 部分开源 | 否 |
| 自动定理证明 | 强 | 有限 | 无 |
| 证明可视化 | 强 | 一般 | 无 |
| 浏览器版本 | 是(CheerpJ) | 是(原生) | 否 |
| 活跃维护 | 是 | 是 | 已停止 |
JGEX 的核心竞争力在于其自动定理证明能力和证明可视化功能,这在教育领域具有独特价值。对于需要向学生展示几何定理严谨证明过程的场景,JGEX 仍是不可替代的工具。
六、如何获取与参与
6.1 下载渠道
推荐从 GitHub 官方发布页获取最新版本:
📦 https://github.com/kovzol/Java-Geometry-Expert/releases
6.2 参与贡献
- 翻译工作:目前仍有约 350 条短语需要翻译,涵盖手动证明编辑器和代数证明器等模块
- 代码贡献:项目采用 Gradle 构建,主要开发语言为 Java,欢迎提交 Pull Request
- 文档完善:部分历史文档需要更新,以匹配当前版本的功能
- 问题反馈:通过 GitHub Issues 报告 bug 或提出功能建议
七、结语
几何专家(Java 版)的故事是一个关于学术传承与开源精神的典型案例。尽管最初的开发团队已不再维护,但 Zoltán Kovács 教授带领的国际社区接过了这一火炬,不仅让这款经典工具重获新生,更通过 CheerpJ 等前沿技术赋予其新的生命力。
对于从事数学教育、自动推理研究或对几何证明感兴趣的读者,JGEX 仍然是一个值得深入探索的工具。它的持续更新也证明:优秀的学术软件不会因为创始团队的退出而消亡——只要社区在,传承就在。
参考文献
浙江大学国际合作项目「几何自动推理软件-JGEX的开发」。http://give.zju.edu.cn/research/r15.html ↩︎
kovzol/Java-Geometry-Expert GitHub 仓库。https://github.com/kovzol/Java-Geometry-Expert/ ↩︎
Zoltán Kovács 博客「JGEX via CheerpJ」(2025 年 7 月 5 日)。https://matek.hu/zoltan/blog-20250705.php?t=d ↩︎ ↩︎