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); } }
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 } }
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; }
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); }
private void Escala(double dx, double dy, double dz) { Transformacao.Escala(dx, dy, dz); }