Exemple #1
0
 public void Test2()
 {
     Assert.Equal(0, SumClass.Sum(testList2));
     Assert.Equal(7, SumClass.Sum(testList3));
     Assert.Equal(28, SumClass.Sum(testList4));
     Assert.Equal(0, SumClass.Sum(testList5));
 }
        public void SumTestNoEle()
        {
            var sumClass  = new SumClass();
            var emptyList = new List <int>();

            Assert.AreEqual(0, sumClass.SumMyNms(emptyList));
        }
Exemple #3
0
        public void PrintNullTest()
        {
            SumClass summ   = new SumClass();
            int      output = -1;

            Assert.AreEqual(output, summ.Summy(null));
        }
Exemple #4
0
        public static void Point_N(ZArrayDescriptor arr, int N1_sin, int N2_sin, int scale, Graphics g)
        {
            double max = SumClass.getMax(arr);
            double c4  = max / 4;
            double c2  = max / 2;
            double c3  = c4 + c2;

            for (int i = 0; i < N2_sin; i++)
            {
                for (int j = 0; j < N1_sin; j++)
                {
                    int x = i * scale;
                    int y = j * scale;
                    if (arr.array[i, j] == 0)
                    {
                        continue;
                    }
                    if (arr.array[i, j] < c4)
                    {
                        g.FillRectangle(new SolidBrush(Color.FromArgb(0, 0, 0)), x, y, 1, 1); continue;
                    }
                    if (arr.array[i, j] < c2)
                    {
                        g.FillRectangle(new SolidBrush(Color.FromArgb(0, 250, 0)), x, y, 1, 1); continue;
                    }
                    if (arr.array[i, j] < c3)
                    {
                        g.FillRectangle(new SolidBrush(Color.FromArgb(250, 150, 0)), x, y, 1, 1); continue;
                    }
                }
            }
        }
Exemple #5
0
        public void SumTest()
        {
            // Prepare test case
            double[] numbers        = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
            double   summedExpected = 15.0;
            double   summed         = SumClass.Sum(numbers);

            Assert.AreEqual(summedExpected, summed);
        }
        public void SumTestNull()
        {
            var sumClass = new SumClass();
            var nullList = new List <int>();

            nullList = null;

            Assert.AreEqual(null, sumClass.SumMyNms(nullList));
        }
        public void SumTestOneEle()
        {
            var sumClass   = new SumClass();
            var oneEleList = new List <int>();

            oneEleList.Add(8);

            Assert.AreEqual(8, sumClass.SumMyNms(oneEleList));
        }
Exemple #8
0
        public void PrintEmptyListTest()
        {
            SumClass summ   = new SumClass();
            var      listie = new List <int> {
            };
            int output      = 0;

            Assert.AreEqual(output, summ.Summy(listie));
        }
Exemple #9
0
        public void PrintOneNumberTest()
        {
            SumClass summ   = new SumClass();
            var      listie = new List <int> {
                8
            };
            int output = 8;

            Assert.AreEqual(output, summ.Summy(listie));
        }
Exemple #10
0
        public void SumTest()
        {
            var sumClass = new SumClass
            {
                Add1 = 6,
                Add2 = 3
            };

            Assert.AreEqual(9, sumClass.Result);
        }
Exemple #11
0
        public void PrintSumTest()
        {
            SumClass summ   = new SumClass();
            var      listie = new List <int> {
                3, 3, 4, 5, 6, 6
            };
            int output = 27;

            Assert.AreEqual(output, summ.Summy(listie));
        }
