public Resultado GetClima(int dia) { if (Trigonometry.Colinealidad(_planetas[0].GetPosicion(dia), _planetas[1].GetPosicion(dia), _planetas[2].GetPosicion(dia), _deltaColinealidad)) { // Si los 3 planetas están en linea, reemplazo cualquiera de ellos por el sol, y verifico si tmb están en linea. if (Trigonometry.Colinealidad(_planetas[0].GetPosicion(dia), _planetas[1].GetPosicion(dia), _sol.GetPosicion(dia), _deltaColinealidad)) { return new Resultado { Dia = dia, Clima = Constants.Sequia, Lluvia = 0 } } ; return(new Resultado { Dia = dia, Clima = Constants.Optimo, Lluvia = 0 }); } if (Trigonometry.PuntoEnTriangulo(_planetas[0].GetPosicion(dia), _planetas[1].GetPosicion(dia), _planetas[2].GetPosicion(dia), _sol.GetPosicion(dia))) { return(new Resultado { Dia = dia, Clima = Constants.Lluvia, Lluvia = Trigonometry.GetPerimetro(_planetas[0].GetPosicion(dia), _planetas[1].GetPosicion(dia), _planetas[2].GetPosicion(dia)) }); } return(new Resultado { Dia = dia, Clima = Constants.Confuso, Lluvia = 0 }); } }