我有一个多边形。
如何通过 xlib 编程找出黑色线是位于多边形外还是多边形内。
创建确定点是否在多边形内部/边缘/外部的函数
如果从该点向无穷远的任何方向投射光线(半轴),如果它在多边形内,它应该与奇数条多边形线相交,如果它在多边形外,它应该与奇数条多边形线相交。
如果光线交点直接位于某个边缘(交点 == 点),则稍微改变方向并重试,或者如果您的多边形不是复杂的,则将双击(从该顶点的两条相邻线)处理为单击......
如果线不与任何多边形线相交,则
如果线确实与任何多边形线相交,那么
并且该交叉点也不是线的顶点(在边缘上),然后线部分进入,否则根据线的第二点完全进入或退出