Exemple #12
0
        //  Рисование таблицы чисел по двум массивам k1 и k2 с сдвигом

        public static void Tabl_int(ZArrayDescriptor[] zArrayPicture, PictureBox pictureBox1, int k1, int k2, int N1_sin, int N2_sin, int scale, int d, int sdvig)
        {
            China(N1_sin, N2_sin);
            //MessageBox.Show(" M1 " + M1 + " N1 " + N1 + " M2 " + M2 + " N2 " + N2);

            if (zArrayPicture[k1] == null)
            {
                MessageBox.Show("zArrayPicture[k1] == NULL  Unrup.Tabl_int "); return;
            }
            if (zArrayPicture[k2] == null)
            {
                MessageBox.Show("zArrayPicture[k2] == NULL  Unrup.Tabl_int "); return;
            }

            int nx = zArrayPicture[k1].width;
            int ny = zArrayPicture[k1].height;

            //ZArrayDescriptor res = new ZArrayDescriptor(N1_sin, N2_sin);
            double max1 = SumClass.getMax(zArrayPicture[k1]);
            double min1 = SumClass.getMin(zArrayPicture[k1]);
            double max2 = SumClass.getMax(zArrayPicture[k2]);
            double min2 = SumClass.getMin(zArrayPicture[k2]);
            // China(N1_sin, N2_sin);
            Graphics g = Graphics.FromHwnd(pictureBox1.Handle);

            g.Clear(Color.White);

            ZArrayDescriptor arr = new ZArrayDescriptor(N2_sin, N1_sin);

            int M  = M1 * N1;
            int N  = M2 * N2;
            int MN = N1_sin * N2_sin;

            for (int i = 0; i < nx; i++)
            {
                for (int j = 0; j < ny; j++)
                {
                    //double a = res.array[i, j];
                    int x  = (int)((zArrayPicture[k1].array[i, j] - min1) * (N2_sin - 1) / (max1 - min1));
                    int b2 = sdv(x, sdvig, N2_sin);
                    int y  = (int)((zArrayPicture[k2].array[i, j] - min1) * (N1_sin - 1) / (max1 - min1));
                    int X0 = (M * b2 + N * y) % MN;
                    //if (X0 < d ) Point(b2 * scale, y * scale, g);
                    if (X0 < d)
                    {
                        arr.array[b2, y] += 1;
                    }
                }
            }


            Point_N(arr, N1_sin, N2_sin, scale, g);
        }
        public void SumTestSumOfList()
        {
            var sumClass = new SumClass();
            var numList  = new List <int>();

            numList.Add(15);
            numList.Add(15);
            numList.Add(5);
            numList.Add(18);

            Assert.AreEqual(53, sumClass.SumMyNms(numList));
        }
Exemple #14
0
        public void TestCase()
        {
            int        sum     = 8;
            var        sumNums = new SumClass();
            List <int> list    = new List <int>()
            {
                1, 3, 4
            };

            int output = sumNums.GetSum(list);

            Assert.AreEqual(sum, output);
        }
Exemple #15
0
        public FirstPageViewModel()
        {
            _data = new SumClass {
                Add1 = 0, Add2 = 0
            };
            _add1 = _data.Add1.ToString();
            _add2 = _data.Add2.ToString();

            Increase1Command = new DelegateCommand(Increase1);
            Increase2Command = new DelegateCommand(Increase2);
            Decrease1Command = new DelegateCommand(Decrease1);
            Decrease2Command = new DelegateCommand(Decrease2);
        }
Exemple #16
0
 public void AddTest()
 {
     // Prepare test case
     double[] aArray             = new double[]             { 0.0, 1.0, 2.0, -1.0, 10000000000.0 };
     double[] bArray             = new double[]             { 0.0, 2.0, -20.0, -2.0, -10000000000.0 };
     double[] addedExpectedArray = new double[] { 0.0, 3.0, -18.0, -3.0, 0.0 };
     // Run test
     for (int i = 0; i < 5; i++)
     {
         double a             = aArray[i];
         double b             = bArray[i];
         double addedExpected = addedExpectedArray[i];
         double added         = SumClass.Add(a, b);
         // Make sure that the results are expected values
         Assert.AreEqual(addedExpected, added);
     }
 }
        public static void Diapazon1(ZArrayDescriptor[] zArrayPicture, int regImage, int imax)
        {
            int nx = zArrayPicture[regImage].width;
            int ny = zArrayPicture[regImage].height;
            //MessageBox.Show("max= " + max + "min= "+min);

            double max = SumClass.getMax(zArrayPicture[regImage]);
            double min = SumClass.getMin(zArrayPicture[regImage]);

            for (int i = 0; i < nx; i++)
            {
                for (int j = 0; j < ny; j++)
                {
                    int c = (int)((zArrayPicture[regImage].array[i, j] - min) * imax / (max - min));
                    zArrayPicture[regImage].array[i, j] = c;
                }
            }
        }
