我使用Region来查找两条路径的交集(从两个多边形创建)。
GraphicsPath gp1 = new GraphicsPath();
gp1.AddPolygon(P);//P - array of points [first polygon]
Region d = new Region(gp1);
GraphicsPath gp2 = new GraphicsPath();
gp2.AddPolygon(P_);//P_ - array of points [second polygon]
d.Intersect(gp2);//founded intersection
如何获得Region d的交叉点?
答案 0 :(得分:1)
我建议使用适合此任务的多边形交叉库。
这是一个可以从C#中使用的最优秀的
http://www.angusj.com/delphi/clipper.php
我也确定如果需要,还有许多其他用C#编写的。这是关于主题的SO Q& A:
答案 1 :(得分:1)
使用
检查图形路径是否相交if(!d.IsEmpty(this.CreateGraphics())
{
RectangleF rectBound=d.GetBound(this.CreateGraphics());
Pointf intersectionPoint=new Pointf(rectBound.X+rectBound.Width/2,rectBound.Y+rectBound.Height/2);
}