Я хочу найти крайние точки, и результат должен быть как это , но мой код дает мне этот вывод
Итак, я хочу изменить его, чтобы дать мне правильный вывод, как я могу это сделать? Большое спасибо!
public override void Run(List<Point> points, List<Line> lines, List<Polygon> polygons, ref List<Point> outPoints, ref List<Line> outLines, ref List<Polygon> outPolygons)
{
List<Point> opoints = new List<Point>();
HelperMethods helper = new HelperMethods();
for (int i = 0; i < points.Count; i++)
{
for (int j = 0; j < points.Count; j++)
{
for (int k = 0; k < points.Count; k++)
{
if (points[i] != points[j] && points[j] != points[k] && points[i] != points[k])
{
for (int p = 0; p < points.Count; p++)
{
if (i != p && j != p && k != p)
{
if (HelperMethods.PointInTriangle(points[p], points[i], points[j], points[k]) == Enums.PointInPolygon.Inside)
{
opoints.Add(points[p]);
}
}
}
}
}
}
}
outPoints = opoints;
}