|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
四边型 等价于 判断二维图像空间中的一个点是否在另外四个点组成的四边形内部 ,拓展算法是判断一个点是否在一个不规则的多边形内。四边形判别方法:
伪代码:Dim P1 P2 P3 P4 P(判别点)
function GetCross(IN_P1(x,y),IN_P2(x,y),P) as double
GetCross=((IN_p2.x - IN_p1.x) * (p.y - IN_p1.y) - (p.x -IN_ p1.x) * (IN_p2.y - IN_p1.y))
end fucntion
function Check(P,P1,P2,P3,P4) as boolen
if GetCross(p1,p2,P)*GetCross(p3,p4,P)>0 and GetCross(p2,p3,P)*GetCross(p4,p1,P)>0
Check=true
end if
end function
以上为四边形方法,不规则多边形还有更多方法。公式也能实现。百万级别数据,还是老实写点程序吧。 |
|