在开发过程中遇到一个点是否在一个区域内,如果是一个矩形区域比较好判断,但是遇到不规则图形就比较麻烦。
1.分割矩形
在不规则区域内分隔出一个或者多个矩形,累加判定。
或者在不规则区域外外接一个矩形,如图所示
,
对矩形内的非不规则图形部分加上Flag。以上图不同颜色为例
if(inRectangular && Coloris(Grey))
2.向量判定
取该点坐标与不规则图形各顶点所得向量,然后判断向量间22叉乘是否同为正或同为负
满足则在不规则图形内
在开发过程中遇到一个点是否在一个区域内,如果是一个矩形区域比较好判断,但是遇到不规则图形就比较麻烦。
1.分割矩形
在不规则区域内分隔出一个或者多个矩形,累加判定。
或者在不规则区域外外接一个矩形,如图所示
,
对矩形内的非不规则图形部分加上Flag。以上图不同颜色为例
if(inRectangular && Coloris(Grey))
2.向量判定
取该点坐标与不规则图形各顶点所得向量,然后判断向量间22叉乘是否同为正或同为负
满足则在不规则图形内