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); }
/// <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); }
// --------------------------------------------------------------------------------------------------- // Фигуры Лиссажу по 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); }