public static void Factory_with_InRadius_Creates_Shape()
        {
            Decagon decagon = Decagon.DecagonByInradius(9.510565163);

            Assert.AreEqual(numberOfSides, decagon.Points.Count);
            Assert.AreEqual(numberOfSides, decagon.Angles.Count);
            Assert.AreEqual(numberOfSides, decagon.Sides.Count);
            Assert.AreEqual(GeometryLibrary.ZeroTolerance, decagon.Tolerance);
            Assert.AreEqual(0, decagon.Centroid.X, Tolerance);
            Assert.AreEqual(0, decagon.Centroid.Y, Tolerance);

            Assert.AreEqual(numberOfSides, decagon.NumberOfSides);
            Assert.AreEqual(6.180339887, decagon.SideLength, Tolerance);

            Assert.AreEqual(10, decagon.CircumRadius, Tolerance);
            Assert.AreEqual(0, decagon.CircumCenter.X, Tolerance);
            Assert.AreEqual(0, decagon.CircumCenter.Y, Tolerance);

            Assert.AreEqual(9.510565163, decagon.Apothem, Tolerance);
            Assert.AreEqual(9.510565163, decagon.InRadius, Tolerance);
            Assert.AreEqual(0, decagon.InCenter.X, Tolerance);
            Assert.AreEqual(0, decagon.InCenter.Y, Tolerance);

            Assert.AreEqual(144, decagon.AngleInterior.Degrees, Tolerance);
            Assert.AreEqual(1440, decagon.AngleInteriorSum.DegreesRaw, Tolerance);
        }
Beispiel #2
0
        private void CreateDecagonByHand(Decagon decagon)
        {
            List <Point> points = new List <Point>();
            int          x, y;

            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine($"Введите {i + 1} точку: ");
                Console.WriteLine("X: ");
                x = int.Parse(Console.ReadLine());
                Console.WriteLine("Y: ");
                y = int.Parse(Console.ReadLine());
                Point point = new Point(x, y);
                points.Add(point);
            }
            decagon.FillCoordinates(points.ToArray());
        }
Beispiel #3
0
        private void StartView()
        {
            Console.WriteLine("Давайте создадим десятиугольник");
            Console.WriteLine("Вы можете: \n1. ввести координаты (20 штук!) или \n2. заполнить их рандомно");
            Decagon decagon = new Decagon();

            if (int.TryParse(Console.ReadLine(), out int answer))
            {
                if (answer == 1)
                {
                    CreateDecagonByHand(decagon);
                }
                else if (answer == 2)
                {
                    CreateDecagonRandomly(decagon);
                }

                Console.WriteLine("Десятиугольник готов!");
            }

            Console.WriteLine($"Теперь мы можем найти периметр этого десятиугольника: {decagon.GetPerimeter()}");
            NumberView();
        }
Beispiel #4
0
 private void CreateDecagonRandomly(Decagon decagon)
 {
     decagon.FillCoordinatesRandomly();
 }