/// <summary> /// Gets Field Of View parameters as seen by camera with telescope equipped by Barlow lens or reducer /// </summary> /// <param name="telescope">Telesope parameters</param> /// <param name="camera">Camers parameters</param> /// <param name="lens">Barlow lens or reducer parameters</param> /// <param name="binning">Binning value</param> /// <param name="rotation">Camera rotation angle</param> /// <returns> /// Field Of View parameters as seen by camera with equipment provided /// </returns> public static CameraFieldOfView GetCameraView(Telescope telescope, Camera camera, Lens lens, int binning, int rotation) { float focalLength = telescope.FocalLength * (lens != null ? lens.Value : 1); float focalRatio = focalLength / telescope.Aperture; float dawesLimit = GetDawesLimit(telescope.Aperture); float resolutionHorizontal = ((camera.PixelSizeWidth * binning) / focalLength) * 206; float resolutionVertical = ((camera.PixelSizeHeight * binning) / focalLength) * 206; float fovHorizontal = (resolutionHorizontal * (camera.HorizontalResolution / binning)) / 3600; float fovVertical = (resolutionVertical * (camera.VerticalResolution / binning)) / 3600; return(new CameraFieldOfView() { FocalRatio = focalRatio, Resolution = new SizeF(resolutionHorizontal, resolutionVertical), Size = new SizeF(fovHorizontal, fovVertical), Rotation = rotation, Binning = binning, DawesLimit = dawesLimit }); }
/// <summary> /// Gets Field Of View parameters as seen by eye with telescope equipped by eyepiece and Barlow lens or reducer /// </summary> /// <param name="telescope">Telesope parameters</param> /// <param name="eyepiece">Eyepiece parameters</param> /// <param name="lens">Barlow lens or reducer parameters</param> /// <returns> /// Field Of View parameters as seen by eye with equipment provided /// </returns> public static TelescopeFieldOfView GetTelescopeView(Telescope telescope, Eyepiece eyepiece, Lens lens) { float focalLength = telescope.FocalLength * (lens != null ? lens.Value : 1); float focalRatio = telescope.FocalLength / telescope.Aperture; float dawesLimit = GetDawesLimit(telescope.Aperture); float magnitudeLimit = GetManitudeLimit(telescope.Aperture); float magnification = focalLength / eyepiece.FocalLength; float fov = eyepiece.FieldOfView / magnification; float exitPupil = telescope.Aperture / magnification; return(new TelescopeFieldOfView() { FocalRatio = focalRatio, ExitPupil = exitPupil, DawesLimit = dawesLimit, Magnification = magnification, Size = fov, VisualMagnitudeLimit = magnitudeLimit }); }