示例#1
0
        public void rotacaoZPtoFixo(double angulo, Ponto4D ptoFixo)
        {
            matrizGlobal.atribuirIdentidade();

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

            matrizTmpRotacao.atribuirRotacaoZ(Transformacao4D.DEG_TO_RAD * angulo);
            matrizGlobal = matrizTmpRotacao.transformMatrix(matrizGlobal);

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

            matriz = matriz.transformMatrix(matrizGlobal);
        }
示例#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);
        }