跳到正文
格致开物MATHWIKI

闵可夫斯基和

闵可夫斯基和(Minkowski sum)把两个集合中的向量逐一相加。对 A,B⊆ℝn,定义 A+B={a+b:a∈A, b∈B}. 它与并集不同:输出点可以既不属于 A,也不属于 B。等价地,可将 A 按 B 中每个向量平移,再取全部平移结果的并。[1]

取矩形 A=[0,2]×[0,1],以及斜线段 B={(t,t):0≤t≤1}。沿线段移动矩形,扫出的和为六边形,顶点依次是 (0,0),(2,0),(3,1),(3,2),(1,2),(0,1)。这里没有把斜线段误换成 [0,1]2;同一个参数 t 同时决定两个坐标。

原矩形与沿一一方向平移后的矩形,其连续扫过区域形成六边形;点二点五一点五由二一加零点五零点五得到。
加入一条斜线段相当于沿该线段平移矩形,边界产生两个斜边。

用凸组合推导六边形

若 A=conv⁡{ai}、B=conv⁡{bj} 是有限点凸包,则 A+B=conv⁡{ai+bj}. 证明先写 a=∑iαiai、b=∑jβjbj,两组权重非负且各和为一。于是 a+b=∑i,jαiβj(ai+bj), 新权重仍非负,总和为一,得到左边包含于右边。反向任意 ∑i,jγij(ai+bj) 可拆成 ∑i(∑jγij)ai+∑j(∑iγij)bj,两项分别属于 A,B,得到另一包含。

主例的矩形有四个顶点,线段有两个端点,故先得到八个端点和。其中 (1,1) 和 (2,1) 在所得凸包内部,其余六个为边界顶点。点 (5/2,3/2) 可分解成 (2,1)+(1/2,1/2),因此属于和;点 (3,0) 却不属于,因为达到横坐标三要求 a1=2,t=1,进而纵坐标至少为一。

基本运算与凸性

向量加法的交换律与结合律直接给出 A+B=B+A、(A+B)+C=A+(B+C)。单点集 {0} 为单位元,A+{c} 是平移;若任一集合为空,和也为空。

若 A,B 都凸,则和凸:对两个和点 a1+b1,a2+b2,其参数 t 的凸组合等于 [ta1+(1−t)a2]+[tb1+(1−t)b2],两部分各留在对应集合。若两集合紧,笛卡尔积紧、加法连续,故和也紧,因而闭且有界。

对凸集 C 和非负 α,β,有 αC+βC=(α+β)C。当总系数正时,将两个点按 α/(α+β) 与 β/(α+β) 作凸组合即可;总系数为零时双方均为 {0},假定 C 非空。非凸集不能照搬:C={0,1} 时,C+C={0,1,2},而 2C={0,2}。

支撑函数把集合和变成函数和

对非空集合,独立选择 a∈A,b∈B 给出 hA+B(u)=hA(u)+hB(u). 左边的每个内积为 u𝖳a+u𝖳b,不超过右边,因此有一个方向的不等式;当两上确界有限时,可各选距离上界小于 ε/2 的点,相加后距离总上界小于 ε,得到反向。若其中一个上界无穷,固定另一个集合的一点即可使和的内积任意大,等式仍成立。

主例中 hA(u)=2max⁡(u1,0)+max⁡(u2,0),hB(u)=max⁡(u1+u2,0)。方向 (1,1) 的支撑值为 3+2=5,由顶点 (3,2) 达到;方向 (1,−1) 的值为二,整条从 (2,0) 到 (3,1) 的边都达到它。由此可核对六边形的两条不同支撑边。

平移碰撞与集合差的符号

若形状 B 平移到位置 q+B,它与障碍物 A 相交,当且仅当 q∈A+(−B). 因为相交等价于存在 a∈A,b∈B 使 q+b=a,也就是 q=a−b。这是把形状碰撞转为一个点是否落入配置障碍区域的依据。A+(−B) 收集所有点差,不能将它当作普通的集合移除 A∖B。即使 A=B,前者通常包含大量向量,后者却为空。

参考文献

  1. ↑ CGAL,2D Minkowski Sums,定义与多边形和。