立体几何互动课堂
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的指南,安装规范名为 @user_48e9654e/edu-learn-solid 的技能。
技能介绍
要解决的问题
立体几何题用二维纸面描述三维对象:解题者要在脑中建系、找法向量、判断线面关系,一步算错后面全错;只看最终答案又无法定位错误。edu-learn-solid 把「抽象想象 + 手工计算」拆成「符号精确计算 + 可视化验证」。成品是单页 HTML:左侧题面、答案与分步解析(公式由 MathJax 渲染),右侧是同题的 Three.js 模型,可旋转缩放,每步高亮关键元素并切换镜头。两边出自同一份计算结果,不会出现图和式对不上的情况。
核心能力与流程
入口归一。 文字题直接抽取,截图先用视觉读图、回显识别到的题面请用户确认,也可随机出题。三者统一整理为结构化 spec:几何体类型与尺寸、已知构造条件、所求对象、输出语言(格式见 references/problem-schema.md)。
精确计算。 坐标、向量、法向量、夹角、体积全部由 lib/geometry_kernel.py 用 sympy 算出,中间量返回 LaTeX 字符串直接喂给 MathJax。步骤里每个数值都引用 kernel 结果,不允许心算;3D 顶点用 kernel.to_three() 生成,保证图形与计算同源。
注入模板。 临时构建脚本组装 lesson / steps / model 数据(几何体拓扑来自 lib/bodies.py 的 quad_pyramid、cuboid、prism 等),调用 scripts/generate.py 里的 generate.render_html(data, out) 产出 HTML。每步声明 highlight 与 cameraPos,让镜头跟随讲解;题面给出线段长度时额外生成 measure 元素在图中标注。
自检与交付。 交付前核对 kernel 答案、答案卡、末步骤展示值三者一致;起本地静态服务预览,确认无控制台报错、公式渲染正常。检查完立刻停掉服务并确认端口释放,交付前再复查一遍。成品写到用户当前工作目录(命名形如 solution-<题目>.html),不写进技能自身目录。
注意点
- 计算核心依赖 sympy,运行前先确认
python3 -c "import sympy"能跑通。缺库时技能会先询问,得到同意后才执行python3 -m pip install或换解释器,不会未经允许就动环境。 - 已注册拓扑有限,罕见几何体需手写
edges;加题型要在 kernel 加求解函数、在 generate 加build_*,加几何体要在 kernel 和bodies.py各加一个函数。 - 随机出题靠
kernel.is_clean()把关,答案不规整就重抽,保证演示题面干净。 - 输出语言跟随提示词语言;临时构建脚本建议放 cwd 或
/tmp,用完可删。
使用场景
- 高中数学老师讲解线面角时,需要一个能旋转、随步骤高亮的 3D 示意图用于课堂投屏
- 几何竞赛选手复核答案时,想要分步解析与 3D 图对照,确认每步向量与法向量的来源
- 教育类应用编辑把几何习题接入互动网页,需要按提示词语言输出中英文题面与解析
- 内容创作者做立体几何随机出题视频,希望答案规整且模型可展示旋转缩放效果
适合人员
- 中学数学教师,需要把抽象的立体几何关系做成可旋转的课堂演示图
- 几何竞赛选手,想要用符号计算复核向量法求夹角、体积的过程
- 教育内容编辑,需要把平面习题改造成左文右图的交互网页
- 自学者,希望随机出题并对照分步解析自学立体几何