Тема: Моя курсовая: кватернионы и описание движения тел
(вдруг кому-нибудь окажется полезно, поэтому решил выложить свои труды )
Тема: "Задача определения ориентации движущегося объекта в инерциальной системе координат".
Кратко говоря, есть летательный аппарат, на котором есть датчики, постоянно измеряющие его угловую скорость. Нужно по этим данным восстановить положение в пространстве (ориентацию) аппарата в текущий момент времени.
В работе рассматривается современный подход к этой проблеме - с помощью гиперкомплексных чисел кватернионов (от обычных комплексных они отличаются тем, что состоят из 4, а не из 2 компонент). Выводится дифференциальное уравнение, описывающее интересующую нас задачу. Рассматриваются несколько готовых алгоритмов численного решения этой задачи, которые были реализованы на C++ и произведено сравнение.
Код программы может оказаться полезным и для тех, кому кватернионы совсем не нужны Например, там есть ООП-класс для абстрактного решателя системы дифференциальных уравнений, и как его потомок - метод Рунге-Кутта 4-го порядка точности. Также есть алгоритмы численного интегрирования прямоугольников, трапеций и Симпсона, также реализованные в виде классов в одной ООП-иерархии.
Код постарался написать красиво как с точки зрения ООП, так и языка (постарался поиспользовать Boost там, где было возможно), и документирования (постарался прокомментировать всё и вся, с помощью разметки Doxygen).
К сообщению приложены:
titul.pdf - титульный лист;
kurs.pdf - текст курсовой;
sources.pdf - текст приложения, содержащий программу после обработки системой документирования Doxygen;
doc.chm - вся документация, сгенерированная Doxygen по программе (саму программу здесь тоже можно читать, и будет скорее всего даже удобнее, чем голые исходники);
program.zip - Программа с проектом для Visual Studio 2008
kurs_tex.zip - TeX-исходники текста курсовой (tex-файл и несколько картинок, которые вставлялись в него). Для работы с TeX использовался пакет MiKTeX.