Пример #1
0
        void drawMesh(Graphics e)
        {
            if (meshs != null)
            {
                foreach (var mesh in meshs)
                {
                    ArithmMeanGrade crit = new ArithmMeanGrade();
                    Gradient        st   = new Gradient();

                    for (int i = 0; i < mesh.Y - 1; i++)
                    {
                        for (int j = 0; j < mesh.X - 1; j++)
                        {
                            // st.GetCellColor(crit.Calculate(mesh));
                            System.Drawing.Point[] littlemesh = new System.Drawing.Point[4];
                            littlemesh[0] = new System.Drawing.Point((int)(mesh[i, j].X), (int)(mesh[i, j].Y));
                            littlemesh[1] = new System.Drawing.Point((int)(mesh[i + 1, j].X), (int)(mesh[i + 1, j].Y));
                            littlemesh[2] = new System.Drawing.Point((int)(mesh[i + 1, j + 1].X), (int)(mesh[i + 1, j + 1].Y));
                            littlemesh[3] = new System.Drawing.Point((int)(mesh[i, j + 1].X), (int)(mesh[i, j + 1].Y));


                            Geometry.Point[,] littlemesh2 = new Geometry.Point[2, 2];
                            littlemesh2[0, 0]             = new Geometry.Point((int)(mesh[i, j].X), (int)(mesh[i, j].Y));
                            littlemesh2[0, 1]             = new Geometry.Point((int)(mesh[i + 1, j].X), (int)(mesh[i + 1, j].Y));
                            littlemesh2[1, 0]             = new Geometry.Point((int)(mesh[i, j + 1].X), (int)(mesh[i, j + 1].Y));
                            littlemesh2[1, 1]             = new Geometry.Point((int)(mesh[i + 1, j + 1].X), (int)(mesh[i + 1, j + 1].Y));



                            int       cols  = 2;
                            int       rows  = 2;
                            RegMesh2D mesh2 = new RegMesh2D(littlemesh2, cols, rows);
                            Brush     br    = new SolidBrush(st.GetCellColor(crit.Calculate(mesh2)));

                            e.FillPolygon(br, littlemesh);
                        }
                    }
                    for (int i = 0; i < mesh.Y; i++)
                    {
                        for (int j = 0; j < mesh.X; j++)
                        {
                            if (j != mesh.X - 1)
                            {
                                e.DrawLine(new Pen(Color.Black),
                                           (int)mesh[i, j].X, (int)mesh[i, j].Y,
                                           (int)mesh[i, j + 1].X, (int)mesh[i, j + 1].Y);
                            }
                            if (i != mesh.Y - 1)
                            {
                                e.DrawLine(new Pen(Color.Black),
                                           (int)mesh[i, j].X, (int)mesh[i, j].Y,
                                           (int)mesh[i + 1, j].X, (int)mesh[i + 1, j].Y);
                            }
                        }
                    }
                }
                meshs = null;
            }
        }
Пример #2
0
        public void RegMesh2DConstructorTest()
        {
            int       cols   = 0; // TODO: инициализация подходящего значения
            int       rows   = 0; // TODO: инициализация подходящего значения
            RegMesh2D target = new RegMesh2D(cols, rows);

            Assert.Inconclusive("TODO: реализуйте код для проверки целевого объекта");
        }
Пример #3
0
        public void YTest()
        {
            int       cols   = 0;                         // TODO: инициализация подходящего значения
            int       rows   = 0;                         // TODO: инициализация подходящего значения
            RegMesh2D target = new RegMesh2D(cols, rows); // TODO: инициализация подходящего значения
            int       actual;

            actual = target.Y;
            Assert.Inconclusive("Проверьте правильность этого метода теста.");
        }
Пример #4
0
        public void ItemTest()
        {
            int       cols     = 0;                         // TODO: инициализация подходящего значения
            int       rows     = 0;                         // TODO: инициализация подходящего значения
            RegMesh2D target   = new RegMesh2D(cols, rows); // TODO: инициализация подходящего значения
            int       i        = 0;                         // TODO: инициализация подходящего значения
            int       j        = 0;                         // TODO: инициализация подходящего значения
            IPoint    expected = null;                      // TODO: инициализация подходящего значения
            IPoint    actual;

            target[i, j] = expected;
            actual       = target[i, j];
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Проверьте правильность этого метода теста.");
        }
Пример #5
0
        public double Calculate(RegMesh2D mesh)
        {
            List <double> average = new List <double>(); //среднее

            for (int i = 0; i < mesh.X - 1; i++)
            {
                for (int j = 0; j < mesh.Y - 1; j++)
                {
                    average.Add(CalculateSquare(mesh[i, j], mesh[i, j + 1], mesh[i + 1, j + 1], mesh[i + 1, j]));
                }
            }

            double sum = 0;

            foreach (double i in average)
            {
                sum += i;
            }

            return(sum / ((mesh.X - 1) * (mesh.Y - 1)));
        }
Пример #6
0
        public void GenerateTest()
        {
            int nX = 3;                                               // TODO: инициализация подходящего значения
            int nY = 3;                                               // TODO: инициализация подходящего значения
            QuadSimpleMeshGen target = new QuadSimpleMeshGen(nX, nY); // TODO: инициализация подходящего значения
            List <ICurve>     curves = new List <ICurve>();

            curves.Add(new Line(new Point(0, 0), new Point(0, 9)));
            curves.Add(new Line(new Point(0, 9), new Point(9, 9)));
            curves.Add(new Line(new Point(9, 9), new Point(9, 0)));
            curves.Add(new Line(new Point(9, 9), new Point(0, 0)));
            Contour contour = new Contour(curves); // TODO: инициализация подходящего значени

            IPoint[,] mesh = new Point[4, 4];
            mesh[0, 0]     = new Point(0, 0);
            mesh[0, 1]     = new Point(3, 0);
            mesh[0, 2]     = new Point(6, 0);
            mesh[0, 3]     = new Point(9, 0);
            mesh[1, 0]     = new Point(0, 3);
            mesh[1, 1]     = new Point(3, 3);
            mesh[1, 2]     = new Point(6, 3);
            mesh[1, 3]     = new Point(9, 3);
            mesh[2, 0]     = new Point(0, 6);
            mesh[2, 1]     = new Point(3, 6);
            mesh[2, 2]     = new Point(6, 6);
            mesh[2, 3]     = new Point(9, 6);
            mesh[3, 0]     = new Point(0, 9);
            mesh[3, 1]     = new Point(3, 9);
            mesh[3, 2]     = new Point(6, 9);
            mesh[3, 3]     = new Point(9, 9);
            RegMesh2D expected = new RegMesh2D(mesh, nY, nX); // TODO: инициализация подходящего значения

            List <RegMesh2D> actual;

            actual = target.Generate(contour);

            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Проверьте правильность этого метода теста.");
        }
Пример #7
0
        public void CalculateTest()
        {
            ArithmMeanGrade target = new ArithmMeanGrade(); // TODO: инициализация подходящего значения

            int row = 4;
            int col = 4;

            IPoint[,] setka = new IPoint[row, col];
            for (int i = 0; i < row; i++)
            {
                for (int j = 0; j < col; j++)
                {
                    setka[i, j] = new Point(i + 1, j + 1);
                }
            }

            RegMesh2D mesh     = new RegMesh2D(setka, 4, 4); // TODO: инициализация подходящего значения
            double    expected = 1;                          // TODO: инициализация подходящего значения
            double    actual;

            actual = target.Calculate(mesh);
            Assert.AreEqual(expected, actual);
            // Assert.Inconclusive("Проверьте правильность этого метода теста.");
        }