检查形状是否重叠的最简单方法 vb.net
easiest way to check if shapes are overlapping vb.net
我想知道,有没有简单的方法可以检查两个形状(可以是任何一种形状)是否重叠?我可以用圆形或矩形来锻炼。但我想检查任何形状的重叠。例如,我在同一个表格上画了一个 L 形和一个三角形。我想将三角形移动到尽可能接近代码的 L 形。就像所附的图片一样。我尝试在 vb 或 c#
中执行此操作
一个简单的解决方案是将形状绘制为 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
link: Microsoft
我想知道,有没有简单的方法可以检查两个形状(可以是任何一种形状)是否重叠?我可以用圆形或矩形来锻炼。但我想检查任何形状的重叠。例如,我在同一个表格上画了一个 L 形和一个三角形。我想将三角形移动到尽可能接近代码的 L 形。就像所附的图片一样。我尝试在 vb 或 c#
中执行此操作一个简单的解决方案是将形状绘制为 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
link: Microsoft