如何检查其他4个点之间是否包含一个点?

HuM*_*-SI 1 c# geometry area winforms

我有4个点创造了一些四边形,我想知道第五点是否介于两者之间.像这些图像:

在此输入图像描述

在此输入图像描述

无论第五点在哪里,我都需要知道第五点是否在其他4点创建的区域内.

也有4分能够移动.我怎么做?

Sta*_*tar 5

您可以使用GraphicsPath类.

Point p1 = new Point(1,0);
Point p2 = new Point(10, 3);
Point p3 = new Point(9, 13);
Point p4 = new Point(3,2);
Point p = new Point(5,5);
GraphicsPath g = new GraphicsPath();
g.AddPolygon(new Point[] { p1, p2, p3, p4 });
var result = g.IsVisible(p);
Run Code Online (Sandbox Code Playgroud)