我有一个多边形。
如何通过xlib编程找出黑色线是在多边形之外还是在多边形内部。
答案 0 :(得分:0)
创建确定点是在内侧/边缘/外侧多边形的函数
如果你在从该点到无穷大的任何方向上投射光线(半轴),它应该与多边形线的奇数计数相交(如果它在多边形内部),如果它在多边形之外则甚至计数。
如果光线交点直接位于某个边缘(交点==点),则稍微改变方向并再次尝试或处理双击(来自该顶点的两条相邻线),如果您的多边形不是复数,则单击。 ..
如果线不与任何多边形线相交,则
如果线与任何多边形线相交,则
并且该交点也不是该线的顶点(在边缘上),那么该线部分在其他位置根据该线的第二点完全进入或退出