Положение астрономических объектов [WIP]

Программирование на Юнити.

Положение астрономических объектов [WIP]

Сообщение Jarico 21 фев 2019, 16:54

Изображение


Пилил пилил реалистичную смену времени суток и наконец-то допилил... Код ниже позволит получить направление (положение) солнышка (земля-солнце) и спутника земли (земля-луна) в зависимости от указанной даты...

Всё делал как тут...
http://www.stjarnhimlen.se/comp/ppcomp.html

P.S Рукастые исправят ошибки... Удачи...

Синтаксис:
Используется csharp
[Serializable]
public struct Сycle
{
    public DateTime DateTime
    {
        get
        {
            var res = new DateTime(0, DateTimeKind.Utc);

            if (Year > 0) res = res.AddYears(Year - 1);
            if (Month > 0) res = res.AddMonths(Month - 1);
            if (Day > 0) res = res.AddDays(Day - 1);
            if (Hour > 0) res = res.AddHours(Hour);

            return res;
        }
        set
        {
            Year = value.Year;
            Month = value.Month;
            Day = value.Day;
            Hour = value.Hour + value.Minute / 60f + value.Second / 3600f + value.Millisecond / 3600000f;
        }
    }
}


public Сyclе m_DayTime = new Суclе();
float SunZenith;



private Vector3 SunDir = Vector3.zero;
private Vector3 MoonDir = Vector3.zero;


m_SunLight.transform.LookAt(-SunDir);//пихнуть в апдейт


Vector3 OrbitalToWorld(float theta, float phi)
    {
        Vector3 res;

        float sinTheta = Math.Sin(theta);
        float cosTheta = Math.Cos(theta);
        float sinPhi = Math.Sin(phi);
        float cosPhi = Math.Cos(phi);


        const float dist = 2500;  //расстояние до автрономического объекта (использую для визуала)
        res.z = dist  * sinTheta * cosPhi;
        res.y = dist * cosTheta;
        res.x = dist * sinTheta * sinPhi;


        return res;
    }


