我想知道,如果有任何简单的方法来检查两个形状(可以是任何形状)是否重叠?我可以用圆圈或矩形来锻炼。但我想检查任何形状的重叠。例如,我在同一个表格上绘制一个L形和一个三角形。我想将三角形移动到尽可能靠近代码的L形。就像在附图中一样。我尝试在vb或c#
中执行此操作答案 0 :(得分:0)
一个简单的解决方案是将形状绘制为graphicsPaths,然后使用相交函数查看是否拦截:
Dim Gp1 as new GraphicsPath
Dim Gp2 as new GraphicsPath
Gp1.Addline(pt1,pt2)
Gp2.Addline(pt2,pt3)
Gp2.Addline(pt3,pt5)
Dim Reg1 as new region(Gp1)
Dim Reg2 as new region(Gp2)
Reg1.Intersect(Reg2)
If Not Reg1.IsEmpty(g) Then
Msgbox "Intersection"
End If
链接:Microsoft