Example #1
0
        public List <Point> PtsDisplacementOriginalPosition(List <Point> pts)
        {
            List <Point> ptsDisplacedOrigin = new List <Point>();;
            Point        center             = CenterOrigin;

            int cx = 0;
            int cy = 0;

            for (int i = 0; i <= center.X; i++)
            {
                ptsDisplacedOrigin = Traslation(pts, i, cy);

                WorkSPace.Refresh();

                DrawnFigure(Traslation(pts, i, cy), Pencil(Color.Black));
                System.Threading.Thread.Sleep(10);
                cx++;
            }
            for (int i = 0; i <= center.Y; i++)
            {
                ptsDisplacedOrigin = Traslation(pts, cx, i);

                WorkSPace.Refresh();
                DrawnFigure(Traslation(pts, cx, i), Pencil(Color.Black));
                System.Threading.Thread.Sleep(10);
            }
            return(ptsDisplacedOrigin);
        }
Example #2
0
        private void Btn_Traslate_Click(object sender, EventArgs e)
        {
            int translateX = 0;
            int translateY = 0;

            if (txB_TraslationX.Text != "" && txB_TraslationY.Text != "")
            {
                translateX = Convert.ToInt32(txB_TraslationX.Text);
                translateY = Convert.ToInt32(txB_TraslationY.Text);

                WorkSPace.Refresh();
                animatedTranslation(pts, translateX, translateY);
            }
            else if (txB_TraslationX.Text != "")
            {
                translateX = Convert.ToInt32(txB_TraslationX.Text);

                WorkSPace.Refresh();
                animatedTranslation(pts, translateX, translateY);
            }
            else if (txB_TraslationY.Text != "")
            {
                translateY = Convert.ToInt32(txB_TraslationY.Text);

                WorkSPace.Refresh();
                animatedTranslation(pts, translateX, translateY);
            }

            List <Point> TraslacionAct;

            TraslacionAct = Traslation(pts, translateX, translateY);
            pts           = TraslacionAct;
        }
Example #3
0
        public List <Point> PtsDisplacementOrigin(List <Point> pts)
        {
            Point        center          = FindCenter(pts);
            List <Point> DisplacedPoints = new List <Point>();;

            int cx = 0;
            int cy = 0;

            for (int i = 0; i <= center.X; i++)
            {
                DisplacedPoints = Traslation(pts, -i, cy);

                WorkSPace.Refresh();
                DrawnFigure(Traslation(pts, -i, cy), Pencil(Color.Black));


                System.Threading.Thread.Sleep(10);
                cx = -i;
            }
            for (int i = 0; i <= center.Y; i++)
            {
                DisplacedPoints = Traslation(pts, cx, -i);

                WorkSPace.Refresh();
                DrawnFigure(Traslation(pts, cx, -i), Pencil(Color.Black));
                System.Threading.Thread.Sleep(10);
            }
            return(DisplacedPoints);
        }
Example #4
0
 void ScaleAnimated(List <Point> pts, Double scale)
 {
     for (int i = 1; i <= scale; i++)
     {
         WorkSPace.Refresh();
         DrawnFigure(ScaleFigure(pts, (i)), Pencil(Color.Black));
         System.Threading.Thread.Sleep(500);
     }
 }
Example #5
0
 void RotationAnimated(List <Point> pts, int grades)
 {
     for (int i = 1; i <= grades; i++)
     {
         WorkSPace.Refresh();
         DrawnFigure(Rotation(pts, (i)), Pencil(Color.Black));
         System.Threading.Thread.Sleep(100);
     }
 }
Example #6
0
        private void WorkSPace_MouseClick(object sender, MouseEventArgs e)
        {
            Point point = new Point(e.X, e.Y);

            if (btn_DrawnFigure.Enabled != false)
            {
                pts.Add(point);
                WorkSPace.CreateGraphics().DrawEllipse(Pencil(Color.Black), point.X, point.Y, 2, 2);
            }
        }
