CCG 00-01:数学符号不是密码——怎样逐字读懂公式
本课只解决一个问题
看到下面这行时,怎样知道每个符号在说什么?
现在不需要理解这个能量的几何意义。本课只训练一件事:把公式翻译成可以逐步执行的语言。
读完以后,你应该能区分对象、运算、条件和结论,并且知道自己究竟卡在哪个符号上。
1. 公式首先是一句话
普通句子有名词、动词和修饰语。公式也一样:
| 角色 | 数学中的例子 | 作用 |
|---|---|---|
| 对象 | 正在讨论什么 | |
| 运算 | 对对象做什么 | |
| 关系 | 两边是什么关系 | |
| 条件 | 、 | 哪些对象可以参与 |
例如
应读成:“寻找一个数,使 的平方加一等于五。”这里 是表达式,整行是方程。
2. 变量、常量与下标
是变量,表示它可以取不同值。 通常表示固定常数。字母本身没有神秘含义,含义由上下文声明。
下标用来区分同类对象:
表示三个量,而不是。在网格里, 常表示第 个顶点的二维坐标。
双下标 表示一个同时依赖 的量,例如顶点 和顶点 之间的边权。
3. 三种经常混淆的等号
3.1 相等关系
两边已经是同一个数。
3.2 定义
读作“定义为”。这是在规定名字 的含义。
3.3 程序赋值
x = x + 1这不是数学等式,而是“先读取旧的,加一,再把结果保存为新的”。数学中不可能有,程序中却可以赋值。
4. 集合与属于
集合是一批对象组成的整体:
读作“ 属于集合”。 表示不属于。
网格通常写作
其中 是顶点集合, 是边集合, 是三角形集合。此处括号不是乘法,而是在说一个网格由三类数据组成。
5. 求和符号怎样执行
先看有限求和:
执行顺序是:
- 令,计算;
- 再令;
- 再令;
- 把三次结果相加。
再看网格求和:
它表示“遍历每条边,计算该边的一项,再全部相加”。上标和下标共同规定了遍历范围。
6. 一个完整的逐字翻译
回到开头的公式:
逐字解释:
- :所有顶点的新坐标组成的整体;
- :把坐标 输入函数 后得到的数;
- :遍历每条网格边;
- :边两端坐标的差;
- :这个差向量的长度;
- 平方:让正负方向不影响结果,并更重地惩罚大差异;
- :这一条边的重要程度;
- :把所有边的贡献相加;
- :便于后面求导,不改变最小值位置。
所以整句是:“把每条边两端坐标差的平方按权重相加,得到坐标配置 的能量。”
7. 先检查“类型”,再计算
公式错误常常不是算错,而是类型不匹配。若,则:
| 表达式 | 类型 |
|---|---|
| 二维向量 | |
| 二维向量 | |
| 标量 | |
| 标量 | |
| 标量 |
两个向量可以相加;一个二维向量不能直接等于一个普通数字。以后读矩阵公式,也先做这种类型检查。
8. 常见误区
- 字母相同不保证含义相同,必须看当前文章的定义。
- 不是,而是把 输入函数。
- 既可能是边集合,也可能是能量函数;同一公式中应避免重名。
- “公式看懂”不是背住形状,而是能把每个符号翻译出来。
9. 自测与答案
题 1。 把 展开。
答案。。
题 2。 若,那么 和 分别是什么类型?
答案。 前者是三维向量,后者是非负标量。
题 3。 用一句中文解释。
答案。 遍历所有边,把每条边的长度相加,得到网格总边长。
下一课
许可协议:CC BY
作者:Davids
本文链接:https://hustjjd.github.io/ccg/00-01-math-language/
更新于:2026年10月12日