22 de mar. de 2014

Classe fotografia

Ainda apenas testando, tantas coisas na cabeça... nem sei por onde começar...
Começei calculando o ângulo de visão, discutido no post anterior..agora já na classe C#


using System;

namespace fotografia
{
    internal class fotografia : IFotografia
    {
        public double FatordeCorte { get; set; }

        public int ObjetivaMM { get; set; }

        public int CameraFabricante(_CamerasFabricante _value)
        {
            return (int)_value;
        }

        private double _MMFinalObjetiva()
        {
            return (Convert.ToDouble(ObjetivaMM) * FatordeCorte);
        }

        public double SensorHmm
        {
            get;
            set;
        }

        private double myVar;

        public double SensorVmm
        {
            get { return myVar; }
            set { myVar = value; }
        }

        public double CalculoAnguloVisaoH()
        {
            double fov = SensorHmm / (2 * _MMFinalObjetiva());

            double arctan = 2 * Math.Atan(fov)  * 180.0 / Math.PI;
            return arctan;
        }

        private double CalculoAnguloVisaoV()
        {
            double fov = SensorVmm / (2 * _MMFinalObjetiva());

            double arctan = 2 * Math.Atan(fov) * 180.0 / Math.PI;
            return arctan;
        }
    }
}

vamos testar, para ver se funciona.

  fotografia ft = new fotografia();
            ft.CameraFabricante(_CamerasFabricante.Canon);
            ft.ObjetivaMM = 50;
            ft.SensorHmm = 22.3;
            ft.FatordeCorte = 1.6;
            var t = ft.CalculoAnguloVisaoH();
voilá...funcionando perfeitamente. :)

Nenhum comentário:

Postar um comentário