...

суббота, 2 ноября 2013 г.

QML Creator: разработка на QML под Android

Представляю вниманию сообщества свой маленький проект QML Creator. Данная программа для Android была написана за две недели (вечерами после работы) и представляет собой Qt Quick 2.1 приложение, основанное на ApplicationWindow, с небольшими вкраплениями C++, которое позволяет разрабатывать компоненты QML прямо на мобильном телефоне или планшете (инновация, не имеет аналогов в мире, мной уже заинтересовались ведущие американские компании, скачать бесплатно без смс нескучные обои, а главное — я не беру за неё ни копейки).



На самом деле, эта штука не предназначена для серьёзной разработки. Это фановый проект и предназначен скорее для таких же почитателей Qt, как я сам. Часто бывает так, что хочется показать преимущества QML перед виджетами (да-да, я серьёзно) какому-нибудь знакомому, которых ещё не успел познать прелестей декларативного программирования, а компьютера под рукой нет. Или если вдруг вам нечем заняться в автобусе по дороге домой. Теперь делать это (ну, писать на QML) можно в любом месте!

Я давно вынашивал идею написать нечто такое, тем более, что это не должно было занять много времени (минимальная реализация представляет собой всего лишь вызов Qt.createQmlObject). Вы наверное уже поняли, что никаких .apk оно не собирает. Всего лишь создаёт и исполняет компоненты, которые вы в нём напишете. Но это не умаляет её возможностей! Специально для наиболее скептично настроенных я разработал несколько эффектных демок, которые можно открыть из раздела Examples. Анимации, работа с сетью, Controls, Canvas, шейдеры — всё это без доступно без ограничений!

Для хранения «проектов» (каждый проект — это один компонент) я приспособил LocalStorage. Написанные проекты можно импортировать на pastebin и использовать в дальнейшем уже на десктопе.






Ещё несколько скриншотов



Первый релиз содержит в себе 5 примеров и все возможности Qt Quick 2.1. В ближайшее время я собираюсь доделать подсветку кода (сейчас она, вообще говоря, никакая) и встроить скины для редактора. Конечно, появятся ещё и новые примеры. И обновление на Qt 5.2 :)

Насчёт вкраплений C++ — это подсветка синтаксиса (QSyntaxHighlighter) и обработка ошибок (ErrorHandler в виде модуля, который перенаправляет сигналы &QQmlApplicationEngine::warnings в QML).


Тестировалось приложение исключительно на Nexus 4 (CyanogenMod 10.1.3), других устройств с Android под рукой нет. По идее, оно должно работать на любой версии, начиная с 2.3.3 (API v10), но я, почему-то, не уверен. Хотя попробуйте, вдруг это на самом деле так (а то вдруг окажется, что кроме нексусов оно ни на чём не работает — кто знает :)


play.google.com/store/apps/details?id=com.wearyinside.qmlcreator


Жду отзывов, надеюсь, вам понравится.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю № 81 (27 октября — 2 ноября 2013)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.




Метки лучше разделять запятой. Например: общение, социальные сети, myspace.com, подростки, мердок


или закрыть

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Сборка Android приложений на Travis CI

В данной статье я хотел бы показать, как можно бесплатно собирать Android проекты (Maven) с открытым исходным кодом на Travis CI.



Что у нас есть?





  • Android проект на github с открытым исходным кодом

  • Проект должен собираться Maven

  • Аккаунт на Travis CI




Что мы хотим получить?




Бесплатную сборку проекта по коммиту с отчётом о выполнении на почту. При этом мы хотим запускать интеграционные тесты на эмуляторе и использовать дополнительные компоненты SDK (addons, extras и т.д.)

Как нам этого добиться?




В качестве основы берём готовые скрипты на github: https://github.com/serso/android-common.

Основной скрипт, который использует Travis CI для сборки — .travis.yml:

language: java
jdk: oraclejdk7