Exemple #18
0
        static void Main(string[] args)
        {
            SumClass sm = new SumClass
            {
                X = 25,
                Y = 10
            };

            Multiply my = new Multiply
            {
                X = 5,
                Y = 2
            };

            CalculationClass calc = new CalculationClass();

            calc.Calculate(sm);
            calc.Calculate(my);
        }
        protected void AddNumber(object Sender, EventArgs E)
        {
            int Num1, Num2;
            //int.TryParse(txtFirstNum.Value, out Num1);
            int.TryParse(Text1.Value, out Num1);
            int.TryParse(Text2.Value, out Num2);
            // creating object of MyService proxy class  
            var ObjMyService = new MyServiceSoapClient();

            // Invoke service method through service proxy  
            divSum.InnerHtml = ObjMyService.SumOfNums(Num1, Num2).ToString();

            var ObjSumClass = new SumClass { First = Num1, Second = Num2 };
            var ObjSerializer = new JavaScriptSerializer();
            var JsonStr = ObjSerializer.Serialize(ObjSumClass);
            
            divSumThroughJson.InnerHtml = ObjMyService.SumOfNumsVTwo(JsonStr).Sum.ToString();
            //ObjMyService.GetSumThroughObject(JsonStr).Sum.ToString();
            //ObjMyServiceProxy.GetSumThroughObject(JsonStr).Sum.ToString();
        }
        protected void AddNumber(object Sender, EventArgs E)
        {
            int Num1, Num2;

            //int.TryParse(txtFirstNum.Value, out Num1);
            int.TryParse(Text1.Value, out Num1);
            int.TryParse(Text2.Value, out Num2);
            // creating object of MyService proxy class
            var ObjMyService = new MyServiceSoapClient();

            // Invoke service method through service proxy
            divSum.InnerHtml = ObjMyService.SumOfNums(Num1, Num2).ToString();

            var ObjSumClass = new SumClass {
                First = Num1, Second = Num2
            };
            var ObjSerializer = new JavaScriptSerializer();
            var JsonStr       = ObjSerializer.Serialize(ObjSumClass);

            divSumThroughJson.InnerHtml = ObjMyService.SumOfNumsVTwo(JsonStr).Sum.ToString();
            //ObjMyService.GetSumThroughObject(JsonStr).Sum.ToString();
            //ObjMyServiceProxy.GetSumThroughObject(JsonStr).Sum.ToString();
        }
 public SumClass(int depth)
 {
     _depth = depth;
     _next  = depth < MaxDepth ? new SumClass(depth + 1) : null;
 }
        public static void Vizual_Circle(ZArrayDescriptor zArrayDescriptor, PictureBox pictureBox01, int x0, int y0, int radius)
        {
            // c1 = ImageProcessor.getPixel(i, j, data1);                       // c1 = bmp1.GetPixel(i, j);
            // ImageProcessor.setPixel(data5, i, j, Color.FromArgb(r, r, r));   // bmp2.SetPixel(j, i, c1);
            // bmp5.UnlockBits(data5);
            if (pictureBox01 == null)
            {
                MessageBox.Show("pictureBox01 == null"); return;
            }
            if (zArrayDescriptor == null)
            {
                MessageBox.Show("ZArrayDescriptor array == null"); return;
            }

            int width  = zArrayDescriptor.width;
            int height = zArrayDescriptor.height;

            if (width == 0 || height == 0)
            {
                MessageBox.Show("width == 0 || height == 0"); return;
            }

            Bitmap     bmp2  = new Bitmap(width, height);
            BitmapData data2 = ImageProcessor.getBitmapData(bmp2);

            double max = SumClass.getMax(zArrayDescriptor);
            double min = SumClass.getMin(zArrayDescriptor);

            //MessageBox.Show("max = " + Convert.ToString(max) + " min = " + Convert.ToString(min));

            if (Math.Abs(max - min) < 0.0000001)
            {
                // MessageBox.Show("max = min");
                int c = 0;
                if (max < 255 && max > 0.0)
                {
                    c = Convert.ToInt32(max);
                }
                if (max > 255)
                {
                    c = 255;
                }
                if (max < 0)
                {
                    c = 0;
                }
                for (int j = 0; j < width; j++)
                {
                    for (int i = 0; i < height; i++)
                    {
                        Color c1 = Color.FromArgb(c, c, c);
                        ImageProcessor.setPixel(data2, j, i, c1);
                    }
                }
                pictureBox01.Image = bmp2;
                bmp2.UnlockBits(data2);
                return;
            }
            if (max != min)
            {
                double mxmn = 255.0 / (max - min);
                for (int j = 0; j < width; j++)
                {
                    for (int i = 0; i < height; i++)
                    {
                        int   c  = Convert.ToInt32((zArrayDescriptor.array[j, i] - min) * mxmn);
                        Color c1 = Color.FromArgb(c, c, c);
                        ImageProcessor.setPixel(data2, j, i, c1);
                    }
                }

                Color c2 = Color.FromArgb(255, 128, 255);
                DrawCircle(data2, x0, y0, radius, c2);                           // Рисование окружности  цветом

                Fill_Circle_Outside(zArrayDescriptor, data2, width, height, c2); // Заполнение цветом снаружи


                pictureBox01.Image = bmp2;
                bmp2.UnlockBits(data2);
                return;
            }
        }
        //---------------------------------------------------------------------------------------------------------------------
        //
        //         Из ZArrayDescriptor.array в PictureBox
        //
        public static void Vizual_Picture(ZArrayDescriptor zArrayDescriptor, PictureBox pictureBox01)
        {
            // c1 = ImageProcessor.getPixel(i, j, data1);                       // c1 = bmp1.GetPixel(i, j);
            // ImageProcessor.setPixel(data5, i, j, Color.FromArgb(r, r, r));   // bmp2.SetPixel(j, i, c1);
            // bmp5.UnlockBits(data5);

            if (pictureBox01 == null)
            {
                MessageBox.Show("Vizual_Picture: pictureBox01 == null"); return;
            }
            if (zArrayDescriptor == null)
            {
                MessageBox.Show("Vizual_Picture: ZArrayDescriptor array == null"); return;
            }

            int width  = zArrayDescriptor.width;
            int height = zArrayDescriptor.height;

            if (width == 0 || height == 0)
            {
                MessageBox.Show("Vizual_Picture: width == 0 || height == 0"); return;
            }

            Bitmap     bmp2  = new Bitmap(width, height);
            BitmapData data2 = ImageProcessor.getBitmapData(bmp2);

            double max = SumClass.getMax(zArrayDescriptor);
            double min = SumClass.getMin(zArrayDescriptor);

            //MessageBox.Show("max = " + Convert.ToString(max) + " min = " + Convert.ToString(min));

            if (Math.Abs(max - min) < 0.0000001)
            {
                // MessageBox.Show("max = min");
                int c = 0;
                if (max < 255 && max > 0.0)
                {
                    c = Convert.ToInt32(max);
                }
                if (max > 255)
                {
                    c = 255;
                }
                if (max < 0)
                {
                    c = 0;
                }
                for (int j = 0; j < width; j++)
                {
                    for (int i = 0; i < height; i++)
                    {
                        Color c1 = Color.FromArgb(c, c, c);
                        ImageProcessor.setPixel(data2, j, i, c1);
                    }
                }
                pictureBox01.Image = bmp2;
                bmp2.UnlockBits(data2);
                return;
            }

            if (max != min)
            {
                double mxmn = 255.0 / (max - min);
                for (int j = 0; j < width; j++)
                {
                    for (int i = 0; i < height; i++)
                    {
                        int c;
                        try
                        {
                            c = Convert.ToInt32((zArrayDescriptor.array[j, i] - min) * mxmn);
                        }
                        catch (System.OverflowException)
                        {
                            c = 0;
                        }

                        Color c1 = Color.FromArgb(c, c, c);
                        ImageProcessor.setPixel(data2, j, i, c1);
                    }
                }
                pictureBox01.Image = bmp2;
                bmp2.UnlockBits(data2);
                return;
            }
        }
