让老师和学生都能轻松用这个工具:
- 老师在课堂上演示更方便、讲得学生看得懂;
- 学生做作业时看到题目就能学得懂;
- 给开发者留出自定义和调试的端口,方便持续扩展。
- 可变 / 足够自定义:题目和几何体都可变,能自定义、能存预设、能随时换数。
- 先立架构再堆功能:先定命名空间 + 统一几何体数据模型,再实现功能。
- 平面体 / 曲面体分开建模:棱柱类 vs 圆柱/圆锥类,不硬塞进一个抽象。
- 无 WebGL 环境:几何数学用 stub DOM + 真实 three.js 的 Node 冒烟测试验证。
| 主线 |
面向 |
目标 |
| 老师线 |
课堂演示 |
一键演示、预设库、投屏模式 |
| 学生线 |
做作业 |
输入题目 → 立体 + 分步解答 + 自检 |
| 开发者线 |
扩展 |
统一几何体框架 + 可注册 API + 调试面板 |
| 文件 |
现状 |
改造内容 |
优先级 |
风险 |
| index.html |
单页 + 多个 modal、全局 script |
加"老师/学生"入口、高级折叠菜单、预设库/投屏/调试面板容器;按命名空间新增 script |
P0 |
低 |
| css/style.css |
862 行,样式混杂 |
拆出主题/大屏模式、投屏样式、高级菜单样式 |
P1 |
低 |
| app.js |
319 行,全局 scene/camera/初始化 |
抽成 Teach.core;加复位/预设视角、自动旋转、模式切换、初始化新模块 |
P0 |
中 |
| cubic.js |
799 行,长方体+标记+备注+编辑面板 |
保留;长方体接入统一框架;标记模式默认隐藏到高级 |
P1 |
中 |
| developer.js |
89 行,8 种几何体只是 THREE switch |
改名"自定义/调试端口";几何体定义迁到统一框架 |
P0 |
中(是重写不是迁移) |
| functions.js |
273 行,2D/3D 函数图 |
默认隐藏到"拓展" |
P2 |
低 |
| math.js |
56 行,去重题库 |
加随机生成、分步答案、题型扩展、投屏 |
P1 |
低 |
| annotation.js |
61 行,2D 涂鸦 |
保留为基础;3D 表面标记另起新模块(不是升级) |
P2 |
高 |
| recognize.js |
658 行,三视图识别+模型编辑面板 |
保留并接入统一框架;作为开发者端口的一部分 |
P1 |
中 |
| 新增 |
内容 |
依赖 |
阶段 |
估时 |
js/core/namespace.js |
window.Teach={} 命名空间、模块注册 |
无 |
0 |
0.5 天 |
js/store.js |
本地存储:预设/题目/状态保存加载 |
core |
0 |
1 天 |
js/geometry/model.js |
统一几何数据模型:顶点/面/棱/UV/展开方案/重合棱 |
core |
1 |
3~5 天 |
js/geometry/presets.js |
正方体/长方体/棱柱/圆柱/圆锥定义(平面体/曲面体两类) |
model |
1 |
2~3 天 |
js/features/threeview.js |
三视图:正交投影 + 小方块堆叠 |
model |
1.5 |
2~3 天 |
js/features/unfold.js |
展开/折叠插值动画、11 种正方体展开图、重合棱高亮 |
model |
2 |
5~8 天 |
js/features/surfaceMark.js |
表面标记(UV 存储)+ 展开映射 |
model, unfold |
3 |
5~8 天 |
js/features/section.js |
截平面、截面多边形、形状命名 |
model |
4 |
3~5 天 |
js/ui/modes.js |
老师/学生模式、高级菜单、投屏切换 |
core |
0 |
1~2 天 |
js/api/debug-port.js |
开发者注册几何体/题目的 API 与调试面板 |
model |
1 |
2 天 |
| 阶段 |
目标 |
产出 |
依赖 |
| 0 |
基础整理 |
入口拆分、高级隐藏、预设视角、步进、本地存储、命名空间 |
— |
| 1 |
统一框架 |
geometry model + presets + 调试端口 API |
0 |
| 2 |
课堂能看 |
三视图(快速见效) |
1 |
| 3 |
核心差异化 |
展开/折叠 + 面编号颜色 |
1 |
| 4 |
杀手功能 |
表面标记 + 展开映射 |
3 |
| 5 |
初一重点 |
截面 |
1 |
| 6 |
学练闭环 |
题型扩展 + 随机题 + 分步答案 + 打磨 |
2,5 |
| 优先级 |
做 |
| P0 |
阶段 0、统一几何体框架 spec |
| P1 |
三视图、展开/折叠、调试端口 |
| P2 |
表面标记+映射(差异化最大,风险也最大) |
| P3 |
截面、题型/练习、投屏打磨 |
建议先做:阶段 0 + 统一几何体数据模型 spec,拿到反馈后再推进功能。