before_install:
- chmod +x $PWD/.travis_install_android.sh
- $PWD/.travis_install_android.sh

- export ANDROID_HOME=$PWD/android-sdk-linux
- export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools

- chmod +x $PWD/.travis_install_android_dependencies.sh
- $PWD/.travis_install_android_dependencies.sh

- chmod +x $PWD/.travis_start_emulator.sh
- $PWD/.travis_start_emulator.sh

before_script:
- chmod +x $PWD/.travis_wait_for_emulator.sh
- $PWD/.travis_wait_for_emulator.sh

script: mvn install -Pwith-tests




В нём указывается базовый язык проекта — Java, далее версия jdk — я использую JDK 7 от Oracle.

Перед началом сборки нам необходимо установить Android SDK, а также его компоненты (API, extras, addons, etc.). За это отвечают bash скрипты .travis_install_android.sh и .travis_install_android_sdk.sh. Далее нам нужно загрузить некоторые артефакты Android в локальный репозиторий Maven — скрипт .travis_install_android_dependencies.sh, запустить эмулятор — .travis_start_emulator.sh и дождаться его запуска .travis_wait_for_emulator.sh.
Установка Android


#!/bin/bash

# Script installs Android SDK

sudo apt-get update -qq
if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq libstdc++6:i386 lib32z1; fi
wget -O android-sdk.tgz http://dl.google.com/android/android-sdk_r22.0.4-linux.tgz
tar xzf android-sdk.tgz

export ANDROID_HOME=$PWD/android-sdk-linux
export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools

sudo apt-get install expect
chmod +x $PWD/.travis_install_android_sdk.sh
$PWD/.travis_install_android_sdk.sh




Описание: обновляем список приложений, в случае 64 битной архитектуры — устанавливаем дополнительные пакеты (см. обсуждение здесь). Далее выкачиваем, разархивируем Android SDK и устанавливаем переменные окружения (т.к. переменные окружения в bash скрипте будут сброшены после его выполнения, нам придётся выставить их ещё раз в .travis.yml).
Установка компонентов Android SDK


#!/usr/bin/expect -f

# Script installs Android SDK components

spawn android update sdk --filter tools,platform-tools,build-tools-19.0.0,extra-android-support,android-17,sysimg-17,addon-google_apis-google-17,android-19,sysimg-19,addon-google_apis-google-19,addon-google_apis-google-19,extra-google-play_billing,extra-google-m2repository,extra-google-analytics_sdk_v2,extra-google-gcm,extra-google-google_play_services,extra-google-play_apk_expansion,extra-android-m2repository --no-ui --force --all
expect "Do you accept the license *:"
send -- "y\r"
expect "Do you accept the license *:"
send -- "y\r"
expect "Do you accept the license *:"
send -- "y\r"
expect "Do you accept the license *:"
send -- "y\r"
expect "Do you accept the license *:"
send -- "y\r"
expect "Do you accept the license *:"
send -- "y\r"
expect "Do you accept the license *:"
send -- "y\r"
interact

# WORKAROUND: for some reason we need to download following extras separately (otherwise we will get PkgVersion=2 instead of PkgVersion=2.0.0)
spawn android update sdk --filter extra-google-admob_ads_sdk,extra-google-play_licensing --no-ui --force --all
expect "Do you accept the license *:"
send -- "y\r"
interact





Описание: пытаемся установить нужные нам компоненты SDK. Здесь маленькая хитрость — android update sdk будет предлагать нам согласиться с лицензиями на некоторые компоненты, и т.к. возможности отвечать у нас не будет (скрипт выполняется удалённо), придётся отвечать автоматически с помощью команды spawn (которая была предусмотрительно установлена перед вызовом данного скрипта).

По какой-то, неведомой мне причине, android по разному выкачивает компоненты admob и play_licensing. Если их добавить в первый update, то вместо PkgVersion=2.0.0 будет PkgVersion=2, что нас не очень устраивает (т.к. эта переменная отвечает за версию артефакта в Maven repository).
Установка артефактов в репозиторий Maven


