mcpField
K
knot-theory-educator

knot-theory-educator

github.com/curiositech创意与媒体257172 次安装2 天前更新
代码仓库

关于 knot-theory-educator

Knot Theory Educator 将辫子理论和拓扑学转化为可视化、交互式学习材料,面向教育者和内容创作者。它采用先讲物理操作、再引入形式符号的教学方式。

主要功能

  1. 01可视化讲解辫子生成元
  2. 02制作逐步动画
  3. 03设计数学概念说明卡
  4. 04比较二股与三股辫
  5. 05演示 Yang-Baxter 关系
  6. 06将代数转化为物理直觉

适用场景

  1. 01讲授辫子生成元的操作
  2. 02展示辫子关系中的等价路径
  3. 03说明股数如何改变复杂度
  4. 04构建辫子主题交互课程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/curiositech/some_claude_skills --skill knot-theory-educator

安装后在 Claude Code 中输入/knot-theory-educator确认已加载。

附带文件.claude-plugin/plugin.jsonreferences/knot-garden-education.md

详细介绍

结理论教育工具

将抽象的辫理论和拓扑概念转化为直观、可视化、交互式的学习体验。此工具旨在弥合形式数学与真正理解之间的鸿沟。

适用场景

✅ 适用于:

  • 创建辫生成元(σ₁、σ₂ 等)的可视化讲解
  • 构建展示交叉序列的分步动画
  • 设计数学术语的讲解卡片
  • 将群论概念转化为直观的物理感受
  • 创建 2 股与 3 股辫差异的交互式演示
  • 说明某些运算为何可交换(或不可交换)

❌ 不适用于:

  • 单纯计算结不变量(Jones 多项式等)
  • 学术研究级别的证明
  • 与辫或结无关的通用数学辅导
  • 可视化框架的软件架构决策

核心原则:物理直观优先

鉴别标准:专家会先通过物理操作讲解辫,再介绍记号。

Novice approach: "σ₁ is a generator of B₃ satisfying..."
Expert approach: "Imagine holding three strings. σ₁ means 'cross the
                  left string OVER the middle one.' Now they've swapped
                  positions. σ₁⁻¹? Cross it back UNDER."

可视化词汇

核心交叉图示

σ₁(左股压过中股):

  1   2   3          2   1   3
  │   │   │          │   │   │
  │ ╲ │   │    →     │   │   │
  │   ╳   │          │   │   │
  │ ╱ │   │          │   │   │
  │   │   │          │   │   │

σ₂(中股压过右股):

  1   2   3          1   3   2
  │   │   │          │   │   │
  │   │ ╲ │    →     │   │   │
  │   ╳   │          │   │   │
  │   │ ╱ │          │   │   │
  │   │   │          │   │   │
杨-巴克斯特关系的可视化

σ₁σ₂σ₁ = σ₂σ₁σ₂(“辫关系”)

这不只是代数关系——它是字符串移动过程中的物理事实:

  • 左侧路径:先让左股压过中股,再让中股压过右股,最后再次让左股压过中股
  • 右侧路径:先让中股压过右股,再让左股压过中股,最后再次让中股压过右股
  • 两条路径最终的字符串配置完全相同!

创建动画并排展示两条路径,最终得到相同结果。

讲解卡片模式

模式:术语定义卡片

用于“字问题”“Garside 正规形”等加粗术语:

<div class="explainer-card graph-paper">
  <h3>The Word Problem</h3>
  <p class="intuition">
    "Given two different-looking recipes for tangling strings,
    do they produce the same tangle?"
  </p>
  <p class="formal">
    Formally: Given braid words w₁ and w₂, determine if they
    represent the same element of Bₙ.
  </p>
  <p class="example">
    Example: Is σ₁σ₂σ₁ the same as σ₂σ₁σ₂? (Yes! Yang-Baxter)
  </p>
  <p class="complexity">
    Solved by Artin (1947) - polynomial time in word length
  </p>
</div>
模式:分步动画卡片

用于“交叉如何累积”等过程:

// Animation sequence for σ₁σ₂σ₁⁻¹
const steps = [
  { state: 'initial', label: 'Three untangled strands: ε (identity)' },
  { state: 'after_s1', label: 'σ₁: Left crosses over middle', highlight: [0,1] },
  { state: 'after_s2', label: 'σ₂: Middle crosses over right', highlight: [1,2] },
  { state: 'after_s1_inv', label: 'σ₁⁻¹: Left crosses UNDER middle', highlight: [0,1] },
  { state: 'final', label: 'Result: Strands repositioned, complexity = 3' }
];
模式:比较卡片

用于“为什么 3 只狗与 2 只狗有本质区别”等主题:

