Category: литература

Category was added automatically. Read all entries about "литература".

Ликбез по кватернионам, часть 5: практическая реализация поворота


Поздравим с днём рождения Виктора Чапаева victor_chapaev, который сподвиг меня написать данный "опус".

Часть 1 - история вопроса
Часть 2 - основные операции
Часть 3 - запись вращения через кватернионы
Часть 4 - кватернионы и спиноры; порядок перемножения
Часть 5 - практическая реализация поворота
Часть 5 1/2 - введение метрики, "расстояния" между поворотами
Часть 6 - поворот по кратчайшему пути
Часть 6 1/4 - кратчайший поворот в общем случае
Часть 6 2/4 - поворот, совмещающий два направления
Часть 6 3/4 - кватернион из синуса и косинуса угла
Часть 7 - интегрирование угловых скоростей, углы Эйлера-Крылова
Часть 8 - интегрирование угловых скоростей, матрицы поворота
Часть 8 1/2 - ортонормирование матрицы и уравнения Пуассона
Часть 9 - интегрирование угловых скоростей с помощью кватернионов
Часть 10 - интегрирование угловых скоростей, методы 2-го порядка
Часть 10 1/2 - интегрирование с поддержанием нормы
Часть 11 - интегрирование угловых скоростей, методы высших порядков (в разработке)
Часть 12 - навигационная задача
Часть 13 - Дэвенпорт берёт след!
Часть 14 - линейный метод Мортари-Маркли
Часть 15 - среднее от двух кватернионов
Часть 15 1/2 - проверка и усреднение кватернионов
Часть 16 - разложение кватерниона на повороты

Мы выяснили, что такое кватернионы и почему они должны состоять именно из четырёх компонентов, узнали основные действия с ними, разобрались, как с помощью кватернионов описывается вращение в пространстве.

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

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

Реализация поворота вектора с помощью кватерниона
У нас есть кватернион Λ с единичной нормой:

и некоторый вектор , который мы записываем как кватернион с нулевой скалярной (действительной) частью:

Рассмотрим, как повернуть вектор наиболее эффективным способом.
Collapse )

Пока что кватернионы проигрывают в простоте и эффективности матрицам поворота (хотя и не значительно). Их полюбили в космической технике явно за другое… Продолжение следует.

ScanCombine: поворотный момент!

Уже два года прошло с начала работ над этим несчастным проектом, и только сейчас мне удалось реализовать команду «исправление наклона», так, чтобы она могла быть отменена, и при этом файл «контроля версий» не слишком раздувался.

Напомню: в свободное от работы время я пытаюсь написать свой аналог программам ScanKromsator / ScanTailor, с убийственной фичей - картинки обрабатываются на лету, не дожидаясь финального этапа, но любое действие можно отменить, вплоть до отката к оригиналам, благодаря "файлам контроля версий". Также "в меню" - возможность построить цветовой профиль сканера, внедрять его в изображения, а затем преобразовать их в sRGB (это фактически реализовано уже) и вообще проведение всех операций с учетом цветового профиля. Как мы убедимся совсем скоро - это позволяет повысить их качество.

Collapse )

Продолжение следует...

(и да, я не забыл про ликбез по кватернионам, его тоже хочу завершить в ближайшее время)
ook

Встречайте: "Управление сближением космических аппаратов"!



Главная редакция физико-математической литературы
издательства «Наука», М., 1977, 448 стр.

В книге дается систематическое изложение проблем и методов управления и построения алгоритмов управления сближением космических аппаратов, реализуемых с помощью ЭВМ.

Определена структура алгоритмов управления, соответствующих различным методам наведения, и изложена методика их синтеза. Даны решения (аналитические и численные) уравнений абсолютного и относительного движения космических аппаратов, которые могут быть положены в основу алгоритмов управления. Сформулированы алгоритмы определения управляющих воздействий и в результате исследования методических ошибок установлены области их применения. Рассмотрены вопросы построения импульсных программ управления без учета и с учетом ошибок измерений и исполнения и методы оптимизации этих программ.

Книга рассчитана на специалистов в области космической техники.

[Оглавление]Предисловие
Глава 1. Общие проблемы управления и построения алгоритмов управления сближением космических аппаратов

  • § 1.1. Задача управления сближением и средства ее решения
  • § 1.2. Методы наведения, используемые при сближении
  • § 1.3. Способы формирования управляющих воздействий
  • § 1.4. Некоторые принципы построения алгоритмов управления

