예제 #1
0
        public void doitCalculerOuvertureEV12Iso100(double ouvertureAttendue, double tempsDePose)
        {
            Posemètre posemètre = GénérateurDePosemètre.générerUnPosemètre(10000, 100, tempsDePose, 0);

            posemètre = actionOuverture.mettreAJourLePosemètre(posemètre);

            Assert.That(posemètre.getOuverture(), Is.EqualTo(ouvertureAttendue));
        }
예제 #2
0
        public void doitCalculerOuvertureSunny16()
        {
            Posemètre posemètre = GénérateurDePosemètre.générerUnPosemètre(82000, 100, 1.0 / 125.0, 0);

            posemètre = actionOuverture.mettreAJourLePosemètre(posemètre);

            Assert.That(posemètre.getOuverture(), Is.EqualTo(16));
        }
예제 #3
0
        private double calculerIso(Posemètre posemètre)
        {
            double E = posemètre.getEclairementLumineux();
            double N = posemètre.getOuverture();
            double t = posemètre.getTempsDePose();

            double N2 = Math.Pow(N, 2);

            double ES = (N2 / t) * Posemètre.CONSTANTE_ETALONNAGE;

            double S = ES / E;

            return(Math.Round(S));
        }
        private double calculerTempsDePose(Posemètre posemètre)
        {
            double E = posemètre.getEclairementLumineux();
            double S = posemètre.getISO();
            double N = posemètre.getOuverture();

            double N2 = Math.Pow(N, 2);

            double ESparC = (E * S) / Posemètre.CONSTANTE_ETALONNAGE;

            double t = N2 / ESparC;

            return(Arrondiseur.arrondire(t, TempsDePose.récupérerToutesLesValeuresDeTempsDePose()));
        }