FilippOk
вот один из возможных путей (названия вымышленные, совпадения случайны):
a. взять или создать библиотеку векторно-матричной алгебры. кто-то работает с 3х3, кто-то с 4х4. 3х3 быстрее, а 4х4 универсальнее (так как включает линейные перемещения). библиотека должна позволять производить операции + - • -1 det (мож что ещё полезного), причём сюда же добавить операции строка•матрица=вектор, |строка|, строка•кватернион, строка x строка, строка • строка.
повторяю: матрица, на которую умножаешь, часто называется оператором (в алгебраическом смысле).
навскидку список классов TRow, TOperator, TQuaternion и их методы. Это для Алгебры.
a2. на этом же элементарном уровне можно подумать над арифметикой: TFunctionTab. если подходить по хакерски, то придётся описывать всё, начиная с Real Sin(Real). если юзать стандартные библиотеки, то можно слегонца пролететь на run-time.
b. если хочешь этот ужас забыть поскорее, на эту библиотеку положи более высокую: TVector, TAxis, TTransformation, TRotation (на базе TQuaternion) ну и по ходу ворох других фишек. Здесь уже полегче станет - будешь работать с более близкими тебе понятиями точек, векторов и преобразований. Но этого мало, только на Стереометрию и хватит.
c. следующим шагом строишь механические примитивы: TMassAndMomentum, TForceAndMomentum, TAccelerationAndAngular, TVelocityAndAngular, TPositionAndOrientation плюс сопутствующие примочки. главным результатом будет TRigidBody - класс, описывающий твёрдое тело и TForceAndMomentum как его интерфейс с миром.
такими инструментами уже можно решать задачи Статики и Динамики.
d. вот тут уже можно подобраться к дипломной. опять библиотека классов, но уже то, что надо: TUserControls, TEngine, TWing, TAirframe и всё это включается в TAircraft. параллельно мож создать класс TAtmosphere76 - пригодится когда нибудь.
e.Одновременно с вышеописанным работаешь над графдвижком (списываешь, пишешь или используешь). Эдак TCamera и всякая фигня, которой я не знаю.
это пример тсчательного и занудного объектно-ориентированного подхода к программированию. преимущества - после этого ужаса отдыхаешь на простоте проектирования и кодирования непосредственно своей задачи. недостаток - потеря времени на design-time библиотек и потеря run-time на классовых вопросах.
теперь после этого можно уже начать отвечать на твои вопросы:
1.момент силы есть векторное произведение рычага силы на неё саму. стыдно объяснять такие вещи. в механике вращения момент силы делится на момент инерции по оси вращения. вот как a = F/m, в точь так же beta = Mx/Ix. где x - ось вращения, она же направление момента силы, который есть... в начале абзаца. понял? Ix это момент инерции вращения по данной оси вращения. представляет из себя вещественное число (скаляр). как делить вектор на скаляр объяснять уже не стану.
моменты инерции описываются "матрицей 3хер3", объект, описывающий инерцию вращения, называется тензором момента инерции. наверное, его избегают называть матрицей, потому, что у инерции другое поведение. кажется так.
поскольку ось вращения у тебя вряд ли будет совпадать с абсциссой, ординатой или аппликатой, то нужно думать как тензор момента инерции превратить в скаляр момента инерции по оси вращения.
"наделяешь" обозначает добавляешь свойства и методы к твоему объекту твоего класса.
на твёрдое тело всегда действует момент силы, потому, что результирующая сила никогда не проходит через центр масс.
"разлагается"... покоординатно. из тензора можно взять только Ixx, Iyy, Izz, а на остальное забить. далее момент силы (который есть вектор) покоординатно делишь на эту тройку. насколько этот подход кривой - на практике не вычислял.
3. перевод точки vecA из системы координат (ортонормального базиса) matUniversal {{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}} (матрица, как видишь, мож так же заметить, что единичная) в систему координат matSomewhere осуществляется примитивно как vecASomewhere = vecA • crdSomewhere-1.
в общем случае вращение можно рассматривать как изменение координат, так что vecARotated = vecA • matRotation. только matRotation вычисляется геморно.
изучай кватернионы.
5. можно зашаманить задачку: во время включения двигателя толкать аэроплан со скоростью миллиметр в секунду. позаботься о том, чтобы тормоза тогда не работали на скорости менее того же миллиметра в секунду. ну и прочее трение.
8. горизонтальное оперение - часть комплекса аэродинамических поверхностей для стабилизации полёта и аэродинамических элементов управления для управления полётом.
подъёмная сила - функция от скорости, плотности неподвижного воздуха, угла атаки и свойств профиля крыла, как-то: площади и геометрических понятий, называемых коэффициент подъёмной силы. имеет направление перпендикулярное скорости. так же рассчитывается аэродинамическое сопротивление.
глянь в любой учебник по аэродинамике или в интернете "how it flies". и английский учи.
ПС. не пугайся, размер проекта зависит от степени приближения к реальности.