Example #7
0
        private void Btn_Clear_Click(object sender, EventArgs e)
        {
            WorkSPace.Refresh();
            txB_TraslationX.Clear();
            txB_TraslationY.Clear();
            NumUpDown_scale.Value = 0;
            pts.Clear();

            btn_refleX.Enabled      = false;
            btn_refleY.Enabled      = false;
            btn_Rotation.Enabled    = false;
            btn_Scalar.Enabled      = false;
            btn_Traslate.Enabled    = false;
            btn_DrawnFigure.Enabled = true;
        }
Example #8
0
        void animatedTranslation(List <Point> pts, int tx, int ty)
        {
            Point center = FindCenter(pts);


            if (tx > 0)
            {
                for (int i = 1; i <= tx; i++)

                {
                    WorkSPace.Refresh();
                    DrawnFigure(Traslation(pts, (i), 0), Pencil(Color.Black));

                    System.Threading.Thread.Sleep(30);
                }
            }
            else
            {
                for (int i = 0; i > tx; i--)

                {
                    WorkSPace.Refresh();
                    DrawnFigure(Traslation(pts, (i), 0), Pencil(Color.Black));

                    System.Threading.Thread.Sleep(30);
                }
            }
            if (ty > 0)
            {
                for (int i = 1; i <= ty; i++)
                {
                    WorkSPace.Refresh();
                    DrawnFigure(Traslation(pts, tx, (i)), Pencil(Color.Black));
                    System.Threading.Thread.Sleep(30);
                }
            }
            else
            {
                for (int i = 0; i >= ty; i--)
                {
                    WorkSPace.Refresh();
                    DrawnFigure(Traslation(pts, tx, (i)), Pencil(Color.Black));
                    System.Threading.Thread.Sleep(30);
                }
            }
        }
Example #9
0
        private void btnLoadFile_Click_1(object sender, EventArgs e)
        {
            WorkSPace.Refresh();
            if (File.Exists("FigurePoints.txt"))
            {
                pts.Clear();
                using (StreamReader inputuFile = new StreamReader("FigurePoints.txt"))
                {
                    string linea = "";
                    int    x, y;
                    while (!inputuFile.EndOfStream)
                    {
                        Point    coordenada = new Point();
                        string[] strCoordenada;

                        linea         = inputuFile.ReadLine();
                        strCoordenada = linea.Split(',');


                        x            = int.Parse(strCoordenada[0]);
                        y            = int.Parse(strCoordenada[1]);
                        coordenada.X = x;
                        coordenada.Y = y;


                        pts.Add(coordenada);

                        DrawnFigure(pts, Pencil(Color.Black));
                    }
                    inputuFile.Close();
                }
            }
            else
            {
                MessageBox.Show("No existe el archivo coordenadas.txt");
            }
            //dibujarCuadricula();
        }
Example #10
0
        public void DrawnFigure(List <Point> pts, Pen pencil)
        {
            WorkSPace.Refresh();

            for (int i = 0; i < pts.Count; i++)
            {
                if (i == (pts.Count - 1))
                {
                    WorkSPace.CreateGraphics().DrawLine(Pencil(Color.Black), pts[i], pts[0]);
                }
                else
                {
                    WorkSPace.CreateGraphics().DrawLine(Pencil(Color.Black), pts[i], pts[i + 1]);
                }
            }
            //DrawnCenter(pts);
            btn_DrawnFigure.Enabled = false;
            btn_refleX.Enabled      = true;
            btn_refleY.Enabled      = true;
            btn_Rotation.Enabled    = true;
            btn_Scalar.Enabled      = true;
            btn_Traslate.Enabled    = true;
        }
Example #11
0
        public void DrawnCenter(List <Point> pts)
        {
            Point Center = FindCenter(pts);

            WorkSPace.CreateGraphics().DrawEllipse(Pencil(Color.Red), Center.X, Center.Y, 2, 2);
        }