Ejemplo n.º 1
0
        public static void ExtremePoint(List <Point> Points)
        {
            Console.WriteLine("Points/n");
            foreach (var item in Points)
            {
                Console.WriteLine(item.x + "," + item.y + "\n");
            }
            List <ExtremePoints> ExtPoints = Points.Select(x => new ExtremePoints()
            {
                Point = x
            }).ToList();
            List <ExtremePoints> ExtPoints1 = new List <ExtremePoints>();

            for (int i = 0; i < Points.Count; i++)
            {
                for (int j = 0; j < Points.Count; j++)
                {
                    if (i != j)
                    {
                        for (int k = 0; k < Points.Count; k++)
                        {
                            if (j != k)
                            {
                                for (int l = 0; l < Points.Count; l++)
                                {
                                    if (k != l)
                                    {
                                        Polygon pol = new Polygon();
                                        pol.Vertex.AddLast(Points[i]);
                                        pol.Vertex.AddLast(Points[j]);
                                        pol.Vertex.AddLast(Points[k]);

                                        if (Lab3.CheckPointInclusion(pol, Points[l]))
                                        {
                                            ExtPoints[l].IsExtreme = false;
                                            //Console.WriteLine("Triangle {0},{1}|{2},{3}|{4},{5}| Query {6},{7} REsult:{8}|{9}",
                                            //                    Points[i].x, Points[i].y, Points[j].x, Points[j].y, Points[k].x,
                                            //                    Points[k].y, Points[l].x, Points[l].y, Lab3.CheckPointInclusion(pol, Points[l]) ? "Inside" : "Outside",
                                            //                    Lab3.RayCasting(pol, Points[l]) % 2 == 1 ? "Inside" : "Outside");
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            Console.WriteLine("Sorted Points\n");
            foreach (var item in ExtPoints.Where(m => m.IsExtreme))
            {
                Console.WriteLine(item.Point.x + "," + item.Point.y + "\n");
            }
            Console.ReadKey();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            try
            {
                // Lab1.getData();
                //Lab2.getData();
                //Lab2.getDataInt();

                Lab3.getData();
                // Lab4.getData();
            }

            catch (Exception e)
            {
                Console.WriteLine("Error: " + e);
            }
        }