关于不规则区域的鼠标判定方法(一)---凸包实现.

凸包的定义:

内角和是360°的就是凸包.看起来就是围出来的凸多边形.每个角没有超过180°的.

凸包的形成:

凸包是由n个收尾相接的向量围出来的.所以有顺序的说法.

凸包的样子:

关于不规则区域的鼠标判定方法(一)---凸包实现._第1张图片

该图形是5个点,5个向量围出来的图形.

1. P0 -> P1

2. P1 -> P2

3. P2 -> P3

4. P3 -> P4

5. P4 -> P0

根据向量可以根据右手法则.知道2d向量的2d法线. .之后就可以判定.点是否在凸包内还是凸包外了.

算法实现:

1.围出包.记录下来点的坐标.之后配出向量..

2.之后向量之后可以修改x y的正负号来.找到该向量的法线.

3.之后判断与法线是同侧还是不同侧.

4..如果所有的5个法线判断都是内侧.那么就可以判断在凸包内了.

算法代码:




你可能感兴趣的:(关于不规则区域的鼠标判定方法(一)---凸包实现.)