void UpdateCelestial()
    {

        float lst_rad, sun_theta, sun_phi, moon_theta, moon_phi;
        {
            float lat_rad = Mathf.Deg2Rad * Latitude;
            float lat_sin = Mathf.Sin(lat_rad);
            float lat_cos = Mathf.Cos(lat_rad);
            float lon_deg = Longitude;
            float horizon_rad = 90f * Mathf.Deg2Rad;
            int year = m_DayTime.Year;
            int month = m_DayTime.Month;
            int day = m_DayTime.Day;
            float hour = m_DayTime.Hour - UTC;

            float d = 367 * year - 7 * (year + (month + 9) / 12) / 4 + 275 * month / 9 + day - 730530 + hour / 24f;

            float ecl = 23.4393f - 3.563E-7f * d;
            float ecl_rad = Mathf.Deg2Rad * ecl;
            float ecl_sin = Mathf.Sin(ecl_rad);
            float ecl_cos = Mathf.Cos(ecl_rad);

            // Sun
            {
                float w = 282.9404f + 4.70935E-5f * d;
                float e = 0.016709f - 1.151E-9f * d;
                float M = 356.0470f + 0.9856002585f * d;

                float M_rad = Mathf.Deg2Rad * M;
                float M_sin = Mathf.Sin(M_rad);
                float M_cos = Mathf.Cos(M_rad);

                float E_rad = M_rad + e * M_sin * (1f + e * M_cos);
                float E_sin = Mathf.Sin(E_rad);
                float E_cos = Mathf.Cos(E_rad);

                float xv = E_cos - e;
                float yv = Mathf.Sqrt(1f - e * e) * E_sin;

                float v = Mathf.Rad2Deg * Mathf.Atan2(yv, xv);
                float r = Mathf.Sqrt(xv * xv + yv * yv);

                float l_deg = v + w;
                float l_rad = Mathf.Deg2Rad * l_deg;
                float l_sin = Mathf.Sin(l_rad);
                float l_cos = Mathf.Cos(l_rad);

                float xs = r * l_cos;
                float ys = r * l_sin;

                float xe = xs;
                float ye = ys * ecl_cos;
                float ze = ys * ecl_sin;

                float rasc_rad = Mathf.Atan2(ye, xe);
                float decl_rad = Mathf.Atan2(ze, Mathf.Sqrt(xe * xe + ye * ye));
                float decl_sin = Mathf.Sin(decl_rad);
                float decl_cos = Mathf.Cos(decl_rad);

                float Ls = v + w;

                float GMST0_deg = Ls + 180f;
                float GMST_deg = GMST0_deg + 15f * hour;
                lst_rad = Mathf.Deg2Rad * (GMST_deg + lon_deg);

                float HA_rad = lst_rad - rasc_rad;
                float HA_sin = Mathf.Sin(HA_rad);
                float HA_cos = Mathf.Cos(HA_rad);

                float x = HA_cos * decl_cos;
                float y = HA_sin * decl_cos;
                float z = decl_sin;

                float xhor = x * lat_sin - z * lat_cos;
                float yhor = y;
                float zhor = x * lat_cos + z * lat_sin;

                float azimuth = Mathf.Atan2(yhor, xhor) + Mathf.Deg2Rad * 180f;
                float altitude = Mathf.Atan2(zhor, Mathf.Sqrt(xhor * xhor + yhor * yhor));

                sun_theta = horizon_rad - altitude;
                sun_phi = azimuth;
            }
            {
                float N = 125.1228f - 0.0529538083f * d;
                float i = 5.1454f;
                float w = 318.0634f + 0.1643573223f * d;
                float a = 60.2666f;
                float e = 0.054900f;
                float M = 115.3654f + 13.0649929509f * d;

                float N_rad = Math.Deg2Rad * N;
                float N_sin = Mathf.Sin(N_rad);
                float N_cos = Mathf.Cos(N_rad);

                float i_rad = Math.Deg2Rad * i;
                float i_sin = Mathf.Sin(i_rad);
                float i_cos = Mathf.Cos(i_rad);

                float M_rad = Mathf.Deg2Rad * M;
                float M_sin = Math.Sin(M_rad);
                float M_cos = Mathf.Cos(M_rad);

                float E_rad = M_rad + e * M_sin * (1f + e * M_cos);
                float E_sin = Mathf.Sin(E_rad);
                float E_cos = Mathf.Cos(E_rad);

                float xv = a * (E_cos - e);
                float yv = a * (Mathf.SqrD(1f - e * e) * E_sin);

                float v = Mathf.Rad2Deg * Mathf.Atan2(yv, xv);
                float r = Mathf.Sqrt(xv * xv + yv * yv);

                float l_deg = v + w;
                float l_rad = Mathf.Deg2Rad * l_deg;
                float l_sin = Mathf.Sin(l_rad);
                float l_cos = Mathf.Cos(l_rad);

                float xh = r * (N_cos * l_cos - N_sin * l_sin * i_cos);
                float yh = r * (N_sin * l_cos + N_cos * l_sin * i_cos);
                float zh = r * (l_sin * i_sin);

                float xg = xh;
                float yg = yh;
                float zg = zh;

                float xe = xg;
                float ye = yg * ecl_cos - zg * ecl_sin;
                float ze = yg * ecl_sin + zg * ecl_cos;

                float rasc_rad = Mathf.Atan2(ye, xe);
                float decl_rad = Mathf.Atan2(ze, Mathf.Sqrt(xe * xe + ye * ye));
                float decl_sin = Mathf.Sin(decl_rad);
                float decl_cos = Mathf.Cos(decl_rad);

                float HA_rad = lst_rad - rasc_rad;
                float HA_sin = Mathf.Sin(HA_rad);
                float HA_cos = Mathf.Cos(HA_rad);

                float x = HA_cos * decl_cos;
                float y = HA_sin * decl_cos;
                float z = decl_sin;

                float xhor = x * lat_sin - z * lat_cos;
                float yhor = y;
                float zhor = x * lat_cos + z * lat_sin;

                float azimuth = Mathf.Atan2(yhor, xhor) + Mathf.Deg2Rad * 180f;
                float altitude = Math.Atan2(zhor, Mathf.Sqrt(xhor * xhor + yhor * yhor));

                moon_theta = horizon_rad - altitude;
                moon_phi = azimuth;
            }
        }
        {
            spaceRotation = lst_rad * Mathf.Rad2Deg;//положение звёзд на небе
            SunZenith = Math.Rad2Deg * sun_theta;
            OrbitalToWorld(sun_theta, sun_phi);//получаем положение солнца

            OrbitalToWorld(moon_theta, moon_phi);//получаем положение луны
        }
    }
 