#!/bin/bash

# Scripts installs Android SDK artifacts in local Maven repository

git clone git://github.com/serso/maven-android-sdk-deployer.git
cd ./maven-android-sdk-deployer/
git checkout tags/api-19
mvn install -P4.2
cd ..




Описание: выкачиваем форк Maven Android SK Deployer по тегу api-19 и запускаем его сборку для версии Андроид 4.2 (на 4.4 я ещё не проверял). Почему мы выкачиваем форк вместо оригинала? В оригинале отсутствует тег, и поэтому любые изменения, внесённые в код проекта могут сломать нам сборку.
Запуск эмулятора


#!/bin/bash

# Scripts starts Android emulator with name 'Default'

echo no | android create avd --force -n Default -t android-17 --abi armeabi-v7a
emulator -avd Default -no-skin -no-audio -no-window &




Описание: создаём виртуальное устройство с именем Default и запускаем его в отдельном процессе.

Далее Travis запускает тестовый install проекта, по завершению которого вызывается фаза before_script, в которой мы дожидаемся запуска эмулятора.


Сборка



Финальный аккорд — запуск сборки. В моём случае это просто вызов mvn install с профилем with-tests, который запустит интеграционные тесты.

script: mvn install -Pwith-tests


Заключение




После того как проект успешно настроен, каждый коммит должен приводить к запуску сборки с последующим оповещением на почту. В качестве примера можно посмотреть проект Android Common Library с рабочими сборками в Travis CI.

Если у вас есть вопросы или предложения — добро пожаловать в комментарии. Спасибо за внимание.

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Нескучные интегралы

Некоторые из вас, вероятно, видали на просторах сети эту задачку: какое число продолжает следующий ряд?



Предлагался такой очевидный правильный ответ:



Для тех, кому неочевидно, как он получен, предлагалось объяснение. Пусть (ну и 1 при x = 0, хотя неважно). Тогда каждый член ряда — это значение следующего интеграла в цепочке:



Пока всё идёт хорошо, но тут внезапно:



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

Начинает сказка сказываться




Для начала отдельно посмотрим на первый интеграл:



Некоторое время назад я подумал: «Эй, я ещё не совсем забыл матан! Дайте-ка я возьму этот интеграл как неопределённый, а потом подставлю пределы. Наверняка пару раз по частям, и дело в шляпе. Вот сейчас на бумажке всё решу без посторонней помощи». Хочу предостеречь вас: не повторяйте моей ошибки. Вас ждёт бессонная ночь, а потом вы заглянете в справочник и узнаете, что неопределённый интеграл не берётся в элементарных функциях. Для него даже специальную функцию ввели.

Однако с данными конкретными пределами взять интеграл можно разными способами. Мы пойдём путём, который требует минимум базовых знаний (самое суровое — то же интегрирование по частям). Для начала сделаем внезапную замену:



Вы спросите: откуда вообще это взялось и зачем нам ещё один интеграл, мало что ли? Спокойно, так надо (знакомые со свойствами преобразования Лапласа весело ухмыляются). Подставим замену в исходную формулу и поменяем порядок интегрирования:



Внутри получился почти классический интеграл по dx, которым всех пугали у нас в физматшколе. Его можно взять и как неопределённый, дважды использовав формулу интегрирования по частям. Тогда справа получится какая-то муть и ещё раз тот же самый интеграл, домноженный на что-то, и в результате можно будет решить уравнение относительно этого интеграла и получить ответ, а потом подставить пределы. Кому интересно, проделайте это сами, а я лениво запишу готовый результат:



Ну а теперь совсем всё просто: это табличный интеграл из средней школы, который равен арктангенсу. В бесконечности пи-пополам, в нуле — ноль, вот мы и получили ответ.

Интеграл, кстати, настолько хорош, что у него есть своё имя — интеграл Дирихле. По ссылке вы можете найти другие способы взять его.