Глава 2. Постановка основных задач, решаемых алгоритмом управления

  • § 2.1. Модели движения космических аппаратов
  • § 2.2. Модель работы системы управления
  • § 2.3. Основные системы координат
  • § 2.4. Постановка и методы решения задач оценки
  • § 2.5. Постановка задач управления

Глава 3. Законы управления сближением по методу параллельного наведения

  • § 3.1. Уравнения относительного движения в визирной системе координат
  • § 3.2. Общий вид законов управления и методика их синтеза
  • § 3.3. Законы дискретного управления
  • § 3.4. Логика раздельной коррекции
  • § 3.5. Схемы совместной коррекции
  • § 3.6. Некоторые аналитические соотношения
  • § 3.7. Оценка эффективности и определение оптимальных параметров законов управления

Глава 4. Решение двухимпульсной задачи управления в абсолютной системе координат

  • § 4.1. Необходимые соотношения задачи двух тел
  • § 4.2. Универсальное представление кеплеровых движений
  • § 4.3. Решение задачи управления как задачи определения орбиты но двум положениям
  • § 4.4. Определение траектории сближения с помощью итераций по универсальным переменным
  • § 4.5. Определение траектории сближения методом вариации элементов

Глава 5. Аналитическое решение уравнений относительного движения

  • § 5.1. Уравнения относительного движения в орбитальной системе координат
  • § 5.2. Связь между относительными координатами и вариациями элементов опорной орбиты
  • § 5.3. Общее решение линеаризованных уравнений
  • § 5.4. Некоторые свойства и приложения решений уравнений в вариациях
  • § 5.5. Общее решение уравнений относительного движения во втором приближении
  • § 5.6. Об аналитическом решении точных уравнений относительного движения

Глава 6. Решение задач управления на основе аналитических решений уравнений относительного движения

  • § 6.1. Решение двухимпульсной задачи управления в линейном приближении
  • § 6.2. Определение корректирующих импульсов в случае неполной коррекции промаха
  • § 6.3. Определение корректирующих импульсов с заданным направлением
  • § 6.4. Трехимпульсные и четырех импульсные программы горизонтальных коррекций
  • § 6.5. Законы асимптотического торможения
  • § 6.6. О реализации метода свободных траекторий в визирной системе координат
  • § 6.7. Определение корректирующих импульсов на основе решения точных уравнений относительного движения

Глава 7. Решение двухимпульсной задачи управления на основе численного интегрирования уравнений относительного движения

  • § 7.1. Постановка задачи
  • § 7.2. Пределы применения упрощенных алгоритмов расчета корректирующих импульсов
  • § 7.3. Обзор численных методов интегрирования
  • § 7.4. Анализ методов интегрирования Рунге — Кутта для решения задачи прогноза конечных параметров
  • § 7.5. Оптимизация свободных параметров в методах интегрирования Рунге — Кутта

Глава 8. Оптимальное детерминированное управление сближением

  • § 8.1. Оптимизация двухимпульсной программы по времени сближения
  • § 8.2. Оптимизация двухимпульсной программы при малом изменении начального или конечного времени
  • § 8.3. Многоимпульснме программы, оптимальные по квадратичному показателю качества
  • § 8.4. Преобразование импульсных программ межорбитального перехода в программы сближения
  • § 8.5. Оптимальные двухимпульсные программы управления в нелинейной постановке

Глава 9. Методические погрешности решения задачи сближения

  • § 9.1. Методические погрешности приближенных алгоритмов расчета импульсов сближения
  • § 9.2. Методы повышения точности расчета импульсов сближения
  • § 9.3. Погрешности наведения вследствие возмущений кеплерова движения
  • § 9.4. Погрешности наведения вследствие ограниченности тяги

Глава 10. Построение оптимальных программ коррекций

  • § 10.1. Определение точки последней коррекции
  • § 10.2. Выбор начального приближения для распределения моментов коррекции на интервале сближения
  • § 10.3. Определение потребных энергетических затрат
  • § 10.4. Методика оптимизации программы коррекций.
  • § 10.5. Основные свойства оптимальных программ коррекций

Глава 11. Численные методы оценки параметров движения космических аппаратов

  • § 11.1. Основные характеристики и классификация методов оценки
  • § 11.2. Итерационные методы оценки по измерениям r и r'
  • § 11.3. Начальное приближение оценок
  • § 11.4. Упрощение итерационных методов оценки по измерениям r и r'
  • § 11.5. Итерационные методы оценки при полном составе измерений

