以下图片最能清晰地描述问题:
我需要知道参考多边形(红色)在一个坐标轴上(仅y轴)移动的最小距离,以使其刚好与另一个多边形相接触。如果它在多边形内部,则需要向外移动。
我尝试查看一个多边形中的所有线条和另一个多边形中的所有点,将点投影到直线上,并获取点y和投影点y之间的差异,然后找到最小距离。但是,这个方法有一个问题,即如果多边形重叠,并且一个多边形中最远的线和另一个多边形中最远的点具有最小距离,那么它将给出一种结果,使多边形重叠。
编辑:通过将点投影到直线上,我指的是找到一条线上的一个点的y值,该点具有与原始点相同的x值。如果x值在线的外侧,则跳过此步骤。