Скоро сказка сказывается, а не скоро дело делается




Для следующего путешествия нам понадобятся четыре вещи: прямоугольная функция, косинусное преобразование Фурье, свёртка и теорема Парсеваля. Сперва скажу пару слов об этих замечательных штуках.

Прямоугольная функция — это у нас будет такая ступенька вокруг нуля:



Значение 1/2 в точках разрыва нужно в основном для соблюдения свойств преобразования Фурье, в целом для нашей задачи оно непринципиально.


Косинусное преобразование Фурье. Для простоты мы немного отступим от математической точности и сформулируем грубовато. Для достаточно хорошей чётной функции f(x) выполняются такие соотношения:



Функция и называется косинусным преобразованием Фурье (FCT) от f(x) (её ещё называют образом f). То есть, косинусное преобразование от косинусного преобразования даёт снова исходную функцию f(x)!


Людям, знакомым с обработкой сигналов, хорошо известно, что FCT от прямоугольной функции — это . Это легко доказать, пользуясь вышеприведёнными формулами и школьными знаниями. Так как прямоугольная функция за пределами промежутка [-a, a] равна нулю, то можно просто интегрировать cos(xt) dt по этому промежутку, тут простая замена переменной и табличный интеграл. Приведённое выше свойство говорит, что FCT от — это прямоугольная функция.


Свёртка — это ещё одна прекрасная штука, без которой не обходится обработка сигналов. Для двух функций f1(x) и f2(x) можно определить функцию-свёртку (обозначается звёздочкой) вот так:


У свёртки есть прекрасное свойство, за которое её любят: преобразование Фурье превращает её в умножение, а умножение — в свёртку. Если точнее, косинусное преобразование произведения двух хороших чётных функций есть свёртка их образов, делённая на корень из двух пи: .


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


Доселева Макар огороды копал, а нынече Макар в воеводы попал




Возьмём второй интеграл из нашей чудесной последовательности. Как многие уже догадались, мы воспользуемся теоремой Парсеваля и заменим множители на их FCT-образы:



Первая прямоугольная функция под интегралом равна единице для аргументов меньше единицы и нулю для аргументов больше единицы. Поэтому ничто нам не мешает убрать её из интеграла, откорректировав пределы интегрирования:



Под интегралом осталась ступенька высотой 3 и шириной 1/3. Такой интеграл возьмёт даже третьеклассник: надо всего лишь умножить 3 и 1/3. От интеграла остаётся единица, и мы имеем искомое пи-пополам! Таким образом мы почти честно взяли второй интеграл из ряда. Кто желает сделать это совсем честно, тому придётся разобраться, что же такое хорошесть функции, и доказать, что наши функции хорошие.

Чтобы дальше было проще, обозначим эту ступеньку под интегралом как F1(x) и нарисуем её график:




Пойдём веселиться дальше и посмотрим на интеграл с тремя множителями. Чтобы применить теорему Парсеваля, мы теперь все множители со второго будем считать одним множителем: . С образом первого множителя всё уже понятно, а образ второго множителя, выражается через свёртку:



На первый взгляд жутковато. Но можно кое-чего повыносить, кое-чего посокращать и подставить нашу F1(x). Тогда получим:



Внутренний интеграл — это просто прямоугольный фильтр, эдакий «блюр» для функции F1(x): мы просто для каждой точки усредняем все значения в окрестности плюс-минус одна пятая. Можно опять же избавиться от прямоугольной функции, подшаманив пределы интегрирования. И со внешним интегралом сделаем такую же процедуру. Вот что получится в итоге:





