王二麻听说躺平国是一个非常神奇的地方。在躺平国里,有各种神奇的东西。比如:会说话的铁片,能够分拣垃圾的小狗,还有会唱京剧的电线杆子。
王二麻的表哥张三李是一个糙汉子,他前几年在国内混不下去了,一个人去了躺平国。那是一个快乐的国度,每一个人都可以躺平,或者做自己热爱的事情。
他们可以把日常的事物交给特点的躺平机处理。
王二麻也想去躺平国,但是在去躺平国的路上需要经历许许多多的困难。 他非常的畏惧。
于是,张三李一直写信给王二麻,教张三李怎么样度过他路途中需要解决的困难,也会给王二麻讲躺平国的奇闻异事。
张三李在给王二麻写的第一封信里面,讲了王二麻会遇到的第一个关卡: 白沙天堑。
白沙天堑是一个大峡谷,上面没有可以通行的桥梁。白沙天堑下面是白色河,白沙和里面白色的河沙是没有能够度过天堑的挑战者的白骨的细屑,所有没能通过白沙天堑的挑战者被躺平国称为——“小白沙雕”。
白沙天堑崖壁是平行的,这两个崖壁之间的距离会随机变化,但是崖壁旁边的石台上会展示两个崖壁上所有点满足的公式,并且提供一个可以跳跃宽度为
d 的 白沙靴。
为了能够安全的度过白沙天堑,挑战者必须能够计算出天堑的两个崖壁之间的距离。当崖壁之间的距离能够小于等于 白沙靴 的跳跃距离的时候,王二麻就可以拿出靴子跳过天堑。
1 崖壁的表示
为了更简单的描述问题,我们将两个崖壁描述为两个平行的超平面。
图 1 点到平面的距离
如上图1所示,为一个超平面
L1, 对超平面上的每一个点
x=(d1,d2,...,dn)∈Rn 满足如下条件:
w⋅x+b=0
其中,
w 为超平面
L1 的法向量。
2 天堑距离的计算
假设,白沙天堑对应的两个崖壁表示的超平面分别为
Ls
Le, 其中
Ls表示起跳超平面,
Le表示落地超平面。王二麻的目的就是为了从,
Ls 跳到
Le 那么我们需要计算两个超平面之间的距离
d 来判断跳跃是否成功。
首先,假设王二麻站定点的坐标为
S, 在超平面
Le 上离他最近的落地点的坐标为
E。
设
Ls 满足公式:
w⋅x+b1=0
Le 满足公式:
w⋅x+b2=0
那么:
d=∣SE
∣
并且
SE
与平面的法向量平行。
∣w⋅SE
∣=∣w∣∣SE
∣=w12+w22+...+wn2
d=∣∣w∣∣d(1)
并且
∣w⋅SE
∣=∣w0(S0−E0)+w1(S1−E1)+...+wn(Sn−En)∣=∣(w0S0+w1S1+...+wnSn+b1)−(w0E0+w1E1+...+wnEn+b2)−b1+b2∣=∣−b1+b2∣(2)
根据公式(1)和(2) 得到:
∣∣w∣∣d=∣−b1+b2∣
那么两个平面的距离
d=∣∣W∣∣∣−b1+b2∣