public bool ArApibreztas(Apskritimas apskritimas)
        {
            if (krastiniuIlgiai == null)
            {
                KrastiniuIlgiai();
            }

            if (!arKvadratas)
            {
                return(false);
            }

            if (krastiniuIlgiai[0] != apskritimas.spindulys * 2)
            {
                return(false);
            }


            double apsX = Math.Round((kampai[0].x + kampai[2].x) / 2, 6);
            double apsY = Math.Round((kampai[0].y + kampai[2].y) / 2, 6);

            if (apsX == apskritimas.kampai[0].x && apsY == apskritimas.kampai[0].y)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #2
0
 private static void GautiFiguras()
 {
     using (StreamReader sr = new StreamReader(figuruDuomenys))
     {
         string line;
         while ((line = sr.ReadLine()) != null)
         {
             string[] input = line.Split(' ');
             if (input.Length != 4)
             {
                 Figura figura = new Figura(input[0]);
                 for (int i = 1; i < input.Length - 1; i++)
                 {
                     if (i % 2 != 0)
                     {
                         figura.PridetiKampa(new Point(double.Parse(input[i]), double.Parse(input[i + 1])));
                     }
                 }
                 visosFiguros.Add(figura);
             }
             else
             {
                 Apskritimas figura = new Apskritimas(input[0], double.Parse(input[3]));
                 figura.PridetiKampa(new Point(double.Parse(input[1]), double.Parse(input[2])));
                 apskritimai.Add(figura);
             }
         }
     }
 }
        public bool ArIbreztas(Apskritimas apskritimas)
        {
            if (krastiniuIlgiai == null)
            {
                KrastiniuIlgiai();
            }

            if (!arStatusisTrikampis)
            {
                return(false);
            }

            double izambine = krastiniuIlgiai.Max();

            if (apskritimas.spindulys * 2 != izambine)
            {
                return(false);
            }

            double izambinesVidX = 0, izambinesVidY = 0;

            for (int i = 0; i < kampai.Count; i++)
            {
                double ilgis;
                if (i == kampai.Count - 1)
                {
                    ilgis = AtstumasTarpDviejuTasku(kampai[i], kampai[0]);
                    if (ilgis == izambine)
                    {
                        izambinesVidX = Math.Round((kampai[i].x + kampai[0].x) / 2, 6);
                        izambinesVidY = Math.Round((kampai[i].y + kampai[0].y) / 2, 6);
                        break;
                    }
                }
                else
                {
                    ilgis = AtstumasTarpDviejuTasku(kampai[i], kampai[i + 1]);
                    if (ilgis == izambine)
                    {
                        izambinesVidX = Math.Round((kampai[i].x + kampai[i + 1].x) / 2, 6);
                        izambinesVidY = Math.Round((kampai[i].y + kampai[i + 1].y) / 2, 6);
                        break;
                    }
                }
            }

            if (izambinesVidX == apskritimas.kampai[0].x && izambinesVidY == apskritimas.kampai[0].y)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }