A A A A Автор Тема: расчет долготы дня - не для Земли. посоветуйте софт, плз  (Прочитано 3617 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн JJАвтор темы

  • Новичок
  • *
  • Сообщений: 22
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от JJ
Здравствуйте.

Нужен софт для расчета долготы дня/ночи и сумерек, а также макс. угла подъема солнца над горизонтом на заданной широте. Реализовано это в одной программе или разнесено на две - не важно. Крайне желательно, чтобы результаты можно было выводить на длительный период, в идеале - охватить полный год. НО - и вот важный момент, почему я прошу помощи - необходимо, чтобы программа позволяла задавать произвольный угол наклона оси планеты, для которой производятся вычисления. Именно из-за этого критерия я не могу взять просто приглянувшийся калькулятор.
Возможно, существуют калькуляторы, позволяющие задавать произвольный наклон оси. Платформы - Винда, Линукс.
Если кто-нибудь может помочь, буду очень благодарен.

Tau

  • Гость
Альтернативная Земля? :)
Написать вам такую программку?

P.S. Если не для Земли, то изменения лишь оси планеты мало, нужно еще задавать и период вращения планеты, и период обращения планеты вокруг звезды. И орбиту планеты тогда уж.. И модель атмосферы, если рефракцию учитывать...
« Последнее редактирование: 06 Мар 2010 [09:57:35] от Tau »

Оффлайн JJАвтор темы

  • Новичок
  • *
  • Сообщений: 22
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от JJ
Не альтернативная Земля, просто землеподобная планета. Скажем так, очень землеподобная)

На написать я даже не рассчитывал. Если у вас есть желание и возможность что-то подобное сделать, то это будет... ну, без преувеличения - фантастика))) Серьезно.

Про период обращения и астрономический год... Ну, софта, который позволял бы вбить все эти параметры, я вообще не нашел, поэтому надеялся на какой-нибудь, что ли, палео-калькулятор или что-то в этом духе, а результаты потом можно пересчитать на нужные часы и дни. Рефракцию брать приближенную к земной. Как говорится, на безрыбье...

В общем, мне хотя б что-нибудь. А уж написать, это вообще... мечта)))

Tau

  • Гость
Цитата
ну, без преувеличения - фантастика
А что, интересно поиграться... :)
У меня только одна проблема: если кардинально менять орбиту и вдобавок еще тип звезды, то возникают проблемы с определением сумерек. Насколько должна опуститься за горизонт звезда ("Солнце"), чтобы освещенность была уже не сумеречная, а ночная? Подозреваю, что для Земли это было определено эмпирически. Может быть, астрофизик бы это осилил, но я тут пас.

Оффлайн JJАвтор темы

  • Новичок
  • *
  • Сообщений: 22
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от JJ
Если рассуждать логически, то я бы "плясал" от видимого диаметра Солнца. Если брать астрономическую границу сумерек и ночи, то в этот момент светило "ушло" за горизонт на расстояние в 36 раз больше его видимого диаметра (18 град. и 0,5 град), а дальше на эту пропорцию уже будет влиять атмосфера. Но как раз параметром рефракции, в принципе, можно пренебречь, потому что атмосферы, где человек может выжить, по космическим меркам крайне мало отличаются от земной. То есть земную атмосферу можно спокойно взять за базовую модель.
Эксцентриситет - да, вот без него пожалуй не обойтись... А кардинально менять тип звезды...  ::) Я-то в общем про землеподобные планеты, а для них с типом светила очень сильно не разгуляться. Как в общем и с расстоянием до него (исключая вариант, скажем, с большим эксцентрисистетом орбиты, где жизнь могла бы циклично "пробуждаться" на те периоды, когда планета приближается к своей звезде. А вот огромное солнце, как в уэллсовской "Машине времени", это уже никакой землеподобности)).

"поиграться"... уфф  ;D я такое "поиграться" точно не осилю  ;D

Tau

  • Гость
Процесс пошел.
Пока что задаваемые параметры: большая полуось орбиты, эксцентриситет, период вращения планеты..
Из этого определяются: продолжительность солнечных суток в секундах (если орбита вытянутая, то сутки изменяются ощутимо), длина года в земных и планетных сутках...
Массу звезды менять будем? Она влияет на длину года.
Реальный радиус звезды менять будем? Чтобы определить, какой будет видимый размер "Солнца" на планете.
Наклон, ориентацию орбиты менять будем?
Счет времени какой? Для Земли 24 часа по 60 минут и по 60 секунд, и это хорошо укладывается в 86400 секунд - солнечные сутки. Если длина суток другая, то единицы измерения времени тоже должны быть другие, если жить на планете постоянно.
К планете пока не перехожу, нужно определиться, в чем длину дня и сумерек измерять будем :)

Оффлайн JJАвтор темы

  • Новичок
  • *
  • Сообщений: 22
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от JJ
Да вы просто мега-молоток! О_О

И массу, и радиус, думаю, заложить не помешает (если возможно). Наклон орбиты учитывать имхо причины нет... А вот счет времени... Напишу с точки зрения практической: для человека, путешествующего с планеты на планету, удобнее пользоваться стандартизированными единицами измерения времени, на которые уже будут пересчитываться местные сутки и местный год. Понятное дело, никаких целых чисел (типа: в сутках ровно N часов или N минут) уже не будет... Кстати, с точки зрения стандартизации, земной год идеально задать стандартный, т.е. 365 дней по 24 часа, в каждом из которых... и т. д. Короче говоря, обойтись без того "огрызка", из которого набегают високосные годы)))

А интересно получается  :)

Tau

  • Гость
Вы будете смеяться, но вообщем, уже дописано. Завтра буду тестировать на планетах Солнечной Системы и искать возможные проколы в логике, послезавтра выложу.

Оффлайн JJАвтор темы

  • Новичок
  • *
  • Сообщений: 22
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от JJ
Я буду не смеяться, я буду в офиге  :o

P.S. Страшно интересно, что получится для Урана...

Tau

  • Гость
Сорри, задержалась. Венера меня чуть не убила.  :o
Примечания:
1) За начало года принят момент прохождения периастра (перигелия). На планете в это время "осеннее равноденствие".
2) Наклон орбиты и прочие невводимые параметры нулевые.
3) Если наклон оси планеты к полюсу эклиптики больше 90 градусов, у планеты обратное вращение.
4) Высота начала сумерек - 36 видимых радиусов светила (хорошо на дальних планетах - сумерек вообще нет, много ли там того Солнца).
5) вычисления проводятся на весь планетный год. Годовая таблица выводится в файл. Файл сохраняется в той же директории, что и экзешник. Открыть можно руками, можно через меню (Файл->Показать годовую таблицу), когда вычисления закончатся. Прервать вычисления можно кнопкой Стоп. Если отключить визуализацию, то работать будет быстрее.
В таблице:
№ Дня (планетного)/ Длина дня (в земных днях, часах, минутах) / Длина сумерек / Макс.высота Солнца (в градусах)/ Расст.(а.е)/ Видимый диаметр Солнца(в угловых минутах)
6)Точность вычислений +-2 минуты.
7) Визуализация : движение светила в азимутальной системе координат данной широты. Горизонт, направления Север(N)-Юг(S)-Запад(W)-Восток(E). Вверху сферы, разумеется, зенит. Синий круг - планетный небесный экватор. Красный круг - текущий суточный круг Светила. По небу бегает зеленое нечто, это как бы Солнце. В режиме медленной визуализации можно рассмотреть :).
8) Винды!!

Если интерфейс "разъехался", то сразу говорите. В первом приближении я его зафиксировала с учетом разрешения, но как показывает опыт, у всех какие-то неправильные мониторы.  ;D
Вообщем, смотрите и жалуйтесь.
На Земле, Венере, Уране оттестировала, всякие фантазийные случаи пока не пробовала.

Оффлайн k0sm0navt

  • Новичок
  • *
  • Сообщений: 6
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от k0sm0navt
У меня ваша программа не работает :( в чем может быть причина?
« Последнее редактирование: 11 Мар 2010 [14:22:28] от k0sm0navt »

Tau

  • Гость
И что говорит?

Оффлайн JJАвтор темы

  • Новичок
  • *
  • Сообщений: 22
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от JJ
Аналогично, у меня тоже не заработала  :(
Пишет (у меня) вот что:

Run-time error '11':
Division by zero

А вот интерфейс как раз не разъехался, все очень четко (и отдельно радует, что никаких красивостей и финтифлюшек))

Tau

  • Гость
В директории windows\system32\ есть ли у вас такие файлы?
msvbvm60.dll
oleaut32.dll
olepro32.dll
asycfilt.dll
stdole2.tlb
COMCAT.DLL

P.S. InstallShield я вряд ли победю в ближайшее время. Это сильнее меня :)

