Exemplo n.º 1
0
        private void btn_start_Click(object sender, EventArgs e)
        {
            lbl_resFunc.Text = "Значение функционала: ";

            alg = new Algorithm(Convert.ToInt32(txtb_stepOfGridX.Text),
                                Convert.ToInt32(txtb_stepOfGridY.Text),
                                cb_centers.Checked ? dgv.RowCount - 1 : centers.Length,
                                (double)nud_gamma.Value,
                                (string)cb_c1.SelectedItem,
                                (string)cb_c2.SelectedItem,
                                (string)cb_ro1.SelectedItem,
                                (string)cb_ro2.SelectedItem,
                                funcs);
            if (centers != null)
            {
                alg.centers = centers;
            }
            else
            {
                alg.centers = new MyPoint[alg.numberOfCenters];
            }

            if (cb_centers.Checked)
            {
                for (int i = 0; i < dgv.RowCount - 1; i++)
                {
                    alg.centers[i].X = float.Parse(dgv.Rows[i].Cells[0].Value.ToString());
                    alg.centers[i].Y = float.Parse(dgv.Rows[i].Cells[1].Value.ToString());
                }
            }

            //rtb_centers.Text += String.Format("\nA1:  {0}", alg.A1());
            //rtb_centers.Text += String.Format("\nA1i: {0}", alg.A1i());
            if (tabControl.SelectedIndex == 0)
            {
                lbl_resFunc.Text += alg.A2i().ToString();
            }
            else
            {
                lbl_resFunc.Text += alg.A5().ToString();
            }

            if (cb_draw.Checked)
            {
                dt = new DrawingTools();
                dt.DrawPartitioning(pictureBox, alg.numberOfCenters, alg.M, alg.M1, alg.lambda, alg.centers);
            }

            rtb_centers.Enabled = true;
        }