# Draw Visual Explanation

> 为数学题、几何关系、函数图像、积分区域、极坐标曲线和学习笔记生成准确的示意图，并将图像嵌入相关 Obsidian 笔记。用户说画图、配图、示意图、图形直观，或题目中的图形关系能明显帮助理解时使用。

- Skill: `treasoni/draw-visual-explanation` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add treasoni/draw-visual-explanation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/treasoni/draw-visual-explanation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: treasoni (https://skillmd.com/u/treasoni)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/treasoni/draw-visual-explanation

---


# 画图辅助讲解

## 目标

判断图形是否能降低理解成本；需要时生成可验证的数学示意图，并把图放进正在讲解的笔记，而不是只在回答里口头描述。

## 工作流

### 1. 先判断是否值得画

优先画图的场景：

- 函数、参数方程、极坐标曲线及其弧长、面积、旋转体问题；
- 几何图形、积分区域、对称性、分段区间和换元后的变量范围；
- 能通过位置、方向、边界或运动轨迹消除歧义的题目。

不必画图的场景：

- 纯代数化简、单步公式代入、图形不会改变理解；
- 只有装饰作用而没有标注信息的图片。

### 2. 选择图形实现

按精确性和维护成本选择：

1. 数学曲线或区域：优先使用 Python + matplotlib，保证坐标、比例、积分边界和关键点准确；不要用图像生成模型代替解析绘图。
2. 流程、分类、推理关系：使用 Mermaid。
3. 极简单的局部关系：可以使用 ASCII 草图，但不要用它替代需要精确比例的曲线。
4. 图像生成模型只用于风格化插图，不用于需要读坐标、测长度或判断区域的数学图。

可使用本技能的 scripts/plot_polar_curve.py 快速绘制基础极坐标曲线；需要高亮上半段、标注特殊点或绘制阴影区域时，在此基础上写一个短的 matplotlib 脚本。

### 3. 生成和检查图像

- 图片保存为仓库相对路径，统一放在专用图片目录 workspace/wrong-book/images/ 下，避免和 Markdown 笔记混放。
- 坐标轴、单位、对称轴、积分上下限、关键点和曲线名称只标注对解题有帮助的信息。
- 设置等比例坐标；自动留出边距，避免曲线、箭头、标题或图例被裁切。
- 生成后必须用图像查看工具检查一次；若出现裁切、重叠、字体缺失或比例失真，先修图再写入笔记。

### 4. 嵌入 Obsidian 笔记

使用仓库相对路径的 Obsidian 图片嵌入语法：

    ![[workspace/wrong-book/images/心形线-弧长示意图.png]]

通常把图片放在题干或“解析”开头之后、公式推导之前，并在文字中说明图中哪些元素对应后续步骤。

如果目标是 880 错题本：

1. 不要直接编辑 workspace/wrong-book/错题本.md，它是生成产物。
2. 将图片嵌入和配图说明写入 workspace/question-index.json 对应题目的 solution。
3. 执行 python3 scripts/wrong_book.py 重新生成错题本。
4. 用题干、qid 或图片文件名检查生成结果。

### 5. 让图服务于推导

配图后至少解释一个视觉事实，例如：

- 心形线关于极轴对称，因此只算上半段再乘 2；
- 极坐标曲线在 theta=pi 经过原点，在 theta=0 回到最右端；
- 积分区域的边界决定积分限，不能只凭象限名称猜范围；
- 绝对值、分段点或换元后的方向变化对应图中的哪一部分。

不要只嵌入图片而不说明它如何支持结论。

## 交付前检查

- 图片文件存在且能被 Obsidian 相对路径找到；
- 笔记中的嵌入路径与实际文件名完全一致；
- 数学曲线没有裁切，坐标比例正确，关键标注可读；
- 880 产物通过对应生成脚本和内容校验；
- 不因配图破坏 YAML、LaTeX、wikilink 或 Dataview 内容。


