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

标签 c# winforms geometry area

我有 4 个点可以创建一些四边形,我想知道第五个点是否在它们之间。 像这些图片:

enter image description here

enter image description here

第五个点在哪里并不重要,我需要知道第五个点是否在其他 4 个点创建的区域内。

4 个点也可以移动。 我该怎么做?

最佳答案

您可以使用 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);

关于c# - 如何检查一个点是否包含在其他 4 个点之间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15258900/

相关文章:

c# - Winforms C# Outlook 样式日历

mysql - Visual Basic MySQL Datagrid 从数据库中删除

3d - 计算 3D 空间中的视锥体

c# - 无法将类型 'System.Attribute' 转换为泛型参数 'T' - 为什么?

c# - 在与角色 Controller /C# 发生碰撞时更改立方体的颜色

c# - 我们可以强制 C# 编译器先运行构造函数吗?

c# - Poco-Viewmodel 的 Control.Databindings 意外行为

c# - 有什么方法可以使用 Stream.CopyTo 只复制一定数量的字节?

javascript - Wack-A-Circle 游戏不工作

java - Javafx中如何让球从物体上弹开?