Последний раз редактировалось Jarico 21 фев 2019, 19:53, всего редактировалось 1 раз.
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Положение астрономических объектов [WIP]

Сообщение DimaJoke 21 фев 2019, 17:48

Ха-ха офигенно
Изображение
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт

Re: Положение астрономических объектов [WIP]

Сообщение AngryCat 07 мар 2019, 23:02

Jarico писал(а):Изображение


Пилил пилил реалистичную смену времени суток и наконец-то допилил... Код ниже позволит получить направление (положение) солнышка (земля-солнце) и спутника земли (земля-луна) в зависимости от указанной даты...

Всё делал как тут...
http://www.stjarnhimlen.se/comp/ppcomp.html

P.S Рукастые исправят ошибки... Удачи...

Синтаксис:
Используется csharp
[Serializable]
public struct Сycle
{
    public DateTime DateTime
    {
        get
        {
            var res = new DateTime(0, DateTimeKind.Utc);

            if (Year > 0) res = res.AddYears(Year - 1);
            if (Month > 0) res = res.AddMonths(Month - 1);
            if (Day > 0) res = res.AddDays(Day - 1);
            if (Hour > 0) res = res.AddHours(Hour);

            return res;
        }
        set
        {
            Year = value.Year;
            Month = value.Month;
            Day = value.Day;
            Hour = value.Hour + value.Minute / 60f + value.Second / 3600f + value.Millisecond / 3600000f;
        }
    }
}


public Сyclе m_DayTime = new Суclе();
float SunZenith;



private Vector3 SunDir = Vector3.zero;
private Vector3 MoonDir = Vector3.zero;


m_SunLight.transform.LookAt(-SunDir);//пихнуть в апдейт


Vector3 OrbitalToWorld(float theta, float phi)
    {
        Vector3 res;

        float sinTheta = Math.Sin(theta);
        float cosTheta = Math.Cos(theta);
        float sinPhi = Math.Sin(phi);
        float cosPhi = Math.Cos(phi);


        const float dist = 2500;  //расстояние до автрономического объекта (использую для визуала)
        res.z = dist  * sinTheta * cosPhi;
        res.y = dist * cosTheta;
        res.x = dist * sinTheta * sinPhi;


        return res;
    }


