0

我使用 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 的交点?

4

2 回答 2

1

我建议使用适合此任务的多边形相交库。

这是一个可以从 C# 中使用的最优秀的

http://www.angusj.com/delphi/clipper.php

如果需要的话,我也相信还有很多其他的用 C# 编写的。这是关于该主题的 SO Q&A:

如何使两个多边形相交?

于 2012-11-21T05:12:01.950 回答
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);

}
于 2013-04-16T05:00:09.820 回答