Слева график функции F2(x), которая на самом деле — сглаженная F1(x). Нетрудно доказать, что после сглаживания функции по нормированному ядру её интеграл не меняется. Ну, вообще-то речь об интеграле от -∞ до +∞, но для чётной функции это верно и для интеграла от нуля. В данном случае ядром была ступенька от -1/5 до +1/5, умноженная на 5/2. Площадь под ступенькой единица, значит, ядро нормировано. Тут тоже можно сравнить с блюром в фотошопе: после применения блюра картинка в целом не становится светлее или темнее. А раз так, то интеграл F2(x) в точности равен интегралу F1(x), то есть единице, поэтому и третий интеграл равен пи-пополам!


Дальше процедура во многом похожая. Четвёртый интеграл сгруппируем так: . Сначала теорему Парсеваля, для скобок свёртку, причём мы уже умеем выразить образ внутренней скобки через F2(x). Дальше всё то же самое, что в прошлый раз, и в результате получим:




Теперь мы уже имеем F3(x), которая на самом деле — сглаженная F2(x) с ядром шириной 2/7. Ядро нормировано, значит, интеграл F3(x) равен интегралу F2(x), то есть единице, и мы снова имеем пи-пополам!


Отлично, мы теперь щёлкаем эти интегралы как орехи. Но по идее, если так и дальше пойдёт, они все до бесконечности будут равны пи-пополам? Давайте смотреть дальше. Пятый интеграл:


Вроде всё то же самое. Ладно, шестой интеграл:


И здесь никаких проблем. Хорошо, берём седьмой:


Ничего нового! Ладно, а восьмой?


Стоп-стоп-стоп! Здесь нам не обойтись без команды CSI!


Функция протекла через единицу! Интеграл F7(x) всё ещё равен единице, но это если интегрировать от 0 до ∞. А мы-то интегрируем до единицы! До сих пор все функции были нулевыми при x больше единицы, но рано или поздно это должно было кончиться.


А как понять, когда наступает конец? Это очень просто. F1(x) была ненулевой при x<1/3. F2(x) сглаживала её по ±1/5, значит, была ненулевой при x<1/3+1/5. Аналогичным образом можно найти границу ненулевых значений для всех этих функций, и для F7(x) эта граница впервые превышает единицу:


Несложно даже посчитать, сколько конкретно утекло, и тем самым вычислить точное значение восьмого интеграла. Заметим, что слева от границы F1(x) — это константа 3. F2(x) — минус интеграл этой константы с коэффициентом 5/2, то есть прямая с коэффициентом 3×5/2. F3(x) в достаточной близости к границе 1/3+1/5+1/7 — это интеграл той прямой с коэффициентом 7/2, то есть что-то вроде . Продолжая аналогичные рассуждения, получим формулу для F7(x) в окрестности границы:



Собственно, обычная парабола шестой степени, сдвинутая и домноженная. Если проинтегрировать её от единицы и до границы 1/3+1/5+1/7+1/9+1/11+1/13+1/15, то мы узнаем, сколько функции утекло за пределы единицы. Можно решить эту задачу целиком в обыкновенных дробях. Получится вот сколько:


Если эту цифру вычесть из единицы и домножить на пи-пополам, мы получим окончательное значение восьмого интеграла:


Такие интегралы называются борвейновскими интегралами в честь Давида и Джонатана Борвейнов, которые их описали. Если вы хотите строгие математические доказательства (без всяких «хороших функций») и другие свойства этих замечательных интегралов, почитайте статью авторов.


Заключение: троллинг восьмидесятого уровня




Открыв эти интегралы, Джонатан Борвейн ввёл их в программный пакет Maple и, убедившись, что Maple корректно берёт все восемь интегралов, сообщил разработчикам о «баге»: мол, восьмой интеграл тоже должен быть пи-пополам, а у вас получается чёрт-те-что. Три дня и три ночи убил Жак Каретт, один из разработчиков Maple, в поисках ошибки, пока не понял, что над ним жестоко пошутили. А ещё говорят, что математики — скучные люди!

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Астрофотография в каждый дом

Думаю у любого человека, интересующегося космосом — возникала идея купить телескоп, чтобы лично все посмотреть.