Exemple #24
0
        /// <summary>
        /// Автоматическое определение клина
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button15_Click(object sender, EventArgs e)
        {
            int nx = 3096;
            int ny = 2160;


            int nx1 = nx + dx * 2;                                                  // Размер для изображения с добавленными полосами

            int kv = 16;                                                            //  Число градаций

            Form1.zArrayDescriptor[0] = Model_Sinus.Intensity1(255, nx, ny, dx, 1); // Идеальная интенсивностсть => 1
            VisualRegImage(0);
            TakePhoto12();
            VisualRegImage(1);
            DialogResult dialogResult = MessageBox.Show("Заданы границы X0, X1, X2, X3 ?", "Ограничение по размеру", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.No)
            {
                return;
            }

            Form1.Coords[] X = MainForm.GetCoordinates();

            Form1.zArrayDescriptor[6] = File_Change_Size.Change_rectangle(Form1.zArrayDescriptor[1], X);    // Ограничение по размеру 2 => 7
            Form1.zArrayDescriptor[6] = SumClass.Sum_zArrayY_ALL(Form1.zArrayDescriptor[6]);                // Суммирование по Y      7 => 7
            VisualRegImage(6);
            int nx2    = Form1.zArrayDescriptor[6].width;                                                   // Размер массива после ограничения
            int ny2    = Form1.zArrayDescriptor[6].height;
            int N_Line = ny2 / 2;                                                                           // Линия по центральной строке


            //---------------------------------------------------------------------------------------------- Идеальный клин без ввода с новыми размерами

            Form1.zArrayDescriptor[0] = Model_Sinus.Intensity1(255, nx2, ny2, dx, 1);
            Form1.zArrayDescriptor[1] = Minus100(Form1.zArrayDescriptor[0], 100);
            VisualRegImage(1);
            double[] am_Clin_Ideal = new double[nx2];                                                           // Идеальный клин от 0 до 255
            for (int i = 0; i < nx2; i++)
            {
                am_Clin_Ideal[i] = Form1.zArrayDescriptor[1].array[i, N_Line];
            }

            double[] am_Clin = new double[nx2];                                                                 // Отклик от идеального клина от 0 до 255
            for (int i = 0; i < nx2; i++)
            {
                am_Clin[i] = Form1.zArrayDescriptor[6].array[i, N_Line];
            }



            //---------------------------------------------------------------------------------------------- Черно белые полосы => 0
            Form1.zArrayDescriptor[0] = BW_Line(nx, ny, kv);     // Полосы с kv градациями
            VisualRegImage(0);
            TakePhoto12();                                       //---------------------------- Фото => 1
            MessageBox.Show("Ч/Б полосы введены");

            Form1.zArrayDescriptor[3] = File_Change_Size.Change_rectangle(Form1.zArrayDescriptor[1], X); //----------------- Ограничение по размеру => 2
            VisualRegImage(3);

            Form1.zArrayDescriptor[3] = SumClass.Sum_zArrayY_ALL(Form1.zArrayDescriptor[3]);
            Form1.zArrayDescriptor[4] = BW_Line_255(Form1.zArrayDescriptor[3], 210);                     // --------------Выше порога 255 ниже 0
            VisualRegImage(4);
            double[] am_BW = BW_Num(Form1.zArrayDescriptor[4], N_Line);                                  // размер новый после прямоугольного ограничения

            //----------------------------------------------------------------------------------------------    Определение нового клина

            double[] cl1 = NewClin(am_Clin, am_BW, am_Clin_Ideal);

            //----------------------------------------------------------------------------------------------Отображение нового клина
            ZArrayDescriptor cmpl = new ZArrayDescriptor(nx1, ny);

            double[] am = Clin(cl1, kv, nx);
            for (int i = 0; i < nx; i++)
            {
                for (int j = 0; j < ny; j++)
                {
                    cmpl.array[i + dx, j] = am[i];
                }                                                                                         // ----------------- Клин в рабочий массив
            }
            cmpl = Model_Sinus.Intens(255, 0, dx, cmpl);                                                  // Белая и черная полоса по краям
            Form1.zArrayDescriptor[7] = cmpl;                                                             // новый клин в 7 массив
            VisualRegImage(7);

            for (int i = 0; i < 16; i++)
            {
                cl[i] = cl1[i];
            }
        }
