예제 #1
0
        public void translacaoXYZ(double tx, double ty, double tz)
        {
            Transformacao4D matrizTranslate = new Transformacao4D();

            matrizTranslate.atribuirTranslacao(tx, ty, tz);
            matriz = matrizTranslate.transformMatrix(matriz);
        }
예제 #2
0
        public void escalaXYZPtoFixo(double escala, Ponto4D ptoFixo)
        {
            matrizGlobal.atribuirIdentidade();

            matrizTmpTranslacao.atribuirTranslacao(ptoFixo.X, ptoFixo.Y, ptoFixo.Z);
            matrizGlobal = matrizTmpTranslacao.transformMatrix(matrizGlobal);

            matrizTmpEscala.atribuirEscala(escala, escala, 1.0);
            matrizGlobal = matrizTmpEscala.transformMatrix(matrizGlobal);

            ptoFixo.inverterSinal();
            matrizTmpTranslacaoInversa.atribuirTranslacao(ptoFixo.X, ptoFixo.Y, ptoFixo.Z);
            matrizGlobal = matrizTmpTranslacaoInversa.transformMatrix(matrizGlobal);

            matriz = matriz.transformMatrix(matrizGlobal);
        }
예제 #3
0
        public void escalaXYZ(double Sx, double Sy)
        {
            Transformacao4D matrizScale = new Transformacao4D();

            matrizScale.atribuirEscala(Sx, Sy, 1.0);
            matriz = matrizScale.transformMatrix(matriz);
        }
예제 #4
0
 public void rotacaoZ(double angulo)
 {
     matrizTmpRotacao.atribuirRotacaoZ(Transformacao4D.DEG_TO_RAD * angulo);
     matriz = matrizTmpRotacao.transformMatrix(matriz);
 }