Оффлайн JJАвтор темы

  • Новичок
  • *
  • Сообщений: 22
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от JJ
Все библиотеки на месте. Винда тоже ХР второй сервиспак.
Странно в общем...
В архиве (кстати не хотел он скачиваться) у меня тхт-шка с параметрами для Земли и собс-но исполнимый файл программы. Портэйбл (без установки то бишь).

Что еще может глючить?

Tau

  • Гость
txt-шка там для примера, но экзешнику явно чего-то не хватает. У меня тоже XP, и я проверила на 4-ых компутерах, но на них в принципе одинаковый софт стоит, так что это не статистика. Завтра отловлю какого-нибудь супер-программиста, может вынесет свой вердикт.

Маринер-9

  • Гость
У меня работает. Только рефракцию учитывает, когда галочка снята,
и не учитывает, когда стоит.

 Для установки надо видимо делать программу и регистрировать все используемые библиотеки. Они могут стоять, но если не зарегистрированы при установке программы, могут с ней не работать. (В принципе, и не должны работать - дело видимо в том, что все наши системы ворованные)

Tau

  • Гость
Цитата
Только рефракцию учитывает, когда галочка снята, и не учитывает, когда стоит.
Да, действительно. Спасибо. :)

Оффлайн JJАвтор темы

  • Новичок
  • *
  • Сообщений: 22
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от JJ
Маринер-9 навели на мысль... погляжу там кое-то, спасибо.
И спасибо насчет рефракции)

Tau буду ждать вердикта программера. Но все равно, что сам софт уже есть, за это мега-благодарность! Заставить его работать на всех компах, это уже дело техники)))

Оффлайн lazyBSD

  • *****
  • Сообщений: 3 338
  • Благодарностей: 10
    • Сообщения от lazyBSD

C:\PF\sysinternals>Listdlls.exe f_planet_v1.exe

ListDLLs v2.25 - DLL lister for Win9x/NT
Copyright (C) 1997-2004 Mark Russinovich
Sysinternals - www.sysinternals.com

------------------------------------------------------------------------------
f_planet_v1.exe pid: 1268
Command line: "C:\Install\ver1\f_planet_v1.exe"

  Base        Size      Version         Path
  0x00400000  0x16000   1.00.0000.0000  C:\Install\ver1\f_planet_v1.exe
  0x7c900000  0xb0000   5.01.2600.5512  C:\WINDOWS\system32\ntdll.dll
  0x7c800000  0xf8000   5.01.2600.5512  C:\WINDOWS\system32\kernel32.dll
  0x733e0000  0x153000  6.00.0098.0002  C:\WINDOWS\system32\MSVBVM60.DLL
  0x7e360000  0x91000   5.01.2600.5512  C:\WINDOWS\system32\USER32.dll
  0x77f10000  0x49000   5.01.2600.5512  C:\WINDOWS\system32\GDI32.dll
  0x77dc0000  0xac000   5.01.2600.5512  C:\WINDOWS\system32\ADVAPI32.dll
  0x77e70000  0x92000   5.01.2600.5512  C:\WINDOWS\system32\RPCRT4.dll
  0x77fe0000  0x11000   5.01.2600.5512  C:\WINDOWS\system32\Secur32.dll
  0x774d0000  0x13d000  5.01.2600.5512  C:\WINDOWS\system32\ole32.dll
  0x77c00000  0x58000   7.00.2600.5512  C:\WINDOWS\system32\msvcrt.dll
  0x77110000  0x8b000   5.01.2600.5512  C:\WINDOWS\system32\OLEAUT32.dll
  0x76360000  0x1d000   5.01.2600.5512  C:\WINDOWS\system32\IMM32.DLL
  0x746e0000  0x4c000   5.01.2600.5512  C:\WINDOWS\system32\MSCTF.dll
  0x7e690000  0xb0000   5.01.2600.5512  C:\WINDOWS\system32\SXS.DLL
  0x75310000  0x2e000   5.01.2600.5512  C:\WINDOWS\system32\msctfime.ime


Как вариант: http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en
« Последнее редактирование: 10 Мар 2010 [23:25:53] от lazyBSD »
/ссылка запрещена правилами форума/