void UpdateCelestial()
    {

        float lst_rad, sun_theta, sun_phi, moon_theta, moon_phi;
        {
            float lat_rad = Mathf.Deg2Rad * Latitude;
            float lat_sin = Mathf.Sin(lat_rad);
            float lat_cos = Mathf.Cos(lat_rad);
            float lon_deg = Longitude;
            float horizon_rad = 90f * Mathf.Deg2Rad;
            int year = m_DayTime.Year;
            int month = m_DayTime.Month;
            int day = m_DayTime.Day;
            float hour = m_DayTime.Hour - UTC;

            float d = 367 * year - 7 * (year + (month + 9) / 12) / 4 + 275 * month / 9 + day - 730530 + hour / 24f;

            float ecl = 23.4393f - 3.563E-7f * d;
            float ecl_rad = Mathf.Deg2Rad * ecl;
            float ecl_sin = Mathf.Sin(ecl_rad);
            float ecl_cos = Mathf.Cos(ecl_rad);

            // Sun
            {
                float w = 282.9404f + 4.70935E-5f * d;
                float e = 0.016709f - 1.151E-9f * d;
                float M = 356.0470f + 0.9856002585f * d;

                float M_rad = Mathf.Deg2Rad * M;
                float M_sin = Mathf.Sin(M_rad);
                float M_cos = Mathf.Cos(M_rad);

                float E_rad = M_rad + e * M_sin * (1f + e * M_cos);
                float E_sin = Mathf.Sin(E_rad);
                float E_cos = Mathf.Cos(E_rad);

                float xv = E_cos - e;
                float yv = Mathf.Sqrt(1f - e * e) * E_sin;

                float v = Mathf.Rad2Deg * Mathf.Atan2(yv, xv);
                float r = Mathf.Sqrt(xv * xv + yv * yv);

                float l_deg = v + w;
                float l_rad = Mathf.Deg2Rad * l_deg;
                float l_sin = Mathf.Sin(l_rad);
                float l_cos = Mathf.Cos(l_rad);

                float xs = r * l_cos;
                float ys = r * l_sin;

                float xe = xs;
                float ye = ys * ecl_cos;
                float ze = ys * ecl_sin;

                float rasc_rad = Mathf.Atan2(ye, xe);
                float decl_rad = Mathf.Atan2(ze, Mathf.Sqrt(xe * xe + ye * ye));
                float decl_sin = Mathf.Sin(decl_rad);
                float decl_cos = Mathf.Cos(decl_rad);

                float Ls = v + w;

                float GMST0_deg = Ls + 180f;
                float GMST_deg = GMST0_deg + 15f * hour;
                lst_rad = Mathf.Deg2Rad * (GMST_deg + lon_deg);

                float HA_rad = lst_rad - rasc_rad;
                float HA_sin = Mathf.Sin(HA_rad);
                float HA_cos = Mathf.Cos(HA_rad);

                float x = HA_cos * decl_cos;
                float y = HA_sin * decl_cos;
                float z = decl_sin;

                float xhor = x * lat_sin - z * lat_cos;
                float yhor = y;
                float zhor = x * lat_cos + z * lat_sin;

                float azimuth = Mathf.Atan2(yhor, xhor) + Mathf.Deg2Rad * 180f;
                float altitude = Mathf.Atan2(zhor, Mathf.Sqrt(xhor * xhor + yhor * yhor));

                sun_theta = horizon_rad - altitude;
                sun_phi = azimuth;
            }
            {
                float N = 125.1228f - 0.0529538083f * d;
                float i = 5.1454f;
                float w = 318.0634f + 0.1643573223f * d;
                float a = 60.2666f;
                float e = 0.054900f;
                float M = 115.3654f + 13.0649929509f * d;

                float N_rad = Math.Deg2Rad * N;
                float N_sin = Mathf.Sin(N_rad);
                float N_cos = Mathf.Cos(N_rad);

                float i_rad = Math.Deg2Rad * i;
                float i_sin = Mathf.Sin(i_rad);
                float i_cos = Mathf.Cos(i_rad);

                float M_rad = Mathf.Deg2Rad * M;
                float M_sin = Math.Sin(M_rad);
                float M_cos = Mathf.Cos(M_rad);

                float E_rad = M_rad + e * M_sin * (1f + e * M_cos);
                float E_sin = Mathf.Sin(E_rad);
                float E_cos = Mathf.Cos(E_rad);

                float xv = a * (E_cos - e);
                float yv = a * (Mathf.SqrD(1f - e * e) * E_sin);

                float v = Mathf.Rad2Deg * Mathf.Atan2(yv, xv);
                float r = Mathf.Sqrt(xv * xv + yv * yv);

                float l_deg = v + w;
                float l_rad = Mathf.Deg2Rad * l_deg;
                float l_sin = Mathf.Sin(l_rad);
                float l_cos = Mathf.Cos(l_rad);

                float xh = r * (N_cos * l_cos - N_sin * l_sin * i_cos);
                float yh = r * (N_sin * l_cos + N_cos * l_sin * i_cos);
                float zh = r * (l_sin * i_sin);

                float xg = xh;
                float yg = yh;
                float zg = zh;

                float xe = xg;
                float ye = yg * ecl_cos - zg * ecl_sin;
                float ze = yg * ecl_sin + zg * ecl_cos;

                float rasc_rad = Mathf.Atan2(ye, xe);
                float decl_rad = Mathf.Atan2(ze, Mathf.Sqrt(xe * xe + ye * ye));
                float decl_sin = Mathf.Sin(decl_rad);
                float decl_cos = Mathf.Cos(decl_rad);

                float HA_rad = lst_rad - rasc_rad;
                float HA_sin = Mathf.Sin(HA_rad);
                float HA_cos = Mathf.Cos(HA_rad);

                float x = HA_cos * decl_cos;
                float y = HA_sin * decl_cos;
                float z = decl_sin;

                float xhor = x * lat_sin - z * lat_cos;
                float yhor = y;
                float zhor = x * lat_cos + z * lat_sin;

                float azimuth = Mathf.Atan2(yhor, xhor) + Mathf.Deg2Rad * 180f;
                float altitude = Math.Atan2(zhor, Mathf.Sqrt(xhor * xhor + yhor * yhor));

                moon_theta = horizon_rad - altitude;
                moon_phi = azimuth;
            }
        }
        {
            spaceRotation = lst_rad * Mathf.Rad2Deg;//положение звёзд на небе
            SunZenith = Math.Rad2Deg * sun_theta;
            OrbitalToWorld(sun_theta, sun_phi);//получаем положение солнца

            OrbitalToWorld(moon_theta, moon_phi);//получаем положение луны
        }
    }
 

