Tag:

使用绕组编号指向多边形

问题是:如何确定一个点是否在多边形内? 这个问题已被多次询问和回答。 有多种方法可用于确定点是否在多边形内。 我已经了解了绕组数算法,将另一个SO线程的可靠答案移植到C#中并在其周围编写了xUnit测试,以确保我能够无情地重构。 目标是得到一个答案,所有这些似乎都使用过程编程方法和变量名称,这些名称与您在数学公式中找到的类似,并将其重构为一组合理合理的OOP类和方法。 所以,要将这个问题专门改为我将继续提供的答案: 如何确定位置/点(纬度和经度)是否在OOP C#中的多边形内?

如何在图片框中绘制边缘上标记的多边形

我试过这种方式,但我没有得到所需的结果: System.Drawing.Point[] p = new System.Drawing.Point[6]; p[0].X = 0; p[0].Y = 0; p[1].X = 53; p[1].Y = 111; p[2].X = 114; p[2].Y = 86; p[3].X = 34; p[3].Y = 34; p[4].X = 165; p[4].Y = 7; g = PictureBox1.CreateGraphics(); g.DrawPolygon(pen1, p); 我想要做的是在picturebox中绘制一个多边形,该多边形使用不同的颜色并根据速率(角的数量和边的坐标)定义

改变多边形的点数

解决方案 窗口拖动的动态余量 所以我试图让我的多边形在窗口移动时移动。 我有; private void ResetPolygon(Point Point1, Point Point2, Point Point3) { SpeechPoly.Points.Clear(); ObservableCollection myPointCollection = new ObservableCollection(); myPointCollection.Add(Point3); myPointCollection.Add(Point2); myPointCollection.Add(Point1); foreach (Point p in myPointCollection) { SpeechPoly.Points.Add(p); } } private void Window_LocationChanged(object sender, EventArgs e) { if (this.IsLoaded) { Point Point1 = new Point(newPoint3); Point Point2 = new Point(newPoint2); Point Point3 = new […]

在屏幕上查找点的坐标?

问题是我有一些图形显示在一个forms,例如矩形,我想捕获当点到达thees字段。 因此,我试图找到这些矩形的corrrdinates,但由于它是forms的坐标,它与鼠标位置的坐标不匹配。 所以我想知道有没有办法在屏幕上找到一个Point在屏幕上有什么coord,而不是在窗体或控制器中?

什么是适合2D点结构的`GetHashCode()`算法(避免碰撞)

请考虑以下代码: struct Vec2 : IEquatable { double X,Y; public bool Equals(Vec2 other) { return X.Equals(other.X) && Y.Equals(other.Y); } public override bool Equals(object obj) { if (obj is Vec2) { return Equals((Vec2)obj); } return false; } // this will return the same value when X, Y are swapped public override int GetHashCode() { return X.GetHashCode() ^ […]

如何将多边形绑定到WPF中的现有PointCollection?

即使我认为有限的集合有数据(我在调试中检查过),我当前的实现也没有在表单上显示任何内容。 这是一些代码: public event PropertyChangedEventHandler PropertyChanged; PointCollection imagePoints; public PointCollection ImagePoints { get { return this.imagePoints; } set { if (this.imagePoints != value) { this.imagePoints = value; if (this.PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(“ImagePoints”)); } } } } 和相应的xaml: 现在,我通过编写代码完成了所有绑定。 在这个例子中 ,它工作正常,但在我的情况下,点不会出现在多边形上。 有智慧的珍珠吗? 编辑:这是完整的xaml代码 编辑:修改配置文件后,我在输出窗口中找到它: System.Windows.Data Information: 41 : BindingExpression path error: ‘ImagePoints’ property […]

如何在C#中错过ZedGraph线图中的点

我有一些代码可以在ZedGraph中绘制漂亮的折线图。 我不能完全改变代码,但我想让一些行在x轴上的每个点都没有值。 我可以在Excel中执行此操作,但我不知道如何在ZedGraph中。 我用.AddCurve创建图形。 我该怎么做呢?

快速算法,找到平面上给定点的x个最近点

我想找到一个快速算法,以便找到平面上给定点的x个最近点。 我们实际上处理的点数不多(1000到100,000之间),但我需要每个点的x最近点。 (其中x通常在5到20之间。) 我需要用C#编写它。 关于用例的更多上下文:这些点是地图上的坐标。 (我知道,这意味着我们并不是在谈论一架飞机,但我希望避免处理投影问题。)最后,有许多其他点靠近它们的点应该用红色显示,点数不要太多靠近它们的点应显示为绿色。 在这两个极端之间,点是颜色梯度。

查找点是否位于线段上

我有由两个点A(x1,y1,z1)和B(x2,y2,z2)和点p(x,y,z)定义的线段。 如何检查该点是否位于线段上?