} // void descentraliza() /// <summary> /// rotaciona o Gzimo eixos em um determinado plano (XZ,YZ ou XY). /// </summary> /// <param name="omega">ângulo para rotacionar o plano parâmetro, deve estar em graus.</param> /// <param name="pln">plano para rotacionar.</param> public void rotacionaGzimoEixos(double omega, vetor3.planoRotacao pln, vetor3.tipoAngulo typeAngle) { double omegaX, omegaY, omegaZ; omegaX = 0.0; omegaY = 0.0; omegaZ = 0.0; switch (pln) { case vetor3.planoRotacao.XY: omegaX = 0.0; omegaY = 0.0; omegaZ = omega; break; case vetor3.planoRotacao.XZ: omegaX = 0.0; omegaY = omega; omegaZ = 0.0; break; case vetor3.planoRotacao.YZ: omegaX = omega; omegaY = 0.0; omegaZ = 0.0; break; } // switch if (typeAngle == vetor3.tipoAngulo.Relativo) { // rotaciona os eixos. this.eixoXGzimo.rotacionaVetor(omegaY, omegaX, omegaZ); this.eixoYGzimo.rotacionaVetor(omegaY, omegaX, omegaZ); this.eixoZGzimo.rotacionaVetor(omegaY, omegaX, omegaZ); this.eixoXGzimo.normaliza(); this.eixoYGzimo.normaliza(); this.eixoZGzimo.normaliza(); } // if typeAngle if (typeAngle == vetor3.tipoAngulo.Absoluto) { // rotaciona os eixos. this.eixoXGzimo.rotacionaVetorAnguloAbsoluto(omegaZ, omegaX, omegaY); this.eixoYGzimo.rotacionaVetorAnguloAbsoluto(omegaZ, omegaX, omegaY); this.eixoZGzimo.rotacionaVetorAnguloAbsoluto(omegaZ, omegaX, omegaY); this.eixoXGzimo.normaliza(); this.eixoYGzimo.normaliza(); this.eixoZGzimo.normaliza(); } // if typeAngle } // rotacionaGzimmoeixos()
} // encontraAnguloOmega() /// <summary> /// encontra o ângulo teta (coordenadas esféricas) para um determinado plano (XY,YZ,ou XZ). /// </summary> /// <param name="plano">plano a obter o ângulo teta.</param> /// <returns>retorna o ângulo teta. Por default, encontra o ângulo teta do plano XY.</returns> public double encontraAnguloTeta(vetor3.planoRotacao plano) { switch (plano) { case planoRotacao.XY: return(encontraAnguloTetaPlanoXY()); case planoRotacao.XZ: return(encontraAnguloTetaPlanoXZ()); case planoRotacao.YZ: return(encontraAnguloTetaPlanoYZ()); default: return(encontraAnguloTetaPlanoXY()); } // switcch } // encontraAnguloTeta()