public static INumeroComplejo Multiplicar(INumeroComplejo operando1, INumeroComplejo operando2) { double parteRealResultado = operando1.GetParteReal() * operando2.GetParteReal() - operando1.GetParteImaginaria() * operando2.GetParteImaginaria(); double parteImaginariaResultado = operando1.GetParteReal() * operando2.GetParteImaginaria() + operando1.GetParteImaginaria() * operando2.GetParteReal(); return(NumeroComplejoBinomico.NewNumeroComplejoBinomico(parteRealResultado, parteImaginariaResultado)); }
public static INumeroComplejo Dividir(INumeroComplejo operando1, INumeroComplejo operando2) { INumeroComplejo conjugadoDelSegundoOperando = NumeroComplejoBinomico .NewNumeroComplejoBinomico(operando2.GetParteReal(), operando2.GetParteImaginaria() * (-1)); INumeroComplejo numerador = Multiplicar(operando1, conjugadoDelSegundoOperando); double resultadoProductoDeConjugados = Math.Pow(operando2.GetParteReal(), 2) + Math.Pow(operando2.GetParteImaginaria(), 2); return(NumeroComplejoBinomico.NewNumeroComplejoBinomico(numerador.GetParteReal() / resultadoProductoDeConjugados, numerador.GetParteImaginaria() / resultadoProductoDeConjugados)); }
public NumeroComplejoBinomico EnBinomico() { INumeroComplejo aux = new NumeroComplejoPolar(this.amplitud, this.angulo);//esto es para no repetir la logica de pasar de modulo y angulo a parte real e imaginaria return(NumeroComplejoBinomico.NewNumeroComplejoBinomico(aux.GetParteReal(), aux.GetParteImaginaria())); }