Godot Engine 4.6 · GB 11533 标准

EyeFocus

基于物理精确计算的专业视力自测工具。将标准对数视力表数字化,在屏幕上实现准确可靠的视力测量,支持热敏打印机输出报告。

在线体验 了解特性 GitHub 源码
14
视力等级
5m
标准测距
GB
11533 标准
4K
分辨率支持

功能特性

严肃的视力测量工具,蕴含精心设计的算法与交互细节

标准对数视力表

严格遵循 GB 11533 国家标准,视力等级从 0.10 到 2.0 共 14 级,覆盖严重近视至超常视力全范围。

物理精确算法

依据显示器尺寸、分辨率、实测距离精确换算视标像素大小,基于 1 分视角公式,验证值与国标完全吻合。

双 / 单眼模式

支持左眼、右眼单独测试,以及双眼依次模式,左右眼视力数据完全独立存储与追踪。

自适应网格布局

多视标网格根据容器尺寸动态排列,智能计算最优行列数与均匀间距,红圈随机标记目标视标。

专注全屏模式

一键隐藏所有 UI 面板,全屏仅保留视标与红圈,自动隐藏鼠标,沉浸式测试体验。

键鼠快捷操作

支持 WASD 与方向键快速作答,同时兼容鼠标点击答题按钮,适配不同使用场景。

自适应阶梯算法

连续答对 3 次自动升级视力等级(视标变小),连续答错 2 次自动降级,模拟专业眼科检查流程。

参数校准面板

自定义输入显示器对角线尺寸、屏幕分辨率、实测距离,适配不同硬件环境与检测条件。

热敏打印机支持

通过串口连接 EM5820H 热敏打印机,测试完成后一键打印专业视力报告,方便存档与对比。

应用界面

深色极简风格,三分栏横屏布局,专注视力测试

EyeFocus 界面截图

演示视频

录屏演示与真人演示用于快速了解检测流程与界面交互

屏幕录制

包含参数校准、单眼/双眼检测与打印结果的完整录屏演示。

真人演示

已包含真人演示视频

使用指南

简单几步,开始专业视力自测

选择测试模式

在左侧面板选择检测模式——左眼单测、右眼单测,或双眼依次检测。
双眼依次模式会分别测量左右眼并采用阶梯收敛策略,通过多轮稳定性判据确认最终视力等级,能减小单次波动带来的误差。

完成参数校准

点击「参数校准」,**务必先确认或设置当前屏幕分辨率与对角线尺寸(英寸)**,并填写测试距离。校准数据用于计算像素密度(px/mm),直接影响视标物理尺寸与测量结果。

遮挡对应眼睛

根据提示遮挡对应眼睛,与屏幕保持标准测试距离(建议 5 米)

判断开口方向

观察中央区域被红圈标记的 E 字视标,判断开口朝向(上 / 下 / 左 / 右)

按键作答

点击底部方向按钮,或按 W / A / S / D(↑ ← ↓ →)快捷键提交答案

打印视力报告

测试完成后点击「生成最终结果」,连接热敏打印机即可一键打印专业视力报告

快捷键一览

W开口朝上
A开口朝左
S开口朝下
D开口朝右
ESC退出专注模式

项目架构

精心设计的模块划分,清晰的责任边界

scripts/Main.gd

主控制器

UI 协调、事件处理、信号转发。连接所有管理器并处理用户交互,包含答题按钮与快捷键绑定。

scripts/EyeChart.gd

E 字视标渲染

使用 _draw() 严格按 5×5 栅格绘制标准 E 字,draw_set_transform 旋转实现四方向。

scripts/OptotypeContainer.gd

视标网格容器

动态计算行列数与均匀间距,居中生成多视标网格。红色呼吸动画圆环标记随机目标视标。

scripts/VisionCalculator.gd

视力计算器

基于 GB 11533 / ISO 8596 公式,将视力值精确换算为物理尺寸,再转为像素边长。

scripts/VisionLevelManager.gd

等级状态管理器

维护 14 级标准视力表,实现 3 对 2 错自适应阶梯算法,左右眼数据完全独立存储。

scripts/TestController.gd

测试流程控制器

答题验证、状态更新、视标刷新触发,串联整个测试流程的事件驱动引擎。

scripts/PrinterManager.gd

打印机管理器

通过串口连接 EM5820H 热敏打印机,支持真实打印与终端模拟双模式,输出格式化视力报告。

核心换算公式
笔画宽 (mm) = tan( 1分角 / 视力值 ) × 测试距离 (mm)
视标边长 (mm) = 5 × 笔画宽   ← 5×5 栅格,5 个等宽单元
视标边长 (px) = 视标边长 (mm) × 像素密度 (px/mm)

验证 V=1.0,距离 5m:
stroke_mm = tan(π/10800) × 5000 ≈ 1.454 mm  side_mm = 5 × 1.454 = 7.272 mm  ← 与国标完全吻合

技术细节

基于 Godot Engine 4 构建,纯原生 GDScript

引擎版本 Godot 4.6
开发语言 GDScript(纯原生)
渲染器 GL Compatibility(兼容模式)
默认分辨率 1920 × 1080(横屏 16:9)
拉伸模式 canvas_items(自适应缩放)
视力标准 GB 11533 / ISO 8596(0.1 ~ 2.0)
打印机支持 EM5820H 热敏打印机(串口)
运行平台 Windows / macOS / Linux

网页版注意事项

浏览器版使用时请务必参考以下说明,确保参数校准准确并获得更稳定的测试体验。

⚠️ 网页版使用限制
  • 手动校准屏幕参数:浏览器无法自动获取显示器物理尺寸(英寸),请用尺子测量屏幕可视区域对角线后,在“参数校准”面板中输入显示器尺寸和当前屏幕分辨率(宽×高)。
  • 浏览器窗口变化后需要重校准:当全屏、缩放、切换显示器或调整窗口大小时,视标物理尺寸会失效,请重新输入分辨率并点击确认。
  • 不支持打印机:网页版受浏览器安全限制,无法连接串口打印机。如需使用“打印视力报告”功能,请下载 Windows 桌面版。
  • 推荐使用 Windows 桌面版:桌面版支持完整功能,包括打印机、自动保存参数、更稳定的视标显示。
  • 测试距离建议为 5 米,若实际距离较短请在“参数校准”中如实填写。
  • 视线应垂直于屏幕中心,避免角度偏差。
  • 确保屏幕亮度适中、环境照明均匀(约 300 lux)。
  • 本工具仅供筛查参考,不能替代专业眼科检查。

如果想获得完整桌面版体验,请下载并在 Windows 上运行 EyeFocus。

Windows 桌面版下载 (推荐)