Однако суровая реальность вечно портит всю малину: в пределах города – все небо засвечено уличным освещением и турбулентность воздуха высокая. Это означает, что либо придется ограничится самыми крупными и яркими объектами (вроде Луны и Юпитера), либо возить телескоп далеко за город.


Возможное решение проблемы — удаленно-управляемые телескопы большого размера и расположенные в горах. Конечно, возможность видеть все своими глазами это не заменит — но астрофотографии полученные таким образом будет трудно превзойти. Именно на этом способе я и хочу остановиться в этой статье.


Как пример того, что может получится — галактика Андромеда, M31 на телескопе Т20:


Когда у меня возникло желание купить телескоп — я решил вспомнить золотое правило: перед покупкой дорогой игрушки – всегда полезно её арендовать, быть может интерес удастся удовлетворить ценой намного меньшего гемора и затрат. Я поискал платные сервисы удаленного доступа к телескопам – и нашел iTelescope.net. Есть и бесплатные – но там очень большие очереди, а нам ведь подавай все здесь и сейчас :–)


У iTelescope – 19 телескопов с удаленным доступом, установленные на площадках в Австралии, Испании и США. Все они расположены вдали от городов, в горах. Самый маленький телескоп, куда пускают вообще бесплатно (T3) – диаметром 150мм, с учетом его расположения уже превосходит все, что можно увидеть в городских условиях. Более крутые телескопы – имеют диаметр зеркала до 70 сантиметров с огромными охлаждаемыми цифровыми матрицами и кучей светофильтров (ИК, RGB, узкополосные для исследований).


Цена вопроса – с бесплатным аккаунтом нам дают 40 «очков» и доступ к самому простому телескопу, и за 5$ (я платил картой mastercard yandex.денег) — еще +30 очков и доступ к «большим» телескопам. Время работы на самом большом доступном телескопе стоит 99 очков в час – считается только время экспонирования. Т.е. если вы снимаете галактику, и делаете 3 снимка по 10 минут (R+G+B) – то с вас спишут 50 очков. Снимки планет и других ярких объектов с короткой выдержкой – обойдутся в результате в 1 очко на любом телескопе (меньше 1 потратить нельзя). Таким образом за эти 5$ можно сделать пару хороших снимков галактик/туманностей из глубокого космоса и/или кучку фотографий планет. Покупка дополнительных очков обойдется гораздо дороже – порядка 1$ за 1 очко. Но начальных 70 для удовлетворения интереса вполне может хватить.


На большинстве телескопов стоит огромная (по площади) охлаждаемая черно-белая матрица, и колесо со светофильтрами. Это позволяет использовать необычные фильтры (например узкополосные) или снимать черно-белое изображение чтобы собрать больше света. Потому цветные снимки приходится делать в несколько экспозиций. Можно делать 1 экспозицию яркости по-больше (Luminosity), и 3 по-меньше для цвета (RGB/RVB).

Нужно также обратить внимание на тип матрицы (указано в описании телескопа) — есть ABG (Anti-blooming gate) и NABG (not ABG). На NABG матрицах при длинных экспозициях яркие звезды будут увеличиваться в площади (в вертикальные линии), но они могут быть более полезными в научных целях (т.к. они более линейные). Также NABG матрицы имеют несколько бОльшую чувствительность. На мой взгляд, если мы преследует эстетические целы и нужно максимальное качество картинки — лучше использовать телескопы с ABG матрицей.


Телескопы весьма неторопливы — на поворот и фокусировку может уйди до 5 минут на 1 снимок, так что снять МКС может быть затруднительно :-)


После логина на сайте вы попадете в панель управления:


