Ejemplo n.º 1
0
 private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
 {
     if (CreateMaPoint == true)
     {
         mahs.Add(new MaPoint(e.X - 700, e.Y - 400));
         pictureBox1.Invalidate();
         CreateMaPoint = false;
     }
     for (int i = 0; i < mahs.Count(); i++)
     {
         mahs[i] = new MaPoint(mahs[i].x, mahs[i].y, false);
     }
 }
Ejemplo n.º 2
0
        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            for (int i = 0; i < mahs.Count(); i++)
            {
                if (mahs[i].isIClicked == true)
                {
                    mahs[i] = new MaPoint(e.X - dX, e.Y - dY, true);

                    pictureBox1.Invalidate();
                    break;
                }
            }
        }
Ejemplo n.º 3
0
 private void button4_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyData == Keys.W)
     {
         for (int j = 0; j < B.GetLength(1); j++)
         {
             for (int i = 0; i < B.GetLength(0); i++)
             {
                 B[j, i] = new MaPoint(B[j, i].x, B[j, i].y * (float)Math.Cos(0.0872665) + B[j, i].z * (float)Math.Sin(-0.0872665),
                                       -B[j, i].y * (float)Math.Sin(-0.0872665) + B[j, i].z * (float)Math.Cos(0.0872665));
             }
         }
         pictureBox1.Invalidate();
     }
     if (e.KeyData == Keys.S)
     {
         for (int j = 0; j < B.GetLength(1); j++)
         {
             for (int i = 0; i < B.GetLength(0); i++)
             {
                 B[j, i] = new MaPoint(B[j, i].x, B[j, i].y * (float)Math.Cos(0.0872665) + B[j, i].z * (float)Math.Sin(0.0872665),
                                       -B[j, i].y * (float)Math.Sin(0.0872665) + B[j, i].z * (float)Math.Cos(0.0872665));
             }
         }
         pictureBox1.Invalidate();
     }
     if (e.KeyData == Keys.D)
     {
         for (int j = 0; j < B.GetLength(1); j++)
         {
             for (int i = 0; i < B.GetLength(0); i++)
             {
                 B[j, i] = new MaPoint(B[j, i].x * (float)Math.Cos(0.0872665) + B[j, i].z * (float)Math.Sin(0.0872665), B[j, i].y,
                                       -B[j, i].x * (float)Math.Sin(0.0872665) + B[j, i].z * (float)Math.Cos(0.0872665));
             }
         }
         pictureBox1.Invalidate();
     }
     if (e.KeyData == Keys.A)
     {
         for (int j = 0; j < B.GetLength(1); j++)
         {
             for (int i = 0; i < B.GetLength(0); i++)
             {
                 B[j, i] = new MaPoint(B[j, i].x * (float)Math.Cos(-0.0872665) + B[j, i].z * (float)Math.Sin(-0.0872665), B[j, i].y,
                                       -B[j, i].x * (float)Math.Sin(-0.0872665) + B[j, i].z * (float)Math.Cos(-0.0872665));
             }
         }
         pictureBox1.Invalidate();
     }
 }
Ejemplo n.º 4
0
 static MaPoint[,] Mult(MaPoint[,] a, float[,] b)
 {
     if (a.GetLength(1) != b.GetLength(0))
     {
         throw new Exception("Матрицы нельзя перемножить");
     }
     MaPoint[,] r = new MaPoint[a.GetLength(0), b.GetLength(1)];
     for (int i = 0; i < a.GetLength(0); i++)
     {
         for (int j = 0; j < b.GetLength(1); j++)
         {
             for (int k = 0; k < b.GetLength(0); k++)
             {
                 r[i, j] += a[i, k] * b[k, j];
             }
         }
     }
     return(r);
 }
Ejemplo n.º 5
0
        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            bool tmp = true;

            for (int i = 0; i < mahs.Count(); i++)
            {
                if (Math.Pow((e.X - 700 - mahs[i].x), 2) + Math.Pow((e.Y - 400 - mahs[i].y), 2) <= Math.Pow(7, 2))
                {
                    mahs[i] = new MaPoint(mahs[i].x, mahs[i].y, true);
                    dX      = e.X - mahs[i].x;
                    dY      = e.Y - mahs[i].y;
                    tmp     = false;
                    break;
                }
            }
            if (tmp == true)
            {
                CreateMaPoint = true;
            }
        }
Ejemplo n.º 6
0
 private void button4_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyData == Keys.W)
     {
         for (int i = 0; i < mahs.Count(); i++)
         {
             mahs[i] = new MaPoint(mahs[i].x, mahs[i].y * (float)Math.Cos(0.0872665) + mahs[i].z * (float)Math.Sin(-0.0872665),
                                   -mahs[i].y * (float)Math.Sin(-0.0872665) + mahs[i].z * (float)Math.Cos(0.0872665));
         }
         pictureBox1.Invalidate();
     }
     if (e.KeyData == Keys.S)
     {
         for (int i = 0; i < mahs.Count(); i++)
         {
             mahs[i] = new MaPoint(mahs[i].x, mahs[i].y * (float)Math.Cos(0.0872665) + mahs[i].z * (float)Math.Sin(0.0872665),
                                   -mahs[i].y * (float)Math.Sin(0.0872665) + mahs[i].z * (float)Math.Cos(0.0872665));
         }
         pictureBox1.Invalidate();
     }
     if (e.KeyData == Keys.D)
     {
         for (int i = 0; i < mahs.Count(); i++)
         {
             mahs[i] = new MaPoint(mahs[i].x * (float)Math.Cos(0.0872665) + mahs[i].z * (float)Math.Sin(0.0872665), mahs[i].y,
                                   -mahs[i].x * (float)Math.Sin(0.0872665) + mahs[i].z * (float)Math.Cos(0.0872665));
         }
         pictureBox1.Invalidate();
     }
     if (e.KeyData == Keys.A)
     {
         for (int i = 0; i < mahs.Count(); i++)
         {
             mahs[i] = new MaPoint(mahs[i].x * (float)Math.Cos(-0.0872665) + mahs[i].z * (float)Math.Sin(-0.0872665), mahs[i].y,
                                   -mahs[i].x * (float)Math.Sin(-0.0872665) + mahs[i].z * (float)Math.Cos(-0.0872665));
         }
         pictureBox1.Invalidate();
     }
 }
Ejemplo n.º 7
0
            public static MaPoint operator *(float s, MaPoint a)
            {
                MaPoint c = new MaPoint(a.x * s, a.y * s, a.z * s);

                return(c);
            }
Ejemplo n.º 8
0
            public static MaPoint operator -(MaPoint a, MaPoint b)
            {
                MaPoint c = new MaPoint(a.x - b.x, a.y - b.y, a.z - b.z);

                return(c);
            }
Ejemplo n.º 9
0
            public static MaPoint operator +(MaPoint a, MaPoint b)
            {
                MaPoint c = new MaPoint(a.x + b.x, a.y + b.y, a.z + b.z);

                return(c);
            }
Ejemplo n.º 10
0
            public static MaPoint operator *(MaPoint a, MaPoint b)
            {
                MaPoint c = new MaPoint(a.x * b.x, a.y * b.y, a.z * b.z);

                return(c);
            }