Глава 12. Аналитические методы оценки параметров движения космических аппаратов

  • § 12.1. Оценки параметров движения при полном составе измерений
  • § 12.2. Оценка параметров движения методом наименьших квадратов
  • § 12.3. Метод оценки, основанный на условной линеаризации уравнений движения
  • § 12.4. Полиномиальная аппроксимация параметров движения космических аппаратов
  • § 12.5. Обработка измерений и многонмпульсные программы управления сближением

Глава 13. Оптимальные оценки параметров движения и управление сближением

  • § 13.1. Оптимальные оценки, использующие уравнения движения
  • § 13.2. Оптимальные оценки, использующие полиномиальную аппроксимацию параметров движения
  • § 13.3. Об оптимизации управления сближением по оценкам параметров движения
  • § 13.4. Некоторые особенности реализации метода свободных траекторий с помощью БЦВМ

Приложение 1. Оценки констант интегрирования уравнений относительного движения
Приложение 2. Основные технические данные бортовых радиотехнических измерительных систем [20]
Приложение 3. Корреляционные моменты ошибок оценок относительных координат и скоростей по единичным измерениям
Литература


Обработан он в этот раз хуже, чем обычно - мне не хочется часами сидеть за ScanTailor'ом, ожидая, когда он соизволит показать каждую из страниц, чтобы подправить жирность текста или задать уровень удаления "грязи", а потом ещё по полминуты ждать, когда он отрендерит по-новой. А свой несчастный ScanCombine ещё не дописал.

Торрент, яндекс.диск

Ещё отсканил и обработал вторую книгу:
docking1.png

и только когда полез выкладывать в торренты, обнаружил, что она уже там была. Не знаю, как её пропустил. В общем, вот существующий торрент, это она же на яндекс.диске, а вот моя версия. Она лучше только наличием обложки, интерактивного оглавления и слоя распознанного текста, а вот текст "тонковат", отдельные места выпадают, предыдущая версия на данный момент лучше читается.
ook

Встречайте: "Теория твёрдого тела для начинающих" и "Радиофизика и электроника для начинающих"

Только-только вышли две новые книги от 2born:



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

Collapse )

Книги можно заказать на сайте издательства по цене 190 р. каждая + пересылка:
Теория твёрдого тела
Радиофизика и электроника для начинающих

Ликбез по кватернионам, часть 3: запись вращения через кватернионы

Часть 1 - история вопроса
Часть 2 - основные операции
Часть 3 - запись вращения через кватернионы
Часть 4 - кватернионы и спиноры; порядок перемножения
Часть 5 - практическая реализация поворота
Часть 5 1/2 - введение метрики, "расстояния" между поворотами
Часть 6 - поворот по кратчайшему пути
Часть 6 1/4 - кратчайший поворот в общем случае
Часть 6 2/4 - поворот, совмещающий два направления
Часть 6 3/4 - кватернион из синуса и косинуса угла
Часть 7 - интегрирование угловых скоростей, углы Эйлера-Крылова
Часть 8 - интегрирование угловых скоростей, матрицы поворота
Часть 8 1/2 - ортонормирование матрицы и уравнения Пуассона
Часть 9 - интегрирование угловых скоростей с помощью кватернионов
Часть 10 - интегрирование угловых скоростей, методы 2-го порядка
Часть 10 1/2 - интегрирование с поддержанием нормы
Часть 11 - интегрирование угловых скоростей, методы высших порядков (в разработке)
Часть 12 - навигационная задача
Часть 13 - Дэвенпорт берёт след!
Часть 14 - линейный метод Мортари-Маркли
Часть 15 - среднее от двух кватернионов
Часть 15 1/2 - проверка и усреднение кватернионов
Часть 16 - разложение кватерниона на повороты

Хотел уложиться в 3 части, но похоже, их будет по крайней мере 5 - Остапа понесло!

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

Запись вращения через кватернионы

Малые углы
Допустим, мы хотим повернуть вектор x вокруг оси, заданной единичным вектором n, на малый угол dφ.
Это легко осуществляется с помощью векторного произведения. Приращение вектора x составит

eq3_1.png

а новый вектор будет равен
eq3_2.png

Кажется, что уже начинают вырисовываться кватернионы – для того, чтобы вектор повернулся, нам нужно как умножение на константу (в нашем случае на единицу), так и векторное произведение, обе вещи в кватернионе присутствуют. Сделаем первую «наивную» попытку записать кватернион поворота:

Collapse )

Ликбез по кватернионам, часть 2: основные операции

Часть 1 - история вопроса
Часть 2 - основные операции
Часть 3 - запись вращения через кватернионы
Часть 4 - кватернионы и спиноры; порядок перемножения
Часть 5 - практическая реализация поворота
Часть 5 1/2 - введение метрики, "расстояния" между поворотами
Часть 6 - поворот по кратчайшему пути
Часть 6 1/4 - кратчайший поворот в общем случае
Часть 6 2/4 - поворот, совмещающий два направления
Часть 6 3/4 - кватернион из синуса и косинуса угла
Часть 7 - интегрирование угловых скоростей, углы Эйлера-Крылова
Часть 8 - интегрирование угловых скоростей, матрицы поворота
Часть 8 1/2 - ортонормирование матрицы и уравнения Пуассона
Часть 9 - интегрирование угловых скоростей с помощью кватернионов
Часть 10 - интегрирование угловых скоростей, методы 2-го порядка
Часть 10 1/2 - интегрирование с поддержанием нормы
Часть 11 - интегрирование угловых скоростей, методы высших порядков (в разработке)
Часть 12 - навигационная задача
Часть 13 - Дэвенпорт берёт след!
Часть 14 - линейный метод Мортари-Маркли
Часть 15 - среднее от двух кватернионов
Часть 15 1/2 - проверка и усреднение кватернионов
Часть 16 - разложение кватерниона на повороты

Наверное, самая простая часть, самая стандартная (сложно это всё изложить как-то иначе, да и не нужно) и самая важная.

Основные операции

Пора поиграться с надписью на мосту. Выпишем эти соотношения отдельными пунктами:
i2 = -1(2.1)
j2 = -1 (2.2)
k2 = -1 (2.3)
ijk = -1 (2.4)


Collapse )
ook

Вопрос сканирующим про монитор

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

И тут многое зависит от того, какой используется монитор. У меня долго стоял монитор IIyama 4:3 с разрешением 1280х1024, не так давно у него блок питания сгорел, мелочь в принципе (пара электролитов вздулись, силовой высоковольтный MOSFET выгорел, да предохранитель поплавился, как всегда вовремя), починю, как только ремонт закончится, сейчас он куда-то закопан глубоко, хрен достанешь.

Сейчас пользуюсь широкоэкранным с разрешением 1920х1080. Поскольку книжки обычно имеют книжную (внезапно) ориентацию, то возникает жгучее желание разместить все элементы управления слева и справа, а текущую страницу растянуть по вертикали настолько, насколько это возможно - никаких панелей вверху, никаких статусбаров внизу!

Collapse )
ook

Сканер и фотошоп подложили новую свинью

Вот "сырой скан":
grayscale0001.png
сделанный на сканере OpticBook 3800 с настройкой гаммы 2.2 (по умолчанию такая и стоит).

Его гистограмма при открытии в фотошопе:
LyingHist.png
Хорошая такая гистограмма, гладкая.

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

Отдельные пики и множество провалов - как же так!?
Collapse )
ook

Серый цветовой профиль

Может, заголовок и является оксюмороном, однако вещь реально существующая. В английском название даже более абсурдно: Grayscale color profile.

Основное его применение - калибровка принтеров (скорее даже набора "принтер + краситель + бумага") и более зверских устройств печати (тех, что не пролазят ни в дверь, ни в железнодорожный габарит), чтобы получить качественную продукцию. В фотошопе можно увидеть набор профилей "dot gain", которые учитывают, что при печати серых тонов они несколько размываются и оказываются темнее, чем ожидалось:


Мне пока ни разу не попадались входные серые цветовые профили, т.е сканер, который калибровали в режиме grayscale, хотя никаким стандартам это не противоречит. В итоге я решил попробовать построить свой собственный, руководствуясь этим документом. Как ни странно, получилось, по крайней мере, Фотошоп воспринял профиль ровно так, как я и ожидал. Но вот программы для просмотра изображений эту штуку проигнорировали начисто. "Не выпендривайтесь, серый это и есть серый!"

(на этой демонстрации первое изображение без профиля, остальные преобразованы в sRGB)
NoManagement.pngRelativeColorimetric.png
AbsoluteColorimetricACE.pngAbsoluteColorimetricICM.png

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

Collapse )
ook

Встречайте: курс паровозов от Нетыкса В.М. - 1928 год

На этот раз книга уже после революции. Яти и буквы i все выкинули, а вместе с ними и твердые знаки. Не только те, что на конце словъ, но вообще любые, заменив на апостроф (под'ем), но в целом правила русского языка уже почти современные.



Меня ещё очень удивила математическая функция lognat. Да-да, это так записывали натуральный логарифм, чтобы уж наверняка все правильно поняли!

Предисловие от автора:
Collapse )

Торрент
, яндекс.диск