我有一个位于Polyline
的点列表。列表中的点不按顺序排列。如何找到Polyline
的起点和终点(最好使用LINQ
)
public class Point
{
public double X;
public double Y;
}
var PointsOnPolyline = new List<Point>
{
new Point { X = 300, Y = 400 },
new Point { X = 0, Y = 400 },
new Point { X = 1200, Y = 500 },
new Point { X = 700, Y = 400 }
};
FinalResult = {P(0,400), P(1200,500)}
答案 0 :(得分:1)
所述问题是不适当的。 “折线”?哪条折线?在您的示例中,有4个!/ 2 = 12种不同的可能折线。
如果您假设折线上的点严格增加X值,那么您可以执行以下操作。
var orderedPoints = PointsOnPolyline.OrderBy(p => p.X);
var firstPoint = orderedPoints.First();
var lastPoint = orderedPoints.Last();