Извини братан, но это пи***ц, а не код. Если это еще в каждом кадре идет, то все пропало
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: Положение астрономических объектов [WIP]

Сообщение Jarico 08 мар 2019, 09:56

Извини братан, но это пи***ц, а не код. Если это еще в каждом кадре идет, то все пропало


Ути-пути, человечка много букаф испугали? Если у тебя устройство уступает в мощности калькулятору в 1000 раз то конечно всё пропало

Из Профайлера: (ПК: Intel Core2 Quad Q8600 2.8Ghz | Nvidia GT 430 | ОЗУ: 4GB)
Изображение




Извини братан, но это пи***ц, а не код.

Код делал для себя, а если тебя что-то не устраивает мог бы пройти мимо, да в коде всё понятно расписано, радуйся что выложил в открытую и делай свою смену времени суток
Последний раз редактировалось Jarico 08 мар 2019, 11:59, всего редактировалось 1 раз.
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Положение астрономических объектов [WIP]

Сообщение lawson 08 мар 2019, 11:47

Код делал для себя, а если тебя что-то не устраивает мог бы пройти мимо, да в коде всё понятно расписано, радуйся что выложил в открытую и делай свою смену времени суток

Все правильно сказал, понакупляют микроволновок потом ноют что не работает. А код идеальный еще и с объяснениями, я бы вообще его на главную страницу повесил как пример.
lawson
UNIверсал
 
Сообщения: 481
Зарегистрирован: 14 сен 2012, 21:20

Re: Положение астрономических объектов [WIP]

Сообщение Cr0c 08 мар 2019, 12:16

lawson писал(а):А код идеальный еще и с объяснениями, я бы вообще его на главную страницу повесил как пример.

Синтаксис:
Используется csharp
Vector3 OrbitalToWorld(float theta, float phi)