Exemple #25
0
        //-------------------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Ввод клина с камеры и обработка с усреднением
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button12_Click(object sender, EventArgs e)
        {
            int nx = 3996;
            int ny = 2160;

            int nx1 = nx + dx * 2;              // Размер для изображения с добавленными полосами

            int kv = 16;                        //  Число градаций


            // -------------------------------------------------------------------------------------------- Клин => 0  (16 градаций)
            double[]         am   = Clin(cl, kv, nx);                                                     // Формирование клина
            ZArrayDescriptor cmpl = new ZArrayDescriptor(nx1, ny);

            for (int i = 0; i < nx; i++)
            {
                for (int j = 0; j < ny; j++)
                {
                    cmpl.array[i + dx, j] = am[i];
                }                                                                                        // ----------------- Клин
            }
            cmpl = Model_Sinus.Intens(255, 0, dx, cmpl);                                                 // Белая и черная полоса по краям
            Form1.zArrayDescriptor[0] = cmpl;                                                            // Клин в 1 массив
            VisualRegImage(0);

            TakePhoto12();                                                                                         //-------- Фото => 1

            DialogResult dialogResult = MessageBox.Show("Заданы границы X0, X1, X2, X3 ?", "Ограничение по размеру", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.No)
            {
                return;
            }

            Form1.Coords[] X = MainForm.GetCoordinates();

            //MessageBox.Show(" X1 - " + Form1.X1 + " Y1 - " + Form1.Y1);

            //---------------------------------------------------------------------------------------------- Ограничение клина по размеру => 2
            Form1.zArrayDescriptor[2] = File_Change_Size.Change_rectangle(Form1.zArrayDescriptor[1], X);
            VisualRegImage(2);
            //MessageBox.Show("Ограничение клина по размеру прошло");
            int nx2 = Form1.zArrayDescriptor[2].width;                                                                      // Размер массива после ограничения
            int ny2 = Form1.zArrayDescriptor[2].height;

            int N_Line = ny2 / 2;                                                                                           // Полоса по центру

            //int y1 = File_Change_Size.MinY(X);   // Минимальное значение по Y
            //int y2 = File_Change_Size.MaxY(X);   // Максимальное значение по Y
            Form1.zArrayDescriptor[2] = SumClass.Sum_zArrayY_ALL(Form1.zArrayDescriptor[2]);                                 //------------------------- Усреднение по Y => 2
            VisualRegImage(2);
            //MessageBox.Show("Усреднение по Y прошло");

            //---------------------------------------------------------------------------------------------- Черно белые полосы => 0
            Form1.zArrayDescriptor[0] = BW_Line(nx, ny, kv);                                    // Полосы с kv градациями
            VisualRegImage(0);

            TakePhoto12();                                                                                                              //---------------------------- Фото => 1
            MessageBox.Show("Полосы введены");

            Form1.zArrayDescriptor[3] = File_Change_Size.Change_rectangle(Form1.zArrayDescriptor[1], X);                                //----------------- Ограничение по размеру => 2
            VisualRegImage(3);

            //Form1.zArrayDescriptor[3] = SumClass.Sum_zArrayY_ALL(Form1.zArrayDescriptor[3]);
            Form1.zArrayDescriptor[4] = BW_Line_255(Form1.zArrayDescriptor[3], 210);                                                    // --------------Выше порога 255 ниже 0
            VisualRegImage(4);
            double[] am_BW = BW_Num(Form1.zArrayDescriptor[4], N_Line);                                                                 // размер новый после прямоугольного ограничения
            //MessageBox.Show("Контраст прошло");
            //--------------------------------------------------------------------------------------------- Усреднение по X клина => 6
            Form1.zArrayDescriptor[5] = Summ_Y(Form1.zArrayDescriptor[2], Form1.zArrayDescriptor[4]);
            VisualRegImage(5);
        }
