存在任意形状的多边形,顶点坐标已知。我怎样才能随机选择一个随机点,使其恰好在其中,而不是在边界上或完全在其区域之外。
此刻我是这样想的
1) 取最高、最低、最右、最左并将它们连接起来,使图形“适合”成一个矩形。
2)从矩形中随机取点
3) 检查属于多边形
4)如果不属于-重复。
但是我不明白如何做第三个。
存在任意形状的多边形,顶点坐标已知。我怎样才能随机选择一个随机点,使其恰好在其中,而不是在边界上或完全在其区域之外。
此刻我是这样想的
1) 取最高、最低、最右、最左并将它们连接起来,使图形“适合”成一个矩形。
2)从矩形中随机取点
3) 检查属于多边形
4)如果不属于-重复。
但是我不明白如何做第三个。
一个点是否属于多边形的经典测试——从它发射一条射线,并计算与多边形边的交点数(实际上,与射线有公共点的边段数是计)。如果是偶数,则点在外面,否则在里面。单独检查她不在旁边。
为了便于软件实施,仅允许水平(或仅垂直)波束。并且他们控制没有任何边位于横梁上。