┌─────────────────────┬─────────────────────┐
│   TWO STRANDS (B₂)  │  THREE STRANDS (B₃) │
├─────────────────────┼─────────────────────┤
│ One generator: σ₁   │ Two generators: σ₁,σ₂│
│                     │                     │
│ Abelian (order      │ NON-abelian         │
│ doesn't matter)     │ (order MATTERS!)    │
│                     │                     │
│ σ₁σ₁⁻¹ = ε always  │ σ₁σ₂ ≠ σ₂σ₁        │
│                     │                     │
│ Always untangle by  │ May need complex    │
│ counting crossings  │ algorithms to solve │
│                     │                     │
│ Like a single dial  │ Like a Rubik's cube │
└─────────────────────┴─────────────────────┘

常见反模式

反模式:先讲记号,再讲直觉

症状:一开始就写“B₃ = ⟨σ₁, σ₂ | σ₁σ₂σ₁ = σ₂σ₁σ₂⟩”

问题:没有群论背景的读者会立刻迷失。记号本身没错,但教学顺序颠倒了。

解决方案:

  1. 从物理演示开始(拿起三根绳子)
  2. 为基本动作命名(左股压过中股 = σ₁)
  3. 说明为何某些动作可以重新排序
  4. 然后再引入形式记号作为简写
反模式:用静态图示表现动态过程

症状:用单张图展示辫操作的“之前和之后”

问题:编辫本质上是一个连续过程。学生需要看到动作,而不只是起点和终点。

解决方案:

  • 使用分步动画
  • 展示中间状态
  • 允许向前或向后拖动播放进度
  • 突出显示每个时刻正在移动的股
反模式:只呈现复杂度,不说明其意义

症状:只说“复杂度是 7”,却不解释这在实际中意味着什么

问题:脱离物理现实的数字毫无意义

解决方案:

  • “复杂度为 7,意味着至少需要 7 次交叉操作才能解开”
  • “复杂度为 3 与 7 的对比:前者需要 5 秒,后者需要 30 秒以上”
  • “复杂度高 = 拉动时摩擦更大(绞盘效应)”

可视化技巧

技巧 1:为股线着色

在所有图示中,每股都使用一致的颜色:

  • 股线 1(初始时最左侧):红色/红宝石色
  • 股线 2(初始时居中):绿色/翡翠色
  • 股线 3(初始时最右侧):蓝色/蓝宝石色

这样可以直观地追踪排列。

技巧 2:突出上下交叉
  • 上交叉:使用实线,让股线看起来“位于前方”
  • 下交叉:经过后方的位置使用断线/虚线
  • 在 2.5D 表示中使用阴影或深度线索
技巧 3:时间切片表示法

将辫显示为水平切片:

t=0:  R───G───B  (initial positions)
t=1:  G───R───B  (after σ₁: R crossed over G)
t=2:  G───B───R  (after σ₂: R crossed over B)
技巧 4:物理类比集锦

将概念与日常物品对应起来:

  • “就像编头发,但要跟踪每一股发丝”
  • “就像花柱舞——舞者就是股线”
  • “就像缠在一起的耳机线——数学原理相同!”

交互式演示规范

演示:2 只狗与 3 只狗的启示

目的:展示为什么遛 2 只狗轻而易举,但遛 3 只狗会带来真正的复杂性。

实现:

// Simplified physics demo with thick rope rendering
class BraidDemo {
  constructor(numStrands) {
    this.strands = numStrands;
    this.crossings = [];
    this.mode = 'interactive'; // or 'playback'
  }

  // Render thick ropes with clear over/under
  renderThickRope(strand, ctx) {
    ctx.lineWidth = 20;
    ctx.lineCap = 'round';
    // Draw shadow pass first (creates depth)
    // Then main strand with gradient
  }

  // Highlight the key insight
  showComplexityDifference() {
    if (this.strands === 2) {
      return "Count crossings. Apply that many σ₁⁻¹. Done.";
    } else {
      return "Must track which strand crossed which. Order matters!";
    }
  }
}
演示:Yang-Baxter 练习场

目的:让用户通过实验发现 σ₁σ₂σ₁ = σ₁σ₂σ₁。

功能:

  • 两个并排的辫子可视化
  • 分别对每个可视化应用操作
  • 当两者达到等价状态时高亮显示
  • 当两条路径都导向相同结果时,带来“恍然大悟!”的时刻

理论页面的内容结构

高层页面(吸引用户)
  • 视觉主图:缠绕的狗动画 → 解开
  • 一句话的问题陈述
  • “为什么 3 很神奇”对比卡片
  • 导航至详细主题
子页面:辫子基础
  • 交互式股线操作
  • 通过动画介绍生成元
  • “构建自己的辫子词”练习场
子页面:代数
  • 并排证明 Yang-Baxter 关系
  • 解释字问题
  • 赋予实际含义的复杂度指标
子页面:解法与算法
  • 更名为“解开策略”
  • 贪心方法与最优方法
  • 物理设备设计概念
  • 探索机器学习启发式方法
子页面:应用
  • 配有插图的机器人学
  • 与量子计算的联系
  • 手术机器人、缆索无人机

可视化方式决策树

Is the concept about static structure or dynamic process?
├── Static (e.g., "what is a braid group?")
│   └── Use: Comparison cards, diagrams with annotations
└── Dynamic (e.g., "how does σ₁ work?")
    ├── Is it a single operation?
    │   └── Use: Before/after with animation between
    └── Is it a sequence?
        └── Use: Step-wise timeline with scrubbing

与物理渲染器集成

在演示中使用模拟的物理引擎时:

  1. 放大至近景视图:只聚焦牵绳,而非整个场景
  2. 加粗绳索渲染:增加绳索粗细以提升清晰度
  3. 慢动作:交叉时刻使用 0.25 倍速
  4. 事件发生时暂停:检测到交叉时自动暂停
  5. 叠加注释:标注刚刚发生的 σ

此技能涵盖:辫子理论的视觉教学法 | 讲解卡片模式 | 动画规范 | 数学教育中的反模式 | 以物理为先的教学方法

评论

支持 Markdown