Exemple #1
0
 private void Transladar(int dx, int dy, int dz)
 {
     if (rbSuperior.Checked)
     {
         Transformacao.Translacao(dx, dz, dy);
     }
     else
     if (rbLateral.Checked)
     {
         Transformacao.Translacao(dy, dx, dy + dz);
     }
     else
     {
         Transformacao.Translacao(dx, dy, dz);
     }
 }
Exemple #2
0
        private void MultiplicarPontos()
        {
            int    i;
            Pontos p;

            double[] ret;

            for (i = 0; i < lVertOriginais.Count; i++)
            {
                p = (Pontos)(lVertOriginais[i]);

                ret = Transformacao.MatrizAcumulada(p.getX(), p.getY(), p.getZ());
                ((Pontos)(lVertAtual[i])).setX(ret[0]);
                ((Pontos)(lVertAtual[i])).setY(ret[1]);
                ((Pontos)(lVertAtual[i])).setZ(ret[2]);//Ver o problema do z
            }
        }
Exemple #3
0
        private void EstadoInicial()
        {
            CarregarFundo();
            Transformacao.ZerarMatriz();
            lVertOriginais = new ArrayList();
            lVertAtual     = new ArrayList();
            lFace          = new ArrayList();
            lVetorNormal   = new ArrayList();
            mx             = my = -1;
            pcX            = pcY = -1;

            rbFrontal.Checked         = true;
            cbBackFaceCulling.Checked = false;

            btnCorAtual.BackColor = Color.White;
            r = g = b = 255;
            AtualizarCor();
            btnColorir.Text = "Colorir";
            qtdePontos      = 0;
        }
Exemple #4
0
        private void Rotacionar(int x, int y, int z)
        {
            if (pcX == -1)
            {
                PontoCentral(false);//Centro da imagem
            }
            Transladar(-1 * pcX, -1 * pcY, -1 * pcZ);

            if (x != 0)
            {
                Transformacao.RotacaoX(x);
            }
            if (y != 0)
            {
                Transformacao.RotacaoY(y);
            }
            if (z != 0)
            {
                Transformacao.RotacaoZ(z);
            }

            Transladar(pcX, pcY, pcZ);
        }
Exemple #5
0
 private void Escala(double dx, double dy, double dz)
 {
     Transformacao.Escala(dx, dy, dz);
 }