Пример #1
0
        private void button1_Click(object sender, EventArgs e)                                // Построить фигуру Лиссажу по кадру
        {
            // MessageBox.Show("RegComplex = " + Form1.regComplex ); // 0, 1, 2
            if (Form1.zArrayDescriptor[Form1.regComplex * 4] == null)
            {
                MessageBox.Show("Lissagu zArrayDescriptor == NULL"); return;
            }


            fz[0] = Convert.ToDouble(textBox2.Text);
            fz[1] = Convert.ToDouble(textBox3.Text);
            fz[2] = Convert.ToDouble(textBox4.Text);
            fz[3] = Convert.ToDouble(textBox5.Text);

            fz[4] = Convert.ToDouble(textBox7.Text);
            fz[5] = Convert.ToDouble(textBox8.Text);
            fz[6] = Convert.ToDouble(textBox9.Text);
            fz[7] = Convert.ToDouble(textBox10.Text);

            N_sdv = Convert.ToInt32(textBox11.Text);                                    // Число сдвигов


            double[] fzrad = new double[N_sdv];
            for (int i = 0; i < N_sdv; i++)
            {
                fzrad[i] = Math.PI * fz[i] / 180.0;
            }                                                                      // Фаза в радианах

            int w1 = Form1.zArrayDescriptor[Form1.regComplex * 4].width;
            int h1 = Form1.zArrayDescriptor[Form1.regComplex * 4].height;

            n     = Convert.ToInt32(textBox1.Text);
            n_end = Convert.ToInt32(textBox6.Text);

            if (n < 0 || n_end > (h1 - 1))
            {
                MessageBox.Show("n<0 || n_end>(h1-1)"); return;
            }


            ZArrayDescriptor faza = new ZArrayDescriptor(w1, h1);

            faza = FazaClass.ATAN_Gr(Form1.zArrayDescriptor, fzrad, Form1.regComplex, n, n_end);
            Vizual.Vizual_Picture(faza, pictureBox2);
        }
Пример #2
0
        /// <summary>
        /// Фигуры Лиссажу 3D
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button6_Click(object sender, EventArgs e)
        {
            if (checkBox1.Checked == true)
            {
                k1 = 1;
            }
            else
            {
                k1 = 0;
            }
            if (checkBox2.Checked == true)
            {
                k2 = 1;
            }
            else
            {
                k2 = 0;
            }
            if (checkBox3.Checked == true)
            {
                k3 = 1;
            }
            else
            {
                k3 = 0;
            }
            if (checkBox4.Checked == true)
            {
                k4 = 1;
            }
            else
            {
                k4 = 0;
            }

            if ((k1 + k2 + k3 + k4) != 3)
            {
                MessageBox.Show("Число флагов больше или меньше 3"); return;
            }                                                                                               // Только 3 кадра должны быть выбраны

            int[] kk = new int[4];
            { kk[0] = k1; kk[1] = k2; kk[2] = k3; kk[3] = k4; }

            int kk1 = 0, kk2 = 0, kk3 = 0;                                                                // Номер 1 и второго кадров

            for (int i = 0; i < 4; i++)
            {
                if (kk[i] != 0)
                {
                    kk1 = i; kk[i] = 0; break;
                }
            }
            for (int i = 0; i < 4; i++)
            {
                if (kk[i] != 0)
                {
                    kk2 = i; kk[i] = 0; break;
                }
            }
            for (int i = 0; i < 4; i++)
            {
                if (kk[i] != 0)
                {
                    kk3 = i; break;
                }
            }

            int w1 = Form1.zArrayDescriptor[Form1.regComplex].width;
            int h1 = Form1.zArrayDescriptor[Form1.regComplex].height;

            n     = Convert.ToInt32(textBox1.Text);
            n_end = Convert.ToInt32(textBox6.Text);

            if (n < 0 || n_end > (h1 - 1))
            {
                MessageBox.Show("n<0 || n_end>(h1-1)"); return;
            }



            ZArrayDescriptor faza = FazaClass.Lissagu3D(Form1.zArrayDescriptor, Form1.regComplex, kk1, kk2, kk3, n, n_end);

            Vizual.Vizual_Picture(faza, pictureBox2);
            //On_Liss3D(n, kk1, kk2, kk3);
        }
Пример #3
0
        //  ---------------------------------------------------------------------------------------------------
        //                     Фигуры Лиссажу по y 1 кадр по x - 2 кадр
        //  ---------------------------------------------------------------------------------------------------

        private void button4_Click(object sender, EventArgs e)
        {
            if (checkBox1.Checked == true)
            {
                k1 = 1;
            }
            else
            {
                k1 = 0;
            }
            if (checkBox2.Checked == true)
            {
                k2 = 1;
            }
            else
            {
                k2 = 0;
            }
            if (checkBox3.Checked == true)
            {
                k3 = 1;
            }
            else
            {
                k3 = 0;
            }
            if (checkBox4.Checked == true)
            {
                k4 = 1;
            }
            else
            {
                k4 = 0;
            }

            if ((k1 + k2 + k3 + k4) != 2)
            {
                MessageBox.Show("Число флагов больше или меньше 2"); return;
            }                                                                                               // Только 2 кадра должны быть выбраны

            int[] kk = new int[4]; { kk[0] = k1;  kk[1] = k2;  kk[2] = k3;  kk[3] = k4; }

            int kk1 = 0, kk2 = 1;                                                               // Номер 1 и второго кадров

            for (int i = 0; i < 4; i++)
            {
                if (kk[i] != 0)
                {
                    kk1 = i; kk[i] = 0; break;
                }
            }
            for (int i = 0; i < 4; i++)
            {
                if (kk[i] != 0)
                {
                    kk2 = i; break;
                }
            }

            fz[0] = Convert.ToDouble(textBox2.Text);
            fz[1] = Convert.ToDouble(textBox3.Text);
            fz[2] = Convert.ToDouble(textBox4.Text);
            fz[3] = Convert.ToDouble(textBox5.Text);

            fz[4] = Convert.ToDouble(textBox7.Text);
            fz[5] = Convert.ToDouble(textBox8.Text);
            fz[6] = Convert.ToDouble(textBox9.Text);
            fz[7] = Convert.ToDouble(textBox10.Text);

            //MessageBox.Show("kk1 =" + kk1 + " kk2 =" + kk2);
            double fzrad1 = Math.PI * fz[kk1] / 180.0;
            double fzrad2 = Math.PI * fz[kk2] / 180.0;

            int w1 = Form1.zArrayDescriptor[Form1.regComplex].width;
            int h1 = Form1.zArrayDescriptor[Form1.regComplex].height;

            n     = Convert.ToInt32(textBox1.Text);
            n_end = Convert.ToInt32(textBox6.Text);
            StepI = Convert.ToInt32(textBox12.Text);                                        // Приращение по цвету

            if (n < 0 || n_end > (h1 - 1))
            {
                MessageBox.Show("n<0 || n_end>(h1-1)"); return;
            }


            ZArrayDescriptor faza = FazaClass.Lissagu(Form1.zArrayDescriptor, Form1.regComplex, kk1, kk2, n, n_end, StepI, fzrad1, fzrad2);

            Vizual.Vizual_Picture(faza, pictureBox2);
        }