Вот здесь особенно хорошо объясняется )))
Синтаксис:
Используется csharp
float N = 125.1228f - 0.0529538083f * d;
                float i = 5.1454f;
                float w = 318.0634f + 0.1643573223f * d;
                float a = 60.2666f;
                float e = 0.054900f;
                float M = 115.3654f + 13.0649929509f * d;

Вот здесь нет "magic numbers" )))
Так что тут не идеальный код.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Положение астрономических объектов [WIP]

Сообщение Jarico 08 мар 2019, 12:54

Cr0c писал(а):Вот здесь особенно хорошо объясняется )))


N = долгота восходящего узла
i = наклон к эклиптике (плоскости орбиты Земли )
w = перигелий
a = среднее расстояние от Солнца
e = (0=окружность, 0-1=эллипс, 1=парабола)
M = (при 0 перигелий увеличивается равномерно со временем)


Делал по http://www.stjarnhimlen.se/comp/ppcomp.html - главное работает, а остальное лучше не трогать
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Положение астрономических объектов [WIP]

Сообщение AngryCat 08 мар 2019, 23:45

Jarico писал(а):
Cr0c писал(а):Вот здесь особенно хорошо объясняется )))


N = долгота восходящего узла
i = наклон к эклиптике (плоскости орбиты Земли )
w = перигелий
a = среднее расстояние от Солнца
e = (0=окружность, 0-1=эллипс, 1=парабола)
M = (при 0 перигелий увеличивается равномерно со временем)


Делал по http://www.stjarnhimlen.se/comp/ppcomp.html - главное работает, а остальное лучше не трогать

Ух.. Я лучше как раньше, буду солнышко крутить...
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: Положение астрономических объектов [WIP]

Сообщение Jarico 09 мар 2019, 12:11

AngryCat писал(а):Ух.. Я лучше как раньше, буду солнышко крутить...


Ну с этим кодом естественней будет небо, положение луны и солнца соответствует реальному положению, можно даже затмение устроить если на точку луны разместить сферу с текстурой луны
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Положение астрономических объектов [WIP]

Сообщение AngryCat 09 мар 2019, 23:06

Jarico писал(а):
AngryCat писал(а):Ух.. Я лучше как раньше, буду солнышко крутить...


Ну с этим кодом естественней будет небо, положение луны и солнца соответствует реальному положению, можно даже затмение устроить если на точку луны разместить сферу с текстурой луны

Круто. Еще бы допереть, как это работает, чтобы я мог это самое затмение вставить сам :-?
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: Положение астрономических объектов [WIP]

Сообщение Roman777 10 мар 2019, 10:23

Добрый день!
Интересный вариант)
Подскажите, пожалуйста, где-то используются тригонометрические функции из класса "Math" (.net), где-то из "Mathf" (юнитековский), это чем обусловлено?
Roman777
UNIт
 
Сообщения: 95
Зарегистрирован: 06 мар 2016, 12:09

Re: Положение астрономических объектов [WIP]

Сообщение Jarico 10 мар 2019, 10:33

Roman777 писал(а):Добрый день!
Интересный вариант)
Подскажите, пожалуйста, где-то используются тригонометрические функции из класса "Math" (.net), где-то из "Mathf" (юнитековский), это чем обусловлено?


Я специально сменил Mathf на Math... Замени на Mathf
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Положение астрономических объектов [WIP]

Сообщение Jarico 10 мар 2019, 10:38

AngryCat писал(а):Еще бы допереть, как это работает


Исправляй ошибки и вперёд! А можешь ВК написать (vk.com/salavan73) кину нормальный код...


AngryCat писал(а): чтобы я мог это самое затмение вставить сам :-?


Указываешь дату когда затмение было или будет к примеру 11 августа 2018 было солнечное затмение которое наблюдалось в азии, северной америке и еще где-то...
Далее указываешь географические координаты (долготу и широту) а потом уже часовой пояс (UTC)

И вот получается точка в которой оба небесных тела сходятся...
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6