Exemple #26
0
        private void Gr3D()
        {
            ns = Convert.ToInt32(textBox1.Text);
            ZArrayDescriptor zArray3D = new ZArrayDescriptor(nx1, ny1);

            int[] arr_max    = new int[nx1];
            int[] arr_tmp    = new int[nx1];
            int[] arr_tmp_gr = new int[nx1];

            //for (int i = 0; i < nx1; i++)
            //{
            //    arr_max[i] = 0;
            //arr_tmp[i] = -1000;
            // }


            int ys = 2;

            int y0 = 250;  //  Сдвиг снизу для красоты
                           //int ns1 = ns;

            double max = SumClass.getMax(zArray2D);
            double min = SumClass.getMin(zArray2D);

            int k = 0;

            for (int j = 0; j < ny1; j += ns, k++)
            {
                for (int i = 0; i < nx1; i++)
                {
                    int ix = i - k;
                    if (ix < nx1 && ix > 0)
                    {
                        arr_tmp[i] = (int)((zArray2D.array[ix, j] - min) * 128 / (max - min)) + ys * k;
                    }
                }

                for (int i = 0; i < nx1; i++)
                {
                    if (arr_tmp[i] > arr_max[i])
                    {
                        arr_max[i] = arr_tmp[i];
                    }
                }

                int x1 = 0;
                int y1 = (int)(arr_max[0]);
                for (int i = 1; i < nx1 - 100 + k; i++)
                {
                    if (i >= nx1)
                    {
                        break;
                    }
                    int x2 = i;
                    int y2 = (int)(arr_max[i]);
                    lineDDA(x1, y1, x2, y2, y0, zArray3D);
                    y1 = y2;
                    x1 = x2;
                }
            }
            Vizual.Vizual_Picture(zArray3D, picture3D);
        }
Exemple #27
0
 public void Test1()
 {
     Assert.Equal(28, SumClass.Sum(testList));
 }