Там видно свободные и занятые телескопы. Кликнув на надпись «available» рядом с нужным телескопом – можно залогиниться в конкретный телескоп. Далее жмем на Run Image Series, в Target Name пишем название объекта который будем фотографировать (например Jupiter, m33, m31 и т.д.) и жмем Get Coordinates. Если объект в базе найдется – сразу будут координаты. В базе нет луны – чтобы её сфотографировать, понадобится знать её точные координаты на момент съемки. Узнать их можно в Stellarium (там нужные координаты в левом верхнем углу “RA/DE"). При желании можно посмотреть и текущий скриншот управляющего компьютера.



Затем идет список снимков, которые нужно сделать и их настройки:


Фильтры:



































R,G,BЦветные
VТо же, что и G
IИнфракрасный
LuminosityЯркость (отрезан ИК и УФ)
ClearПрозрачный (возможно снижение четкости из-за усиления хроматических аберраций)
HaH-alpha. Узкополсный фильтр линии возбужденного водорода. Используется чтобы более контрастно видеть детали в галактиках и туманностях.
OiiiЛиния дважды ионизированного кислорода. Позволяет увидеть детали в диффузных и планетарных туманностях.
SiiЛиния ионизированной серы. Позволяет увидеть детали в туманностях.

Если достаточно черно–белого снимка – лучше снимать Luminosity или Clear – тогда будет использован максимум света. В противном случае – делать 3-4 снимка RGB или LRGB. Duration – время съемки в секундах. Для объектов глубокого космоса (галактик, туманностей и проч) – чем больше, тем лучше. Оптимальные результаты – 300–600 секунд.

Применение узкополосных фильтров требуют увеличения экспозиции в 10-15 раз.


Планеты – требуют очень коротких выдержек, в 0.1–0.01 секунды + можно использовать узкополосные фильтры (Ha, Sii, Oiii). С экономической точки зрения использовать маленькие телескопы (150–200мм) с большими выдержками невыгодно – проще протиснуться на большой телескоп (500мм) и за меньшее время сделать более яркую фотографию. Последнее – все эти телескопы в целом заточены под сбор максимального количества света, а не высокую угловую разрешающую способность. Нужно при сравнении телескопов обращать внимание на параметр «Resolution» — сколько угловых секунд в каждом пикселе, какой угловой размер кадра (FOV) – помещается ли туда то, что мы хотим сфотографировать, или наоборот, не слишком ли маленький получится объект.


При выборе объекта для съемки – смотрите на звездную величину. Если это галактика 15–й звездной величины – то даже самому крутому наземному телескопу придется тяжко. Я бы рекомендовал начать со каталога Мессье, выбирая там объекты 7–й звездной величины и ярче.


Если нужный телескоп на данный момент занят – там же в интерфейсе можно создать план съемки, и запланировать съемку в автоматическом режиме (не позднее, чем за 4 часа до назначенного времени).


Результаты съемки – складываются на FTP (data.itelescope.net). Далее – их нужно будет конвертировать из формата FIT в TIFF с помощью программы FITS Liberator:


Затем — можно сразу в фотошоп, или склеить отдельные RGB кадры в единую цветную картинку (для этого нужен CCDStack или DeepSkyStacker). Ссылки на эти и другие полезные программы тут. Изображения — имеют 16-и битную глубину яркости.


Совместить несколько снимков в CCDStack можно так: Открываем все картинки, Stack–>Register, двигаем настройки пока все кадры не совпадут. Потом Color–>Create, указываем в какая картинка является каким цветом — и готово :–)


Надеюсь этот затянувшийся пост либо позволит вам удовлетворить ваш космо–интерес малой кровью, или понять, что вам действительно нужен свой телескоп :–)

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


Галактика Треугольника, М33. 4 снимка LRGB, 5+3+3+3 минут на T7.


Луна (0.1 сек с фильтром Ha на Т16 – 150мм):


Юпитер Телескоп Т7 – 430мм. Видны также спутники Юпитера и даже тень от Ио на планете.


PS. На сайте стараются следить за тем, чтобы 1 человек не создавал несколько бесплатных/5$ аккаунтов. Мы тут конечно все умные, но давайте не будем злоупотреблять гостеприимством.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: