class Utils {

    public static double computeSeasonalFactor(double daysSince2000, double sunEarthDistanceSquare) {
        // Semi-major axis of ellipse Earth orbit around Sun in meters
        final double a = 149597870.0 * 1000.0;
        // Eccentricity of ellipse Earth orbit around Sun
        final double e = 0.017;
        // Perihelion in 2000 was the 03.01.2000 05:00
        final double daysToPerihelionIn2000 = 3.0 + 5.0 / 24.0;
        final double daysOfYear = 365.25;
        final double theta = 2 * Math.PI * ((daysSince2000 - daysToPerihelionIn2000) / daysOfYear);
        final double r = a * (1.0 - e * e) / (1.0 + e * Math.cos(theta));
        return r * r / sunEarthDistanceSquare;
    }

    private  Utils();

}