SunCalc — солнечный калькулятор
Хочу поделиться с вами небольшим, но полезным проектиком, разработанным мной на досуге — солнечным калькулятором SunCalc.
SunCalc показывает на карте для выбранного места и даты траекторию движения солнца и фазы освещённости в течении суток (и еще пару приятных мелочей).
Идея его появилась после того, как мне понадобилось найти в Крыму хорошее место для съёмки кадра солнца, уходящего в море на закате (для клипа, снимали в итоге вот здесь) — оказалось, что все существующие средства для этого сильно устарели. Захотелось создать своё, сделав его самым лучшим, каким только можно себе представить, нашёл хорошую страницу с кучей астрономических формул, взялся за разработку по свободным вечерам и вот результат.
Возможности
- рисует на карте красивый векторный график с положением солнца на рассвете, закате и в выбранное время (жёлтая, оранжевая и красная линия), проекцией траектории солнца (оранжевая дуга) и ее разбросом в течении года (жёлтая область вокруг нее); чем ближе точка на графике к центру круга, тем выше в этот момент солнце над горизонтом
- по наведении мышкой на линию заката/рассвета показывает соответствующий разброс положений
- показывает освещённость (темнота, сумерки, дневной свет) цветом на слайдере времени
- можно посмотреть время не только рассвета и заката, но и 3-х типов сумерек (гражданские, навигационные, астрономические) и полной темноты
- показывает ссылку на недельный прогноз погоды (облачность, осадки, туман) в выбранном месте
- умеет определять местоположение (кликните по соответствующему полю -> Detect my location)
- местоположение также можно выбирать поиском, автоопределением, кликом по карте или перетаскиванием маркера
- работают пермалинки на конкретное место/время и back/forward в браузере
Для чего эго можно использовать
Во-первых, в чисто бытовых ситуациях. До скольки мне нужно выехать из леса, пока еще хоть что-то видно, если я до сих пор не купил на велик фару? До скольки я смогу вечером загорать перед тем, как пляж накроет тень от скалы справа? В какое время уже не будет слепить прямо в глаза солнце, когда выйду поиграть в футбол на площадку под домом? Какая у квартиры, которую я собираюсь снять, освещённость в течении года? Уже самому не раз пригодилось в подобного рода вопросах.
Во-вторых, любителям фотографии! Включая меня. Часто бывает важно знать, например, когда и сколько длятся сумерки (для ночных пейзажей), в какую сторону садится или откуда восходит солнце (чтобы выбрать удачный ракурс), какое время выбрать для фотосессии какого-то объекта так, чтобы не пришлось фотографировать против солнца или он не попал полностью в тень соседнего здания, и т.д.
В-третьих, для общего образования и удовлетворения природной любознательности. Почему в Австралии зимой жарче, чем летом? Что на самом деле такое белые ночи и в каких городах и когда они наблюдаются? Что насчёт полярного дня и ночи? Как меняется траектория солнца от севера к югу? Сколько минут идёт рассвет от Москвы до Киева? И т.д.
Немного деталей реализации
- весь код приложения выполняется на стороне браузера
- для карты и поиска используется Google Maps API v3
- для векторной графики на карте — библиотека Raphaёl
- для определения местоположения — W3C Geolocation API, Google Gears или Google IP Geolocation
- используется jQuery и несколько компонентов jQuery UI (Slider для времени, Datepicker для даты и Dialog для окошка приветствия)
- для deep linking и ajax history используется плагин jQuery Address
- между сессиями состояние сохраняется в печеньках
- для прогноза погоды на удивление самым подходящим оказался Wolfram Alpha
- для идей по улучшению заведена страничка на сервисе UserIdea/Reformal (который уже освещался его авторами на Хабре)
Что планируется в будущем
- сделать мобильную версию для браузеров iPhone и Android
- добавить опцию отображения времени в локальном часовом поясе
- добавить слайдер для дней года, аналогичный слайдеру времени
- подчистить и выложить на гитхабе вычислительную часть кода
- написать для Хабра хорошую статью о нюансах разработки подобного приложения
Надеюсь, полезное применение этого маленького сервиса найдёте и вы. Буду очень рад впечатлениям и замечаниям в комментариях. Оставлять идеи или голосовать за уже высказанные также можно тут. Спасибо!
update: извините за проблемы с хостингом, проект временно переехал на другой сервер — теперь вроде всё хорошо.
Источник
Почему летом жарко, а зимой холодно?
Тогда почему наступают зима, весна, лето, осень?
Дело в том, что ось вращения Земли наклонена к плоскости экватора, угол наклона составляет 23,5 градуса. Из-за того, что направление оси вращения всё время остаётся постоянным, Земля движется вокруг Солнца как бы «бочком», по-разному подставляя солнечным лучам свою поверхность на разных участках орбиты, то есть в разное время года. Поэтому мы видим, что летом в Северном полушарии Солнце поднимается над горизонтом гораздо выше, чем зимой. А от угла падения солнечных лучей зависит, насколько сильно они отражаются от земной поверхности и насколько сильно поглощаются. Чем больше солнечных лучей поглощает поверхность, тем сильнее она нагревается. Если угол падения невелик (зимой), то солнечные лучи гораздо сильнее отражаются, а поглощаются гораздо хуже. И значит, зимой холодно. В высоких арктических широтах Солнце поднимается над горизонтом всего на несколько градусов, его лучи скользят вдоль земной поверхности, почти не поглощаясь и не нагревая её. Затем Солнце и вовсе скрывается под горизонтом на долгих полгода — наступает арктическая ночь.
После 21—22 декабря начинается астрономическая зима, и продолжается она до тех пор, пока день опять не сравняется по продолжительности с ночью. 20 марта наступает день весеннего равноденствия, астрономическая зима заканчивается, и начинается весна. Солнце вновь пересекает плоскость земной орбиты и оказывается в Северной полусфере. С каждым днём оно будет подниматься всё выше, дни станут длиннее и теплее.
Заканчивается астрономическая весна в день летнего солнцестояния — 20—21 июня. Этот день самый длинный, а ночь самая короткая в году. После него начинается астрономическое лето, которое продолжается до 22—23 сентября, дня осеннего равноденствия.
Разумеется, в Южном полушарии всё наоборот: в сентябре там наступает астрономическое лето, а в марте — астрономическая зима. И лишь в дни равноденствий продолжительность дня и ночи одинакова на всей планете.
Если бы экватор Земли точно совпадал с плоскостью орбиты, то есть наклона оси не было бы, Солнце во всех широтах (и в Северном полушарии, и в Южном) поднималось бы всегда на одинаковую высоту. На экваторе оно каждый день в полдень находилось бы точно в зените — там царило бы вечное лето, а на полюсах постоянно двигалось вдоль линии горизонта, не опускаясь и не поднимаясь, — там была бы вечная зима и вечные сумерки. В средних широтах тоже никакой смены времён года не происходило бы.
Кстати, тот факт, что орбита Земли не совсем круговая и разница в расстоянии до Солнца в афелии и перигелии составляет около 3%, всё-таки оказывает своё влияние: зимы в Южном полушарии чуть-чуть холоднее, чем в Северном, а летние месяцы чуть-чуть жарче.
А происходит ли смена времён года на других планетах Солнечной системы?
Самая близкая к Солнцу планета Меркурий — единственная в Солнечной системе, у которой плоскость экватора в точности совпадает с плоскостью эклиптики. Орбита Меркурия довольно вытянутая (эксцентриситет составляет 0,21). Именно поэтому смена времён года определяется расстоянием планеты до Солнца. «Летом» — в перигелии — температура на освещённой Солнцем поверхности Меркурия может достигать 400 градусов Цельсия, а «зимой» — в афелии — опускаться до 100 градусов.
Венера вращается вокруг оси так медленно, что сутки оказываются длиннее года: год продолжается 224,7 дня, а сутки примерно 243 дня, и вращение происходит против орбитального движения планеты. Ось вращения Венеры почти перпендикулярна плоскости эклиптики, поэтому смены времён года на ней практически нет. Да и какие уж там времена года, если средняя температура на поверхности больше 400 градусов Цельсия, а давление 90 атмосфер.
Орбита Марса близка к круговой, но всё же её вытянутость больше, чем у орбиты Земли (эксцентриситет равен 0,093). Расстояние от Марса до Солнца в перигелии 206,6 млн км, а в афелии 249,2 млн км. Разница примерно в 40 млн км. Но, как и на Земле, зима и лето на Марсе сменяются в основном из-за наклона оси вращения. Плоскость экватора Марса наклонена к плоскости его орбиты под углом 25,2 градуса (у Земли, напомним, 23,5). Потому и смена времён года происходит примерно так же, как на Земле, если, конечно, учесть, что год на Марсе продолжается 1,88 земного года. В экваториальной и средней полосе смена времён года проявляется в смене температур, а в приполярных областях зимой появляются белые полярные шапки. Но это не лёд, а по большей части замёрзшая от зимних холодов углекислота. Ведь атмосфера Марса в основном из углекислого газа и состоит.
Нужно отметить, что на Марсе гораздо больше, чем на Земле, сказывается разница в расстоянии до Солнца в перигелии и афелии. 40 млн км — это всё же не 3%, а в шесть раз больше. Поэтому в разных полушариях Марса зима и лето довольно сильно отличаются. В южном полушарии лето короче и теплее, чем в северном, потому что именно в это время планета проходит через перигелий. А зима в южном полушарии — длиннее и холоднее (из-за того, что Марс находится в афелии).
Эксцентриситет орбиты Юпитера тоже невелик, вдвое меньше, чем у Марса. Наклон экватора Юпитера к плоскости его орбиты составляет всего 3,1 градуса — это очень мало, и даже будь Юпитер обычной планетой с твёрдой поверхностью, говорить о смене времён года не имело бы смысла: на полюсах царила бы вечная зима, а на экваторе вечное лето с промежуточными значениями температуры на других широтах. Южное полушарие в этом смысле не отличалось бы от северного. Но Юпитер — газовый гигант, у него нет твёрдой поверхности, и «погода» на разных его широтах практически не зависит ни от расстояния до Солнца, ни от наклона оси вращения. «Погоду» на Юпитере определяют мощные турбулентные движения в водородно-гелиевой атмосфере и быстрое вращение (сутки на Юпитере продолжаются всего 10 часов).
Эта планета во многом похожа на Юпитер. Орбита Сатурна примерно так же вытянута, сутки примерно такие же (всего на полчаса больше, чем на Юпитере). Но наклон оси вращения по отношению к плоскости орбитального движения близок к земному — отличается всего на 3 градуса. Казалось бы, что и смена времён года на Сатурне должна быть похожа на земную (конечно, с учётом, что год на Сатурне в 29 раз длиннее земного), и она должна происходить не раз в три месяца, а раз в семь с четвертью земных лет. Но Сатурн, как и Юпитер, — газовый гигант. Да, Солнце дважды в течение сатурнианского года пересекает плоскость орбиты, и тогда, как и на Земле, случаются равноденствия и, как и на Земле, бывают самые длинные «дни» и самые длинные «ночи», вот только на климат и тем более на «погоду» всё это не оказывает практически никакого влияния. На Сатурне, как и на Юпитере, главное воздействие на атмосферные явления оказывают мощные атмосферные бури и вихри, и о смене времён года можно говорить только в астрономическом, но никак не в климатическом смысле.
Уран вращается вокруг Солнца «лёжа на боку» — ось вращения планеты отклоняется от плоскости эклиптики на 8 градусов. У планет Солнечной системы много странностей, хотя, казалось бы, они должны не очень отличаться друг от друга, поскольку произошли из одного протопланетного облака, которое, сгущаясь, вращалось вокруг Солнца в том же направлении, что и само светило. В процессе сжатия отдельные «куски» протопланетного облака сталкивались друг с другом, одни разваливались совсем, другие становились больше, у одних вращение вокруг оси ускорялось, у других замедлялось. И массы будущих планет оказались разными. Это понятно и естественно. Но почему, к примеру, плоскость экватора Урана наклонена к плоскости эклиптики под углом 98 градусов? Что произошло в те далёкие времена, когда планеты только формировались? У космогонистов есть ответ на этот вопрос (хотя вариаций в нём множество). Протопланетные сгущения и недавно образовавшиеся планеты часто (по астрономическим понятиям, конечно!) сталкивались, причём под разными углами и с разными скоростями. В результате одного из таких столкновений Земля обзавелась спутником — Луной. В результате другого — будущая планета Уран получила такой удар по касательной, что ось её вращения «опрокинулась», и планета «легла на бок».
Год на Уране в 84 раза длиннее земного. Попробуем представить, как там происходит смена времён года. Если вы находитесь на одном из его полюсов, то в разгар лета ось планеты направлена почти точно на Солнце, находящееся в зените. Но проходит несколько земных лет. Солнце по спирали, делая один оборот за урановые сутки (17,2 часа), постепенно опускается к горизонту и, наконец, в день, который жители Урана, если бы они существовали, назвали бы началом календарной зимы, заходит и появляется вновь только через половину уранового года. А в это время на противоположном полюсе планеты Солнце появляется из-под горизонта и по спирали поднимается к зениту, куда доберётся к середине лета.
Если бы вы оказались на экваторе Урана, то смена времён года происходила бы так. Солнце всходило бы и заходило каждый день, будто на Земле. Но в разгар урановой зимы оно будто бы катилось вдоль горизонта, на половину суток скрываясь неглубоко, всего градусов на восемь (если учесть рефракцию, достаточно сильную в плотной уранианской атмосфере, то и не скрываясь вовсе), а на вторую половину суток невысоко (градусов на восемь) поднимаясь в небо. В разгар лета Солнце будет подниматься почти к зениту. Однако намного теплее от этого не станет, да нам, впрочем, всё равно, ведь лето и зима на планете Уран интересуют нас только как астрономические явления, возникающие из-за его странного «лежачего» обращения вокруг Солнца.
Самая далёкая из планет Солнечной системы — Нептун — обращается вокруг Солнца за 165 лет. По вытянутости орбиты и наклону оси вращения Нептун мало отличается от других планет, и если бы по массе был похож на Землю, можно было бы говорить, что четыре времени года сменяют здесь друг друга через каждые 41 земной год. С астрономической точки зрения так оно и есть: на Нептуне происходят летние и зимние солнцестояния, дважды в год случаются равноденствия. Но, конечно, физические условия сказываются: Нептун — такой же газовый гигант, как Юпитер, Сатурн и Уран, а потому похож на них природными условиями.
Плутон — совсем другое дело! У него и наклон орбиты отличается от всех других планет (17 градусов), и вращается он в противоположную сторону. Но в число планет Солнечной системы он уже не входит. С 2006 года Плутон носит менее «почётное» звание «карликовой планеты», одного из многих таких объектов пояса Койпера.
Источник