Beispiel #1
0
        private void PrepareForm()
        {
            lblName.Text = star.Name;

            if (IO.LoadImage(star.Url, pBoxPhoto, false))
            {
                pBoxPhoto.Image = Properties.Resources.star;
            }

            lblConstellation.Text
                = Filter.GetConstellationFromStar(star, sky).ToString();

            lblDist.Text    = $"{Editor.Round(star.Distance, 3)} Пк";
            lblMagn.Text    = $"{Editor.Round(star.Magnitude, 3)} m";
            lblAbsMagn.Text = $"{Editor.Round(star.AbsMagnitude, 3)} M";
            lblDecl.Text    = star.Location.Declination.ToString();
            lblRA.Text      = star.Location.RightAscension.ToString();

            HorizontalCS horCS = star.GetCurrLocation(human);

            lblAzimuth.Text  = horCS.Azimuth.ToString();
            lblAltitude.Text = horCS.Altitude.ToString();

            if (!star.IsEverVisible(human))
            {
                lblVisibility.Text = "Всегда невидима для вашей местности";
            }
            else if (star.IsAlwaysVisible(human))
            {
                lblVisibility.Text = "Всегда над горизонтом";
            }
            else if (AstroMath.IsStarVisible(horCS))
            {
                lblVisibility.Text = "Сейчас над горизонтом";
            }
            else
            {
                lblVisibility.Text = "Сейчас не видно";
            }
        }
 /// <summary>
 /// Показывает, видима ли звезда для наблюдателя.
 /// </summary>
 /// <param name="horCS">Горизонтальная система координат.</param>
 /// <returns>Видима ли звезда</returns>
 public static bool IsStarVisible(HorizontalCS horCS)
 {
     return(horCS.Altitude.GetDegrees() >= 0);
 }
        /// <summary>
        /// Показывает, видима ли звезда для наблюдателя.
        /// </summary>
        /// <param name="s">Звезда</param>
        /// <param name="h">Наблюдатель</param>
        /// <returns>Видима ли звезда</returns>
        public static bool IsStarVisible(Star s, Human h)
        {
            HorizontalCS horCS = GetCurrentStarLocation(s, h);

            return(horCS.Altitude.GetDegrees() >= 0);
        }