关于计算几何随机生成数据-2
  • 板块学术版
  • 楼主EastSnowLotus
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/12/7 21:57
  • 上次更新2023/10/27 00:10:29
查看原帖
关于计算几何随机生成数据-2
337878
EastSnowLotus楼主2022/12/7 21:57

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

首先考虑射线的情况。小长方形左边那个点 AA 是固定的,接下来要找到一个点 BB 使得射线(先考虑这个)ABAB 不穿过小长方形。这个时候向离 AA 比较近的两个顶点连边,再算上大长方形的边,可以得到左边的那块红色面积,我们称之为 AA可控范围。在这里面随机一个点即可满足上面的要求。这个时候随机并不难。

接下来考虑直线。这个时候直线相当于两条射线加起来,所以还要同时满足 AABB 的可控范围内,以及 BBAA 的可控范围内。如果只考虑一种,就会出现图右边的情况,一个不在另一个的可控范围内,所以直线会穿过小长方形。

但是这个时候似乎不太好随机在 AA 的可控范围内且也能让 AABB 可控范围内的 BB。现在就是希望能找到一个已知 AA 随机出上述 BB 的方案(显然每个 AA 的可控范围面积都不为 00,所以 AA 可以直接随机,这里就不需要考虑)。

明天早上我回来看有没有大佬解答

2022/12/7 21:57
加载中...