public void Eixos()
        {
            Point2D p1 = new Point2D();
            Point2D p2 = new Point2D();
            Point2D p3 = new Point2D();
            Point2D p4 = new Point2D();

            Geometria geometria = new Geometria();

            geometria = new Geometria();
            geometria.setId("eixos");
            geometria.setCor(new Pen(Brushes.White));

            p1 = new Point2D(0, 10000);
            p2 = new Point2D(0, -10000);
            p3 = new Point2D(-10000, 0);
            p4 = new Point2D(10000, 0);

            geometria.getPontos().Add(p1);
            geometria.getPontos().Add(p2);
            geometria.getPontos().Add(p3);
            geometria.getPontos().Add(p4);

            geometria.getArestas().Add(new Aresta(p1, p2));
            geometria.getArestas().Add(new Aresta(p3, p4));

            geometrias.Add(geometria);
        }
 public static Geometria aplica(Geometria geometria, float[,] T)
 {
     foreach (Point2D ponto in geometria.getPontos())
     {
         float[,] C = CgUtils.mult(ponto.getValor(), T);
         ponto.setValor(C);
     }
     return(geometria);
 }
        public void AddReta(List <Point2D> listaDePontos)
        {
            Geometria geometria = new Geometria();

            for (int i = 0; i < 2; i++)
            {
                geometria.getPontos().Add(listaDePontos.ElementAt(i));
            }

            geometria.getArestas().Add(new Aresta(listaDePontos[0], listaDePontos[1]));
            geometria.setId(txt_Nome.Text);
            geometria.setCor(new Pen(Brushes.Green));

            geometrias.Add(geometria);
        }
        public void TodasTrans()
        {
            Geometria geo = new Geometria();

            for (int i = 0; i < geometrias.Count; i++)
            {
                if (geometrias[i].getId() == txt_NomeGeometria.Text)
                {
                    geo = geometrias[i];
                }
            }
            if (int.Parse(comboBox_transform.SelectedValue.ToString()) == 0)
            {
                Transformadas.aplica(geo, Transformadas.Tr(float.Parse(txt_Dx.Text)));
            }
            else if (int.Parse(comboBox_transform.SelectedValue.ToString()) == 1)
            {
                Transformadas.aplica(geo, Transformadas.Ts(float.Parse(txt_Dx.Text), float.Parse(txt_dY.Text)));
            }
            else if (int.Parse(comboBox_transform.SelectedValue.ToString()) == 2)
            {
                Transformadas.aplica(geo, Transformadas.Tt(float.Parse(txt_Dx.Text), float.Parse(txt_dY.Text)));
            }
        }
예제 #5
0
        private void addGeometriaTeste()
        {
            Geometria geometria = new Geometria();

            geometria.setId("teste");
            geometria.setCor(new Pen(Brushes.Green));

            Point2D p1 = new Point2D(5, 5);
            Point2D p2 = new Point2D(20, 5);
            Point2D p3 = new Point2D(10, 10);

            geometria.getPontos().Add(p1);
            geometria.getPontos().Add(p2);
            geometria.getPontos().Add(p3);

            geometria.getArestas().Add(new Aresta(p1, p2));
            geometria.getArestas().Add(new Aresta(p2, p3));
            geometria.getArestas().Add(new Aresta(p3, p1));

            geometrias.Add(geometria);

            ////

            geometria = new Geometria();
            geometria.setId("pequenoRetangulo");
            geometria.setCor(new Pen(Brushes.Blue));

            p1 = new Point2D(1, 1);
            p2 = new Point2D(3, 1);
            p3 = new Point2D(3, 2);
            Point2D p4 = new Point2D(1, 2);

            geometria.getPontos().Add(p1);
            geometria.getPontos().Add(p2);
            geometria.getPontos().Add(p3);
            geometria.getPontos().Add(p4);

            geometria.getArestas().Add(new Aresta(p1, p2));
            geometria.getArestas().Add(new Aresta(p2, p3));
            geometria.getArestas().Add(new Aresta(p3, p4));
            geometria.getArestas().Add(new Aresta(p4, p1));

            geometrias.Add(geometria);

            //eixos

            geometria = new Geometria();
            geometria.setId("eixos");
            geometria.setCor(new Pen(Brushes.White));

            p1 = new Point2D(0, 10000);
            p2 = new Point2D(0, -10000);
            p3 = new Point2D(-10000, 0);
            p4 = new Point2D(10000, 0);

            geometria.getPontos().Add(p1);
            geometria.getPontos().Add(p2);
            geometria.getPontos().Add(p3);
            geometria.getPontos().Add(p4);

            geometria.getArestas().Add(new Aresta(p1, p2));
            geometria.getArestas().Add(new Aresta(p3, p4));

            geometrias.Add(geometria);

            //teste de aplicação de transformada de rotação direto

            Geometria geometriaTeste = geometrias[1];

            Transformadas.aplica(geometriaTeste, Transformadas.Tt(0, 10));
        }