public void generateSamples() { Random rnd = new Random(); for (int i = 0; i < 10; ++i) for (int j = 0; j < SAMPLE_COUNT; ++j) { digits[i, j] = new Digit(i, rnd.Next(-border, border),rnd.Next(-vborder,vborder)); } }
private void button1_Click(object sender, EventArgs e) { Random rnd = new Random(); Digit di = new Digit(rnd.Next(0,10),rnd.Next(-border, border),rnd.Next(-vborder,vborder)); /* for (int i = 0; i < 10000; ++i) { tr.matr[rnd.Next(0, MATRIX_SIZE), rnd.Next(0, MATRIX_SIZE)] = 1; }*/ for (int i = 0; i < MATRIX_SIZE; ++i) for (int j = 0; j < MATRIX_SIZE; ++j) { if (rnd.NextDouble() < 0.1) di.matr[i, j] = (byte) ((di.matr[i, j] + 1) % 2); } drawSingleDigit(di, pictureBox1); double prodx = 0; for (int i = 0; i < 10; ++i) { for (int j = 0; j < ELEMS; ++j) { prodx += solves[i].vector[j] * di.matr[j / MATRIX_SIZE, j % MATRIX_SIZE]; } if (prodx > solves[i].Tetta) { lines.Add(String.Format("This is {0}", i)); Digit di2 = new Digit(i, 0, 0); drawSingleDigit(di2, pictureBox2); richTextBox1.Lines = lines.ToArray(); richTextBox1.SelectionStart = richTextBox1.Text.Length; richTextBox1.ScrollToCaret(); } prodx = 0; } lines.Add(String.Format("\n")); richTextBox1.Lines = lines.ToArray(); /* int recType = -1; if (prodx > solveTetta) recType = 1; else recType = 0; Triangle recTr = new Triangle(recType, 0); drawSingleTriangle(recTr, pictureBox4); lines.Add(String.Format("L * T = {0}", prodx)); richTextBox1.Lines = lines.ToArray(); richTextBox1.SelectionStart = richTextBox1.Text.Length; richTextBox1.ScrollToCaret(); */ }
public void drawSingleDigit(Digit di, PictureBox p) { // p.Dispose(); // pictureBox1.Image.Dispose(); // pictureBox1.Image = new Bitmap(100, 100); Bitmap p1 = new Bitmap(MATRIX_SIZE, MATRIX_SIZE); for (int i = 0; i < MATRIX_SIZE; ++i) for (int j = 0; j < MATRIX_SIZE; ++j) { if (di.matr[i, j] == 0) p1.SetPixel(i, j, Color.White); else p1.SetPixel(i, j, Color.Black); } p.Image = p1; // p.Update(); }