现在的问题是:给出一个小长方形和一个大长方形(坐标均已知),需要在大长方形随机选出两个点使得他们所在直线不穿过小长方形。简单想了一下,见下图:

首先考虑射线的情况。小长方形左边那个点 A 是固定的,接下来要找到一个点 B 使得射线(先考虑这个)AB 不穿过小长方形。这个时候向离 A 比较近的两个顶点连边,再算上大长方形的边,可以得到左边的那块红色面积,我们称之为 A 的可控范围。在这里面随机一个点即可满足上面的要求。这个时候随机并不难。
接下来考虑直线。这个时候直线相当于两条射线加起来,所以还要同时满足 A 在 B 的可控范围内,以及 B 在 A 的可控范围内。如果只考虑一种,就会出现图右边的情况,一个不在另一个的可控范围内,所以直线会穿过小长方形。
但是这个时候似乎不太好随机在 A 的可控范围内且也能让 A 在 B 可控范围内的 B。现在就是希望能找到一个已知 A 随机出上述 B 的方案(显然每个 A 的可控范围面积都不为 0,所以 A 可以直接随机,这里就不需要考虑)。
明天早上我回来看有没有大佬解答