Вход

Просмотр полной версии : Ищу информацию!



FilippOk
07.10.2002, 01:00
Памажите, люди добрые! Сами мы не местные, летать не пробовали...  :D
В общем, если без шуток, тема в следующем: начинаю писать диплом. Предварительное название темы: симуляция полёта самолёта на различных режимах.
Типа, взять вот и написать в одно жало Ил-2, но для реактивников. Надо:
1. Любую инфу, как это реализовать на Дельфи.
2. Любые ТТХ реактивных самолётов. Лучше - не военных. Засекречено там всё...
3. Любые мат. модели реактивных самолётов.
4. Опыт создания подобных симуляторов.
В итоге должен получиться интерфейс, в котором юзер задавал бы файл-описание полёта (тяга, углы отклонения элеронов, рулей высоты и направления, закрылок и пр.) - посекундный, который будет создаваться отдельным редактором, а этот интерфейс уже отрабатывал бы этот файл визуально, показывая, как ведет себя самолётик на экране. Самолётик - несложная модель самолета заранее выбранного типа. Если ещё и тип самолёта можно будет выбрать - вообще  .
Как такое, можно?  :confused:

Spaceman
07.10.2002, 10:53
Привет FilippOK.

ну что мои пять копеек

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

Прежде всего
берется твердое тело, прикладываются к нему моменты и силы и все это пробуется двигать.

Вот по этой части я тут на года два уж назад на форуме выкладывал еще раз сообщу есть как бы
дока
http://www.movesinstitute.org/~zyda/pubs/Presence.1.4.pdf

ее надо почитать
вообще см раздел Reference тут..... - есть любопытные документы

http://jsbsim.sourceforge.net/
я думаю
довольно полезно.

вот это - код вращения под воздействием моментов с исп
кватернионов есть во
Flightgear.....

http://flightgear.sourceforge.net

можно скачать и глянуть код в директории jsbsim

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

хотя я  да  все вспомогательные функции свои написал ........
мне из flightgear не очень понравились классы.....

а далее - далее крепишь как бы кривые зависимостей
сил от  разных углов.....  и летаешь...... ;-)

Короче начни пока с этого.... с твердого тела...

Поищи какие то стартовые точки к чему будешь крепить ...например....

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=551&lngWId=3

Вообще  если бы умел работать под линукс -
я бы рекомендовал скачать  Performer с сайта SGI -

и примерчики Ангуса Дорби....http://www.dorbie.com/
( я бы тебе подсказал как их скомпилировать под линукс...)

Aqua и Anisotropic
и просто  поменял бы в Aqua  подлодку на свою
модельку самолета ( перформер понимает 3ds файлы)  и летал бы.....

просто на графике бы сильно сократил время.....
вот Перформер правда будет и на Windows скоро .....
но опятьже во первых ждать а во вторых C++........

Ну о графике ты сам подумай....

Почитай  книжки ( надеюсь найдешь в билиотеке

АА Красовский - основы теории авиациооных тернажеров
м машиностроение 1995

Аэродинамика устойчивость и управляемость сверхзвуковых самолетов
под ред  ГС Бюшгенс
Москва Наука физматлит 1998

Аэродинамика и  динамика полета магистральных самолетов

Авиа издательство КНР

Может быть что то глянуть в книжке

Аэродинамика ракет Книга 1

Под редакцией Хемша, Нилсена
Москва Мир 1989

( мне показалось довольно  хорошо на пальцах рассказано про системы управления ...)

вот ну и задавай вопросы....

По принципу  задавай умные вопросы получишь умные ответы :-)

Я вот  был бы  рад тебе кое что подкинуть как  идеи ;-)

ну а как стартовую точку... хех можешь глянуть вот
аттач к мессаджу ... да на паскале что то..... на древнем....

не знаю может пригодится ;-)

Но вообще же сделать модель сима чтобы все летало более менее....- уйдет довольно много времени....

Но опыт написания симов он да - никуда не денется.
А вещь сильно востребованная ;-)

Spaceman
07.10.2002, 11:07
я видимо что то упустил про интерфейс....  как тебе сказать

если сделать диалог -based приложение - то можно
исп все что угодно.... не только Дельфи.....

я бы вот рекомендовал QT..... для винвовз старая версия бесплатно... а для линукс бесплатно самая новейшая версия.... - это кажется что программировать под линукс сложно ;-) через недельку уже будешь ваять с пом designer
так что полазь по
http://www.trolltech.com

пару примерчиков сделаешь - угумс и все понял....
благо туториалы есть....

ну хотя тебе выбирать.... но вообще моделировать на дельфи..... нет это нечто из области 'дикого и непонятного'
моделируют либо на  спец языках либо на c/c++ и ada либо на simulink :-) но дельфи... забудь эту ерунду как страшный сон.... всю жизнь будешь мучаться если сделаешь на дельфи... не тот туул для моделирования ей же ей.......

exec228
07.10.2002, 15:54
а если бы он взял Си++ Билдер, то уважали бы?

пусть берёт что хочет, главное, чтобы понимал, что творит. предметно: статику, динамику, и в реализации - объектную модель под это.

это ведь диплом, а не реальный проект. читайте - "халтура". главное показать основные принципы.

а миграция хоть с того же виртовского антибейсика вопрос совсем нетрудный при грамотном проектировании.

по ходу дела spaceman оч тсчательно ответил. сам его ответ выпишу к себе на винт.

кста, во флайтгире какая-то простая модель. примитивная, што ли.

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

Spaceman
07.10.2002, 15:57
Наконец еще - есть распр заблуждение что писать динамку дозвукового  и реактивного полета суть разные вещи.

Разные.... в кривых данных  - больше ни в чем......

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

итак значит после прочтения и создания твердого тела.
Берешь либо графики публиковавшиеся здесь на форуме по аэродинамическим характеристикам... либо
в книгах ( есть в магазинах можно заказать)

либо тут по форуму проходила инфа где взять эти самые кривые

ну и будешь искать  такое -

ну двигатель -
- ну  тяговые характеристики двигателей в зависимости от
throttle ,текущих "оборотов"  и  ну скажем высоты и числа Маха . Это задашь  что то формулой - что то табличкой

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

( например две  двумерных таблички -

номинальная тяга от обротов  и таблички поправочных коээ от высоты.. и числа маха - а потом это все перемножишь и получишь выходную тягу)

вообще детали думаю найдешь в том же flighgear....

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

А что касается специфик - ну  думается  кое какие аэродинамические данные   можно нарыть в таких книжках как


Практическая аэродинамика самолета ТУ-154м
http://www.book.ru/cgi-bin/book.pl?page=4&book=38976

Практическая аэродинамика самолета Ил-86
http://www.book.ru/cgi-bin/book.pl?page=4&book=38973

Динамика и пилотирование самолета ТУ-154
http://www.book.ru/cgi-bin/book.pl?page=4&book=38974


вот.

Так что делов то по началу будет

- тело
- двигатель
-аэрод коээф

вообще говоря в этих исходых данных -
моменты на оперении можно моделировать как функции от
набегающего потока и угла отклонения......

ну и в общем ежели это осилишь....
далее будет проще.....

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

  и летать красиво будет ;-)

а далее

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

ну и наконец

Далее - останется пробежка по аэродрому....
ну дык  думаю это останется за пределами диплома - но вообще сделать можно и это.

Хотя если  захочешь точно этот процесс моделировать придется залезть в Лагранжеву механику....
либо векторно матричную механику....
так как будет  как бы движение с наложенными ограничениями....

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

вот собственно.

Spaceman
07.10.2002, 16:07
а если бы он взял Си++ Билдер, то уважали бы?

.

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

Если же для сокращения времени разработки брать все те граф движки которые валяются в сети или
коммерческие ( VTree . OpenGVS , Gizmo3D,
даже старенький OpenInventor ) то они в большинстве случаев ( подавляющем) под VC...... либо если и под линукс то и под gcc

Ну вот тот же Перформер под линукс под gcc а в бета версии для виндоуз ( стало быть выйдет под него через пару месяцев) счас тестируется под VC...

------------------------------------------------------------------
пусть берёт что хочет, главное, чтобы понимал, что творит. предметно: статику, динамику, и в реализации - объектную модель под это.

это ведь диплом, а не реальный проект. читайте - "халтура". главное показать основные принципы.

а миграция хоть с того же виртовского антибейсика вопрос совсем нетрудный при грамотном проектировании.
-----------------------------------------------------------------

да #перелопачивать классы с С/С++ на С/C++ #( беря чей то код #это одно - и это правильно ибо большинство вещей уже давно кем то сделаны...)
это одно.

а вот с одного языка на другой.... я в свое время #одну свою программу перегонял с #паскаля на С.
Нда после этого опыта заниматься такого рода двуязычеем
охоты нету.....

-----------------------------------------------------------------
кста, во флайтгире какая-то простая модель. примитивная, што ли.

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

Не динамика там НАСТРАИВАЕМАЯ.
через внешнии файлы настройки!

в принципе можно довольно серьезный сим сваять.....

и никакой условной компиляции там #с выбором самолета нет... упаси бог.
Нет jsbsim сделана добротно # до степени того что для диплома можно почти копировать.... даже и не все а часть..... вот такой ответ...

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

Gering
07.10.2002, 22:05
Диффурами хочешь характеристики двигателя в симе считать? :) ну-ну :D

З.Ы. Тут пытались посчитать дроссельную характеристику одной прогой - так пень3-1000 с гигабайтом оперативки за трое суток ничего не насчитал (решение не сошлось :().

З.З.Ы. Напишишь прогу, которая это посчитает (трехмерно, вязко, ТОЧНО) - свистни :)

Spaceman
07.10.2002, 23:27
Диффурами хочешь характеристики двигателя в симе считать? :) ну-ну :D

З.Ы. Тут пытались посчитать дроссельную характеристику одной прогой - так пень3-1000 с гигабайтом оперативки за трое суток ничего не насчитал (решение не сошлось :().

З.З.Ы. Напишишь прогу, которая это посчитает (трехмерно, вязко, ТОЧНО) - свистни :)


Ну вы блин даете.

Значит объясняю - #просто использовать таблички для двигателя - одна модель.

то что вы пытались посчитать другая модель.
Есть модели двигателей с исп диффуров которые дают 95-98 проц приближение к реальным #процессам в двигателе и при этом считаются довольно быстро ( ну поверь мне поск я как раз для своего
автосима сейчас прорабатываю детали мат модели для двигателя)

так вот эта риалт тайм модель на диффурах ( не  в частных производных а  - система обыкновенных диффуров....)

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

Ну дык #наличие разных моделей и подходов друг другу  не мешает и не противоречит.


Существуют довольно приятные ( точные и быстрые real time) модели двигателей на базе диффуров......

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

Так что ты зря так на меня пальцем кажешь.
вот возьми почитай книжицу которую я приводил здесь
"основы теории авиациооных тренажеров". Красовского

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

Но
для игрушек и/или #просто понять идею и совсем простые подходы сойдут...


так что ты за слово диффур не держись.
Оно само по себе смысла #много не несет ;-)

без дополнительных уточнений

Хотя конечно же наиболее точные модели работы двигателей исключительно ресурсоемки в выч плане.....
с этим я согласен.... но я не предлагаю их использовать в симах

FilippOk
08.10.2002, 05:20
ну что мои пять копеек

Привет, Spaceman, Gering и -Exec-!
Спасибо за ответы и понимание проблемы.  Особенно Spaceman'у.
Кстати, ни фига себе, пять копеек!  ;)
Нафига так пугать бедного студента?
Я застрелюсь. Однозначно застрелюсь.  :(
Ну не знаю я других языков, окромя Паскаля и Дельфи... Придётся писать, на чём есть. Как говорится, Ёжик плакал и матерился, но продолжал терзать кактус...
А вы все меня такими сложностями - да в упор...  :)
0. Спасибо за пример - приаттаченный файлик кое-что прояснил.
1. Что значит "берём твёрдое тело"? Как?
2. Со стартовыми точками пока и думаю. С чего начинать?   Уже прикинул интерфейс и основные идеи... Оказалось, не, жить можно.
3. О графике задумался... пока мыслей нет.  :D Как простенький 3D-объект в пространстве повращать проще всего?
4. За книги - отдельный сенькс. Поищу обязательно.
5. Тяговые характеристики двигателей. Где их взять(в перечисленных книгах они есть?), и можно ли их заменять обобщенным понятием "мощность двигателя", или это будет совсем уж "допуском"?
6. Число Маха?  
7. Если можно, поподробнее, как и что задать табличкой? Это интересно, т.к. я намеревался именно дифурами, но т.к. я с ними не особо в ладах и могу запутаться (всё, что выше второго порядка - уже "крейсеры" :)), то, конечно, очень хочется альтернативу. А про табличками я и не слыхал...  :confused:
8. Моменты на оперении можно моделировать как функции от набегающего потока и угла отклонения... Как это делается? В общих чертах?  :confused:
9. Так. Посадка отменяется. Вообще. Ну-тка нафиг...  :( Я и так уже повеситься среди книг рискую... Окопался, понимаешь...   :(

Я вот  был бы  рад тебе кое что подкинуть как  идеи ...
Может, есть идеи? Хотелось бы обсудить....  ;)

Наконец еще - есть распр заблуждение что писать динамку дозвукового  и реактивного полета суть разные вещи.

Опа. Был свято убеждён, что так оно и есть, и, помнится, даже пил пиво, выигранное на споре на эту тему. Как же так?  :confused:

exec228
08.10.2002, 09:57
1. голыми руками за голое тело - учебник физики 6 класса. упругости нет. в первом приближении рассматривается как материальная точка с результирующей силой, действующей на неё. поступательное движение.
дискретно по времени из силы достаёшь ускорение, из ускорения изменение скорости, из скорости пространственное положение. на это обрати внимание. кто-то это называет фреймом или кадром.

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

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

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

но на самом деле инерция вращения описывается тензором I (матрица 3хер3, афаир симметричная), и из этого тензора можно шустро достать скаляр (обычное вещественное число) момента инерции вокруг любой интересующей тебя оси. для классических случаев вращения вокруг популярных осей этот скаляр совпадает с Ix, Iy, Iz и другими осями (правильнее говоря Ixx, Iyy, Izz). а вот если ось какая-то кривая, то указанный выше метод начинает глючить, потому, что в алгебраически грамотном подходе фигурируют ещё Ixy, Ixz, Iyz.

как вычислять этот тензор? в общем случае это интригал плотности•вектор от ЦТ по объёму (а может массы - не помню, сам посмотри). в частности я полагаю, что тело можно разложить на элементы (являющиеся материальными точками) и заняться более простой арифметикой. погрешность зависит от того как мелко крошить тело. в идеале по атомам.

3. если ты ваяешь свой графический класс трёхмерного тела, то чтобы его раскрутить нужно:
•решить в каких координатах его крутить, по ходу разобраться с переводом из одной координатной системы в другую. вот скажем универсальные координаты локально плоской карты это одно, а нос-кепка-право это совсем другое.
•в общем случае вращение выражается в переводе ключевых точек тела в такую систему координат, в которой это вращение происходит по школьной формуле вращения. см алгебру эдак 8-9 класс. или геометрию? забыл... короче, перевод в другие координаты (оператор(матрица), вращение там (оператор), перевод обратно на родину (не поверишь - опять оператор) можно предварительно запихнуть (перемножив их друг на дружку) в оператор вращения (перевода точки из одного положения в другое посредством вращения вокруг произвольной оси на заданный угол).
•в хитром случае вращение осуществляется в перемножении ключевых точек тела на кватернион вращения. катернион создаётся из оси вращения и угла поворота. несмотря на окружный путь число операций существенно уменьшается.
5. с двигателем сложнее. можно взять мощность за грубое приближение, но тогда у тебя самолёт не сможет взлететь (потому, что не сможет тронуться, потому, что в начале полосы скорость нулевая). придётся тягу выковыривать скальпелем например из аэродинамики лопастей, на которую приходится эта мощность. кстати, отсюда я сделал скромно-генияльный вывод, что это не глюк формулы, а природный закон. ведь и эти двигатели, несмотря на всю свою мощу, тоже не могут стартануть из состояния покоя. требуются стартёры. чтобы не повторять этот гемор каждый фрейм читай 7.
6.мда... ты бы хоть в школе физику курил.
7.таблицей можно задать... ну много чего. тебя может заинтересовать хранение функции как её значения в нескольких точках. если нужно снять значение посреди сохранёных точек - интерполяция. методов ###ма. если функция сложная, то этот трюк может сэкономить ран-тайм вычисления. ты в школе учился-то? таблицы брадиса небось даже не слыхивал.
8.я не знаю. когда хотел рассчитать, намеревался посмотреть готовые калькуляторы закрылков. отсюда бы я получил изменение аэродинамических коэффициентов, подъёмную силу, а дальше - очевидно. обычно ГО находится сравнительно далеко от центра масс, если, конечно, глядеть на самолёт сбоку. я бы взял момент от этой аэродинамической силы, которую бы хранил в таблице.


9.spaceman, я тебя могу поспрашать насчёт пробежек по полосе? так чтобы с определённой вероятностью получить информативные и полезные ответы. если требуется взлететь, а особенно сесть.

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

обратно к филипку. "Опа". это можно рассмотреть как разные аэродинамики, а можно склеить в одну модель. F(x) = { sin(x), x < 0; ex-1, x >=0; только всё равно надо думать как шпатлевать переход от одной к другой. желательно, чтобы до производная была гладкой, а может даже и две.

Spaceman
08.10.2002, 10:19
To FilippOk


Вижу тема расширяется до тем не особо интересным всем - так что давай в мыло.

Думаю к вечеру накропаю тебе кое что и сброшу . Для дальнейший обдумываний.


To #-exec- 228 ShAD

спрашивать то ты меня можешь. Но много ли я тебе отвечу ;-) ?

в кратце так -

одна эмпирика заключается в следующем.
делаешь две пружины с дэмферами в качестве каждой landing gear
одна на расширение другая на сжатие ( с разными коээфициентами короче пружины).

вот #далее - при касании рассчитываешь так называемый dynamiс load transfer #чтобы так сказать на пружины действовала сверху соотв сила.
что за звир и как делать - ищи в сети.

а снизу сила действует по принципу - ежели между полосой
и самолетом расст меньше чем длина landing gear - начинает работать пружина... пока мм #самолет не сбалансируется на
некоторой высоте над полосой ( а он сбалансируется ... проверено...только коээф пружин придется долго побирать..)

вот.

exec228
08.10.2002, 10:37
а зачем в мыло? тогда уж и мне скинь на exec@wbfree.net. и зачем на растяжение? аппарат же к траве не прилипает...

exec228
08.10.2002, 10:47
Не динамика там НАСТРАИВАЕМАЯ.
через внешнии файлы настройки!

в принципе можно довольно серьезный сим сваять.....

и никакой условной компиляции там #с выбором самолета нет... упаси бог.
Нет jsbsim сделана добротно # до степени того что для диплома можно почти копировать.... даже и не все а часть..... вот такой ответ...

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

Spaceman
08.10.2002, 11:04
а зачем в мыло? тогда уж и мне скинь на exec@wbfree.net. и зачем на растяжение? аппарат же к траве не прилипает...

ну когда пружина сжимается - она силу дает - дает .
Но одну,
а когда сжатая расжимается силу дает - дает - но другую....
посчит с другими коээф

так что никуда ничего не прилипает ;-)

Spaceman
08.10.2002, 11:10
знач я слишком давно на него смотрел. там ещё LaRCSim фигурировал. когда копал, надыбал что фм ложится в файл эдак килобайта два, а коэффициенты константами в сырье.

да  LaRCSim у в обед сто лет. Ну она в flighgear и сейчас есть... но
там вот есть еще ( и уже давно - но вот свежайшая версия вообще довольно прилична) jsbsim так сказать  объектно ориентированная либа динамики самолета и она расширяемая....вполне....

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

Spaceman
08.10.2002, 11:24
[QUOTE]а зачем в мыло? quote]

Затем что не все что тут пишется соотв какой либо реальности ;-)

хотя то тчо ты ответил FilippOk в общем может сойти за правильный ответ но на 85%

но вот как раз вопрос в том что из за потери инфы сделать
что то по такому ответу  практически невозможно.
Можно только запугаться..... ну и поразится чьим то крутым знанием.....
Так что я считаю.
ежели мы тут будем для всех балаган устраивать ...народ просто запугается и ничего не поймет.
я думаю пользы от этого никому.

а вот персональная переписка позволяет  ткнуть носом, но в то же время - не больно а именно с пользой.

человеку нужен диплом - вопросы он задал.

Сразу на все отвечать сложно.... но думаю как раз потихонечку можно.... никому не давя тут на нервы.
непонятными фразами ;-)

Zeus
08.10.2002, 12:39
FilippOk!

1. Для начала, не слушай никого про всякие Си и пиши на том, что тебе удобнее. Во-1, моделирование динамики свободного твердого тела (для твоих целей) - вещь достаточно простая даже для того, чтобы вообще использовать чьи-то сторонние библиотеки. Напишешь сам на раз-два. Да и полезнее это. Во-2, Си[++] для мат. моделирования все равно не дает никаких преимуществ. Только больше шансов сделать глупую ошибку. А в-3, большинство "настоящих" моделей до сих пор работает на Фортране :)

2. Про само моделирование. У жесткого тела 6 степеней свободы, соответственно, будет всего 6 (скалярных) основных диф. уравнений. Плюс, для полного кайфа, можешь добавить дифур на изменение массы из-за выработки топлива. Расписываешь силу вдоль каждой оси (например, для продольной оси это в основном тяга и сопротивление - тут лучше подсмотри в книжку, чтоб не изобретать велосипед и ничего не забыть). Делишь на массу, получаешь ускорение - закон Ньютона :) Ускорения складываются в скорость, скорость - в перемещение. В случае вращения вместо массы - момент инерции (фиг ты его посчитаешь сам, постарайся найти. По Ил-76 могу кое-какие данные дать, по некоторым другим тоже что-то есть). На всякие перекрестные (или как там они называются - инерционные?) моменты инерции (Ixy, Izx etc.) обычно можно забить, считая, что оси проходят через центр масс.

Кстати, о книжках. На Красовского лучше время не трать. Возьми какой-нибудь базовый учебник - Бюшгенс/Студнев, Остославский или, там, Бочкарев. Упомянутая "Аэродинамика устойчивость и управляемость сверхзвуковых самолетов" очень хороша, но толстая и дорогая :) Зато там есть глава именно про моделирование.

Где грабли? Во-1, переходы между системами координат. Тут важно не запутаться с поворотом, особенно уже при программировании. Хотя бы один переход тебе понадобится: силы/моменты самолета считаются в связанной системе координат, а перемещение тебе надо показывать в земной (или, там, стартовой - в общем, относительно земли). Механика несложная - домножение на матрицу направляющих косинусов. Чтобы опять ее не изобретать, подсмотри в тех же учебниках.

Во-2, всяческие хитрые углы вроде тангажа 90°. В уравнениях может попасться косинус тангажа в знаменателе - и привет. Идеальным выходом было бы изучение кватернионов - с ними таких проблем нет. Если неохота, не забудь предусмотреть обходные пути для таких случаев.

В-3, и, наверное, главное. Как быть с нехваткой данных? Их все равно не хватит. Если ты посмотришь на полные уравнения, там будет очень много аэродинамических составляющих. Ну, поляру (подъемную силу/сопротивление), тягу и основные моменты ты, допустим, найдешь. А там ведь еще есть всякие производные момента по производной относительного угла атаки и тому подобные вещи. Чтобы знать, что можно выкинуть, а что - нет, нужно уже быть инженером. Придется читать учебники и полагаться на здравый смысл. Но, важно: ты делаешь серьезную вещь, диплом. Нет ничего страшного, что каких-то данных нет. Но ты должен это обязательно отметить в пояснительной записке в отдельном месте. Например: в данной модели нестационарные эффекты не моделируются. (Это я как раз про ту производную). Можно вообще звезд с неба не хватать и сделать линейную модель (в ней самолет описывается десятком-другим чисел) - даже такие модели имеют очень большую сферу применения.

Да, о тяге. Забудь всякие дифуры для нее, просто сделай двухмерную интерполяцию тяги (по маху(скорости) и высоте). Статическая тяга (H=0, M=0) обычно известна, а сами зависимости достаточно типичны для конкретного класса двигателей. И их всегда можно найти в книжках "Практическая аэродинамика хх-ххх". Кстати, одна из них, по Ил-76, лежит здесь: http://www.il76.boom.ru/index.htm . Единственное, если у тебя будет управление тягой, надо бы позаботиться о запаздывании ее изменения при перемещении РУДа - оно часто значительно. Ну и дроссельная характеристика нужна, если топливо считать будешь - ищется там же.

В-4. Само интегрирование дифуров. Если ты делаешь сим реального времени, у тебя нет выбора и интегрировать можно только простейшим способом - Эйлера. Система не развалится, так как замкнута через летчика. Но если ты законы управления (отклонения элеронов и проч.) задаешь заранее, надо позаботиться о точности и использовать что-нибудь поточнее, например, популярный метод Рунге-Кутта 4-го порядка. Даже лучше, чем искать готовую библиотеку, о нем можно посмотреть в книжках типа "Численные методы" - это все несложно.

На сегодня хватит. Удачи!

Spaceman
08.10.2002, 13:02
To Zeus

А знаменитый динамик! Знающий всех разработчиков по именам и отчествам :-)

Ну что - на деле почти все что ты писал сойдет.
Довольно толково если тебе конечно FilipOk понял.

Кроме как бы я все же не соглашусь с
тем что сейчас до сих пор основное моделирование идет на фортране ( может объем кода и больше всего остального ....) но сейчас... да нет почти никто это уже не использует..... по крайней мере очень редко встречается....

а вот есть ли прумещества С++ по сравнению с Дельфи ну смотря какой критрей выбрать..... даже если это касается программирования выч алгоритмов в лоб по моим критериям преимущества есть......

что касается запутаешься. То С++ можно использовать так же как Дельфи. один в один. Не залазя особо в указатели......

ну да ладно это немного не о динамике.

Но вот то что ты пишешь -

-----------------------------------------------------------------
В-4. Само интегрирование дифуров. Если ты делаешь сим реального времени, у тебя нет выбора и интегрировать можно только простейшим способом - Эйлера. Система не развалится, так как замкнута через летчика. Но если ты законы управления (отклонения элеронов и проч.) задаешь заранее, надо позаботиться о точности и использовать что-нибудь поточнее, например, популярный метод Рунге-Кутта 4-го порядка.
-------------------------------------------------------------------

есть полное вранье.

Во первых в симах реального времени если они
' модульные' действительно лучше использовать
так наз одношаговые методы интегрирования.

Но это далеко не один метод Эйлера.......
ну например методы Адамса разного порядка.....
более того можно даже использовать неявные одношаговые методы. Правда при их использовании код немного станет кривоватым с замысловатыми переходами....

то касается не модульных с исп функций ....симов......

то если ты возьмешь симулинк сделаешь там схемку -
экспортируешь ее на C и запустишь - то ты увидишь и
применение методов Рунге Кутта и проч.... с
изменяемым входными значениями....
правда да Рунге Кутта с фиксированным шагом и подачей входных параметров этакими пакетами ( по четыре штуки для метода рунге кутта 4 го порядка) - но последнее не обременительно по точности особ для игровой.обущающей симуляции

вот так что мм тут ты не прав. Совершенно.

exec228
08.10.2002, 16:01
ну когда пружина сжимается - она силу дает - дает .
Но одну,
а когда сжатая расжимается силу дает - дает - но другую....
посчит с другими коээф

так что никуда ничего не прилипает ;-)
из этого я понял, что либо амортизатор является вечным двигателем, либо то, что пружин там одна, хотя конструкционно она состоит из нескольких.

Spaceman
08.10.2002, 16:11
To -exec- 228 ShAD

чтобы не было вечным двигателем ( наверное ты имел ввиду бесконечные колебания? )там стоит дэмфер ( вспомнил?) и как раз разноход и в еще большей стeпени
( правда только при определенном сочетании коэфф) уменьшает подобие "вечного двигателя"

( ну подскажу - коэфф жесткости пружины примерно 5...50 * массу ЛА) а коэфф демпфирования для линейной пружины в пяток раз поменьше по величине коэфф жесткости.... и еще раз коэффициенты для хода пружины в разные стороны разные.
это сочетании коээфф помогает еще больше задемпировать и создать ощущение реалистичности......

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

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

Если не эмпирика - выведи уравнения Лагранжа для
системы - ЛА все landing gear и интегрируй на здоровье ;-)

кстати еще и кандидатскую а то и докторскую дадут ;-)

exec228
08.10.2002, 16:20
не, тут кухонные размышления такие:
цепляем этот амортизатор на маховик, и его вращением деформируем амортизатор в "мягкую" сторону. а оттуда последний как жахнет по "жёстким" коэффициентам! снимаем готовую работу и направляем её на мирные цели. повторяем, пока не надоест.

Spaceman
08.10.2002, 21:10
To Zeus

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

в плане того что подал повод для возможного флейма.
Наверное зря.
Надо бы что то сделать чтобы его не было.

Ну что попробую.
Скорее ты не соврал про только метод Эйлера в симах а либо запамятовал либо
не знал про другие альтернативы.

Кстати да в некоторых сложных ситуациях подходит  ( с сохранением более менее с разумной сложностью кода)
только один трюк с методом Эйлера ( но только не стандартным а с неявным методом Эйлера)

Ну не буду тут вдаваться в детали.  

ибо если ты не программируешь симы это тебе и ни к чему а мне напрягаться писать объяснения  c залезанием в тяжелую математику ;-) надо сказать тяжко......


но даже как аргумент - в той статье что залинкована ( статья по кватернионам ) используется для интегрирования  некий метод второго порядка ДЛЯ авиасима

ну не думаю что они там были совсем не в своем уме ;-)


Но в любом случае
что бы ты понимал
скорее моя реакция  не на твой ответ и отношения к тебе.
а на то как ты разговаривал с Ковалентом по поводу твоих знаний. В одном из  топиков недавно.....

да и твои давнии давнии  высказывания по поводу динамики в flighgear меня как то никогда не приводили в восторг ....

так вот - каждый может что то не знать и в чем то ошибаться.

Но не причина лезть на рожон (тебе да и  кстати и мне тоже)

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

например ну уточнил бы тогда то что бы как ты говоришь
интегрировать 6 скалярных уравнений движения их еще
разложить надо бы в уравнения первого порядка... чтобы применить метод Эйлера.

может FilippOK не знает а может и знает....

но согласись переход от диффуров второго порядка к
системе OДЕ  как то не прозвучала.....

Короче Zeus

давай ка мы не будет ругаться а?
если ты будешь отвечать FilipOk
это будет здорово.

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

Так что надеюсь ты мои высказывания ты не примешь  на свой счет ;-)

FilippOk
09.10.2002, 06:56
Привет всем!
Сразу оговорюсь: я в инете только по ночам, причём по очень поздним ночам, под утро. Вот как сейчас. Такштааа...  :( Подискутировать мы не могём.
Spaceman ! Однозначный решпект! Ответы понятны.
:D Ещё бы, на пальцах всё...
С мылом пока погодим, ладно? Чисто по моим техническим промблемам. Пару дней, ок? К тому же, раз ответило уже четыре (!) человека (а я, признаться, мало надеялся и на одного специалиста...), значит, всё же интерес есть.
"Думаю к вечеру накропаю тебе кое что и сброшу . Для дальнейший обдумываний."  :confused:
Это в смысле пример такой программы есть? Очень бы хотелось посмотреть.
Не удивляйся, я не смог пока ничего накопать по указанным ссылкам. Во-первых, там всё по-английски, а я понимаю ровно половину слов.  Во-вторых, из того, что понял, там дают файлик. *.tgz. Взял, раз дают. Чем их едять?  :confused:
И ещё. Как это ни горько, особыми знаниями ни в математике, ни в авиации я, увы, блеснуть не могу. Ну не математик я, и жонглировать дифурами (которые искренне ненавижу) не могу. Но простые вычисления мне подвластны.  :)
То -exec- 228 ShAD:
1.  С телом - понял. Спасибо. Уже начал. Правда, пока что это куб, на высоте 1000 условных единиц, с нулевой скоростью. Отсель и бум скакать.
"во втором приближении рассматриваемый объект наделяется моментом инерции вращения, а к силе добавляется результирующий момент сил. механика та же, только обозначения другие. "
Про моменты, плз, поподробнее, не понял. Что значит "наделяется"? У тела в полёте всегда есть момент вращения? Почему? И к какой силе добавляется результирующий момент сил?
"как с ними работать? хз. можно момент силы разложить по осям, и поделить на соотвествующие инерции вращения. может народ так и поступает, обычно. "
Не понял. Как момент раскладывается?Сегодня днём покопаюсь...
"но на самом деле инерция вращения описывается тензором I (матрица 3хер3, афаир симметричная), и из этого тензора можно шустро достать скаляр..."
Вообще не понял.
"3. если ты ваяешь свой графический класс трёхмерного тела, то чтобы его раскрутить нужно: "
Перевод из системы координат в систему координат. Тяжело, но можно. Только опыта нет. Возиться - долго. Надо быстрее с этим разобраться, чтобы перейти уже к математике. Поэтому буду искать примеры, видимо, и уже из них чего-то ваять. Самому так быстрее разобраться можно, нежели с нуля начинать. Правда, и ошибок чужих можно наловить...
Что такое катернион я пока не знаю.
5. "с двигателем сложнее. можно взять мощность за грубое приближение, но тогда у тебя самолёт не сможет взлететь (потому, что не сможет тронуться, потому, что в начале полосы скорость нулевая). "
Хы. Точно. Как же это я...  :(
Придётся мощностные характеристики искать..... Ё. :p
6. Ясно. Всё понятно. Спасибо.  :)
7. Таблицы Брадиса. Пишется с большой буквы. А то Брадис обидится.  :) Тоже понял. Надо обдумать. Спасибки. Идея, какая-никакая...
8. когда хотел рассчитать, намеревался посмотреть готовые калькуляторы закрылков. отсюда бы я получил изменение аэродинамических коэффициентов, подъёмную силу, а дальше - очевидно. обычно ГО находится сравнительно далеко от центра масс, если, конечно, глядеть на самолёт сбоку. я бы взял момент от этой аэродинамической силы, которую бы хранил в таблице.
Вот тут бы ещё более подпробно бы, а?  :rolleyes: Что такое ГО? Как посчитать подъёмную силу? Как посчитать аэродинамические коэффициенты? А если НЕ очевидно?
Про "Опа". Сдаётся мне, я всё же был пряв.  :D Всё равно мы на первом курсе посчитать этого нормально  не  могли.
В общем, действительно, кое-кто был пряв.  :) Ты крут, великий -exec- 228 ShAD! Но я напуган...  :(

FilippOk
09.10.2002, 07:25
То Zeus:
1. Спасибо. И чего все так Дельфи ругают? Паскаль как Паскаль. Объектный , опять же ж...
Альтернативы нет. Переучиваться поздно.
2. Вот эти-то дифуры и нужны. В книжках они явно не даются. Вернее, поправочка: Я не видел. Вот уже две недели ищу.
А главное, моменты. Я нашёл. Для винтовых пока. Правда, там такиии е крейсеры... ух. Но информация  хоть по Ил-86 - это уже что-то!  Если это возможно... FilippOk@pisem.net
И ещё: переходы между системами координат. В каких из перечисленных учебников это лучше смотреть? Боюсь, не смогу быстро заказать сразу все...
Придётся по одному.
Что такое кватернион я не знаю. На мой взгляд, проще запретить поворот на 90 град. Т.е. на 89.99(9) повернуть самолёт может. А потом сразу идёт 90.1 град. Или это некорректно?  :confused:
Про нехватку данных - точно сказано. Боюсь, так оно и будет. Так хоть бы линейную-то модель накропать успеть! Защита в конце февраля...  :(
Про тягу: а что такое статическая тяга? И что такое Н и М? Задержку-то не проблема сделать...  Бум искать такие же материалы. За ссылку спасибо. Щас буду там всё выкачивать, что смогу.  :)
Про интегрирование дифуров. Да. численные методы рулят. Однако хочу как-нибудь извернуться без дифуров. Похоже, не выйдет.

FilippOk
09.10.2002, 07:35
Ну и наконец, То Spaceman:
Метод Эйлера активно изучается заново. Последний раз я его видел год назад. Не в восторге. Пусть бы уж сложно, но понятно....
Сейчас разбираюсь с мылом. Будет завтра работать. Пока что у меня ящик только принимает... :D.
Что же до диплома, то нужны детальные алгоритмы и примеры. Где их взять? В теории я уже закопался... :(
Завтра ночью напишу, что уже получилось.

exec228
09.10.2002, 10:03
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". и английский учи.

ПС. не пугайся, размер проекта зависит от степени приближения к реальности.

Spaceman
09.10.2002, 10:16
FilippOk

Лови интегрирование Эйлером..... как пример....
что касается tgz - WinZip должон помоч его разархивировать.... #возможно придется переименовать файл в *.tar.gz тогда #откроет ....там много увидишь и данные в XML
( в т ч для двигателей)файлах и как сделать двигатель и проч... а вот #пока #чтобы ты не пугался как будешь инегрировать методом Эйлера.....
что то типа рыбы .....

void classAA::AAComputeTranslations()
{
# # #
//Матрицы скоростей - влияет на рассчет #премецения -
//координатные оси - x вперед у вправо я вверх
//обозначение UVW в английской доке....
mVel.Set(0,0)= #0.0;
mVel.Set(0,1)= -vUVW(eW);
mVel.Set(0,2)= #vUVW(eV);
mVel.Set(1,0)= #vUVW(eW);
mVel.Set(1,1)= #0.0;
mVel.Set(1,2)= -vUVW(eU);
mVel.Set(2,0)= -vUVW(eV);
mVel.Set(2,1)= #vUVW(eU);
mVel.Set(2,2)= #0.0;

//forces are in body local coords ....

# #vUVWdot = ## # #(mVel*vPQR + vForces/vd_dMass); //Equation 3.18 -3.20 of NFSNET ...)
//see also page 471 of Bushgens book,
//So these are equations of motion in respect to roatating with the body
//coordinate system.

//vUVWdot is VECTOR other named with prefix v are also VECTORS

## # # #worldMatrixofBody.GetSubMatrix3x3(&mat3);
//worldmatrix of body is the smae as rotation matrix see code below with last 4 th column set to vXwYwZw so mat3 is just
rotational submatrix of matrix mat only mat and worldmat of body are 4x4 and mat3 is 3x3

//we transfer #the local velocities into world velocities ....

#vUwVwWw = #mat3*vUVW;





# vXwYwZw += (vUwVwWw*dTimeStep);//world position
// in delfi wil look like
// vXwYwZw := vXwYwZw+ (vUwVwWw*dTimeStep);



}


//-------------------------------------------------------------------
//--- Rotations
//---
void classAA::AAComputeRotations()
{


//--- compute moments which will be passed to Body rotation
.......
//now сompute #local angular velocities
vPQRdot(eP) = ((Iyy - Izz) / (Ixx))*vPQR(eQ)*vPQR(eR) + vMoments(eL)/Ixx;
#vPQRdot(eQ) = ((Izz - Ixx) / (Iyy))*vPQR(eP)*vPQR(eR) + vMoments(eM)/Iyy;
#vPQRdot(eR) =((Ixx - Iyy) / (Izz))*vPQR(eP)*vPQR(eQ) + vMoments(eN)/Izz;

// on notations ( eQ eR etc ...) refer to NFSNET doc ....
//angle
vPQR += # # #(vPQRdot)*dTimeStep;

//vPQR := vPQR+ (vPQRdot)*dTimeStep;


//Now integrate quaternion ....

qCurrent.IntegrateQuat(vPQRdot,qlastQdot,dTimeStep);


//get current matrix of the body

# # # mat =qCurrent.MatrixFromQuaternion();

//get Euler angles from matrix ( will be used in visualisation ....
//as OPenGL etc uses Euler angles to roatate a body ...

vEuler = qCurrent.CalcEuler(&mat);



# #cTht = cos(vEuler(eTht)); # sTht = sin(vEuler(eTht));
# #cPhi = cos(vEuler(ePhi)); # sPhi = sin(vEuler(ePhi));
# #cPsi = cos(vEuler(ePsi)); # sPsi = sin(vEuler(ePsi));






# if ((cTht <epsilon) && (cTht > - epsilon))
{
# # # # if ## # #(cTht < 0.) cTht = #-0.000001;


# # # # # # # # #else cTht #= 0.00001;
}

//compute #Euler angles #velocities

# vEulerRates(eTht) = vPQR(2)*cPsi - vPQR(3)*sPsi;
# # #{


# # #tTheta = sTht/cTht; # # # // what's cheaper: / or tan() ?
# # #vEulerRates(ePsi) = vPQR(1) + (vPQR(2)*sPsi + vPQR(3)*cPsi)*tTheta;
# # #vEulerRates(ePhi) = (vPQR(2)*sPsi + vPQR(3)*cPsi)/cTht;
#
}


}

Spaceman
09.10.2002, 11:53
Кстати вот для С++ #библиотеки
матриц и проч.....

очень много чего #можно взять тут

http://math3d.sourceforge.net

и тут

http://plib.sourceforge.net

ну последнее вообще помимо математики и др #полезных вещей и даже с графическим движком.....

но на С++ ....... на дельфи.... ну ищи я не знаю что то подобное на дельфи.... хотя если покопаться на

http://www.delphi3d.net

наверное можно накопать из примеров что то...... не знаю никогда не пробовал копаться в их коде....
и полазить по их ссылкам (links)

я же увы .... все  делаю на C++ .....
даще сейчас в основном на UNiX aх .......
так что специфику C++ Билдера при случае не подскажу......

хотя вот преимущестов С++ - мой код компилируется в windows microsoft VC ......

так что когда один и тот же код бегает на Irix Linux и Windows ( пусть с мин переделками системных вызовов создания окна..) это здорово.... с дельфями .......

а между прочим как раз симуляции бегают в ОСНОВНОМ на  unix-aх это так на будущее......

Zeus
09.10.2002, 13:46
А знаменитый динамик! Знающий всех разработчиков по именам и отчествам :-)

Учитесь читать (с) :) Разработчиков ЦАГИ, сделавших мат. модель к тренажеру, о котором была речь. Попрошу не передергивать (вместе с тов. Ковалентом).


Кроме как бы я все же не соглашусь с
тем что сейчас до сих пор основное моделирование идет на фортране ( может объем кода и больше всего остального ....) но сейчас... да нет почти никто это уже не использует..... по крайней мере очень редко встречается....

Увы (а может, и не увы?) - используют. Меня прямо-таки заставили, например. Фортран для параллельных задач, правда.



что касается запутаешься. То С++ можно использовать так же как Дельфи. один в один. Не залазя особо в указатели......

Глубокое и очень распространенное заблуждение. Начиная с того, что в Паскале (будем говорить именно о Борланде) указатели есть. Но главное, что сила Паскаля, дающая гораздо меньше возможностей "запутаться" и наделать ошибок, именно в ограничениях! На Си можно и так, и так - и это иногда подводит (банальный пример - пропуск равенства в условии: if (a=2)... - вполне корректное для компилятора выражение, но наверняка не то, что хотел автор).

Вообще, предлагаю не развивать тему, бо оффтопик.



Во первых в симах реального времени если они
' модульные' действительно лучше использовать
так наз одношаговые методы интегрирования.

Но это далеко не один метод Эйлера.......

Ну да, конечно. Спасибо за поправку. Конечно, я имел в виду вообще одношаговые методы. Извернуться, впрочем, и здесь можно, но не нужно. Тем более, для FilippOk.



то если ты возьмешь симулинк сделаешь там схемку -
экспортируешь ее на C и запустишь - то ты увидишь и
применение методов Рунге Кутта и проч.... с
изменяемым входными значениями....


Симулинк - по умолчанию не система реального времени. Методов же можно наворотить много (и они там есть в изобилии). Для real-time же с участием "живых" входов "шагать" назад во времени (для уточнения) не имеет смысла или нельзя, а вперед - точно нельзя. Лучше брать текущее значение входа с той частотой, с какой можем, и интегрировать. В любом случае, все навороты будут за рамками обычного диплома.



ибо если ты не программируешь симы это тебе и ни к чему а мне напрягаться писать объяснения  c залезанием в тяжелую математику

Я сейчас опять симы программирую, правда, сугубо научные, и наобъяснять сам много чего могу. Но мы ведь не друг другу объясняем, а пятикурснику. Не надо забываться :)



скорее моя реакция  не на твой ответ и отношения к тебе. а на то как ты разговаривал с Ковалентом по поводу твоих знаний. В одном из  топиков недавно.....

да и твои давнии давнии  высказывания по поводу динамики в flighgear меня как то никогда не приводили в восторг ....

Ага, т.е. на отношение все-таки ;) А разговаривал я не хуже, чем он со мной.

С FlightGear я, напоминаю, разбирался где-то в 1999/2000. Вполне допускаю, что что-то могло кардинально улучшиться за прошедшее время. Но тогда он меня совершенно не вдохновил, хотя мне тоже всего лишь надо было написать диплом :) Я оттуда позаимствовал некоторые графические приемы, да, вроде, и все. Движок там был... ну, не на школьном, конечно, уровне, но все же не выше средне-студенческих рамок. Привлекателен разве что сам проект свободного симулятора.




например ну уточнил бы тогда то что бы как ты говоришь
интегрировать 6 скалярных уравнений движения их еще
разложить надо бы в уравнения первого порядка... чтобы применить метод Эйлера.

Уточнять можно бесконечно. Не учебник же писать, в конце концов. Будут вопросы в верном направлении - уточним.

exec228
09.10.2002, 14:03
дельфи как таковой плох тем, что:

1.диктует методы проектирования от окна к приложению, и хранилищам, что может быть не лучшим подходом.

2.следовательно, круг задач, решаемых на дельфи, несмотря на номинальную мощность, сравнимую с любым другим профессиональным языком, ограничивается единственным преимуществом этого инструмента перед остальными: Visual RAD - быстрое клепание конечного приложения, работающего с хранилищами, с сомнительным качеством кода. большинство плагинов на дельфи имхо посвящено именно этой задаче, плюс феньки декорирования интерфейса. фриварные часики с будильником, сидящие в системной области панели задач весом полтора мегабайта - это самый яркий пример дельфийского продукта.

3.дельфи так же является закрытой системой по причине уникальности стандарта Object Pascal, пропагандируемого только одной фирмой, ну максимум двумя (см. Free Object Pascal Compiler)

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

в этом отношении БЦБ мне кажется более привлекательной системой, не являясь закрытой на импорт и экспорт по языку программирования (мировой объём кода на с и с++, включая библиотечный, мне представляется гораздо большим, чем у дельфи), и в то же время, пользующийся несомненными положительными качествами дельфи.

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

хотя для тебя, FilippOk, изучение языков Си и Си++ сейчас будет рискованной тратой времени на фоне диплома.

это моё хо такое, хотя и не уместное.

Zeus
09.10.2002, 14:28
То
2. Вот эти-то дифуры и нужны. В книжках они явно не даются. Вернее, поправочка: Я не видел. Вот уже две недели ищу.

Даются в любой из тех, что я назвал.


А главное, моменты. Я нашёл. Для винтовых пока. Правда, там такиии е крейсеры... ух. Но информация #хоть по Ил-86 - это уже что-то! #Если это возможно... FilippOk@pisem.net

По 76. По остальным может не все быть, обычно либо для продольного, либо для бокового движения есть комплекты. Это от тех случаев, когда кому-то курсовые делал ;) Постараюсь выслать на днях. Ставь пока себе Mathcad 2000 Professional или более поздний.

П.С. Впрочем, можешь уже сейчас часть забрать с http://airbase.ru/users/zeus/index.phtml - только не забудь скачать и установиьт Fonts.zip!


И ещё: переходы между системами координат. В каких из перечисленных учебников это лучше смотреть? Боюсь, не смогу быстро заказать сразу все...
Придётся по одному.

Да они взаимозаменяемы, в принципе. Про Бочкарева точно помню, что где-то на 20-х страницах, в разделе о системах координат, все есть. Но сам учебник Бюшгенса/Студнева мне больше нравится.


Что такое кватернион я не знаю. На мой взгляд, проще запретить поворот на 90 град. Т.е. на 89.99(9) повернуть самолёт может. А потом сразу идёт 90.1 град. Или это некорректно? #:confused:

Все некорректно (любая дискретизация), вопрос, в какой степени :) С углом как масть ляжет. Ходит история про одного летчика-испытателя (Ильюшин?), который постоянно привозил отказы систем БРЭО на Су-24. Из-за того, что очень точно выдерживал курс захода на цель 90°, а там тоже в ПО какой-то косинус затесался :)


Про нехватку данных - точно сказано. Боюсь, так оно и будет. Так хоть бы линейную-то модель накропать успеть! Защита в конце февраля... #:(

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


Про тягу: а что такое статическая тяга? И что такое Н и М? Задержку-то не проблема сделать...

Ммм... Извини за вопрос, не в обиду, зачем ты именно авиасимулятор пишешь? Вуз, я так понимаю, не авиационный?

Статическая (или стендовая - это чуть разные вещи, но неважно) тяга - тяга на нулевой высоте и нулевой скорости в стандартных условиях. Базовая, так сказать, характеристика. Обычно именно она (как минимум) дается в ЛТХ.

Н - стандартное обозначение для высоты, М - для числа Маха (число скоростей звука, соответствующее данной скорости).


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

Да это ерунда. Тебе же не аналитически их решать надо, а интегрировать. А численное интегрирование - это просто много-много сложений :)

Вот, скажем, дифур равномерного движения: х"=0 :) x" - ничто иное, как ускорение. Соответственно, легко имеем скорость: x'=x'0 - константа, то бишь. И сама координата: х=x' * dt + x0. (Spaceman тут просил в первый порядок приводить - ну, вот :))
И что? задаешься достаточно мелким (но не слишком! вообще, это все профанация, просто чтоб не думал, что все страшно, в любом случае читай книжки по численным методам) шагом dt и крутишь в цикле:

х'=100; {m/s, например; a может быть что-нибудь похитрее, типа х'=x'+f(отклонение РУДа)-g(масса) - и далее по нарастающей :) }
x(новое)=х(предыдущее)+x' {только что посчитанное} * dt (заданное);
t=t+dt; { текущее время; если у тебя нестационарностей нет, то, считай, только для протокола }

Ну и все! Эйлер за работой :) Ты в каждый момент времени t имеешь и координату х, и скорость х' (не забудь только начальные условия до цикла задать). Можешь писать в файл, рисовать графики, показывать трехмерные картинки и т.п. :)

Spaceman
09.10.2002, 15:02
Глубокое и очень распространенное заблуждение. Начиная с того, что в Паскале (будем говорить именно о Борланде) указатели есть. Но главное, что сила Паскаля, дающая гораздо меньше возможностей "запутаться" и наделать ошибок, именно в ограничениях! На Си можно и так, и так - и это иногда подводит (банальный пример - пропуск равенства в условии: if (a=2)... - вполне корректное для компилятора выражение, но наверняка не то, что хотел автор).

Вообще, предлагаю не развивать тему, бо оффтопик.





Ну то что указатели в борландовском Паскале были #и есть это я в курсе - могу если очень #не поверите скинуть
кое какие проекты на Борланд Паскале датированные ажначалом 90x годов... как раз с исп паскалевских указателей.... проект назывался моделирование угловой стабилизации спутника с исп двигателей малой тяги......

А моя фраза возникла из за того что мой начальник тогдашнего времени не любил С.С++ и заставлял исп Борланд были именно указатели ( ибо в паскале в общем без них можно жить дольше чем без низ же в С) .....

Нда а по фортрану .. последний раз встречался с ним в #конце 80 х годов #.....;-) писал программку статичической обработки данных испытаний гироскопов..... к счастью больше не приходилось сталкиваться хотя пакеты подпрограмм ( #втч статистической обработки) меня тогда впечатлили...

ну да возвращаюсь к С++

так что я до сих пор считаю что самое тонкое дело в отличии паскаля и С++ именно в указателях

что касается типизированности... она присутствует в C++ в полном объеме ... при желании ее можно обходить.....

ну и наконец по сравнению двух величин в if

VC на такое ругается warning.
Так что заметить можно.........


А вообще Zeus.

Да пожалуй я продолжу общаться с FilippOk а вот с тобой не смотря на твои жуткие знания позволь раскланятся.

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

ну да бог с тобой что ты такой.....

Просто я так же как и другие имею право выбирать.....
так вот я буду общаться дальше тут но с тобой по реже.

а что касается ошибок.....
ну да ладно... можно указать еще неточности в твоих текстах......
например можно поканючить в плане того что все же симулинк кое кем применяется именно для риал тайм приложений причем ПРОМЫШЛЕННЫХ
см http://www.add2.co.uk/MicroGen.htm

ладно.... проехали.....

Очень надеюсь что мы с тобой больше пересекаться в спорах тут не будем.
Просто по тому что я например прихожу общаться на форум с живыми людьми с эмоциями а не перманентно надутыми мм сухарями......

An.Petrovich
10.10.2002, 01:42
Во блин... #:eek:
Читаю, мужики, и охреневаю просто - как же все, оказывается, сложно то... #:rolleyes:

2 FilippOk: и все-таки Zeus #в чем-то прав... Понятно, что при желании можно всё, но... мне показалось, что ты пытаешься взяться за задачу, масштабы которой представляешь себе не очень хорошо... Единственное, чем могу дополнить уже прозвучавшие рекомендации - подумай как можно было бы сократить ТЗ. Скажем, моделирование одного только продольного движения (безо всяких там шасси) уже вполне тянуло бы на диплом, и при этом на порядок упростило бы тебе жизнь.


Сорри за оффтоп. #

Удачи! :)
An.Petrovich, =103= ЦПВЛ

Zeus
10.10.2002, 10:31
Spaceman, я, с вашего позволения, проигнорирую ваши нападки и не буду, в свою очередь, указывать вам на ваши ошибки. В конце концов, не для того топик заведен. Мы и так достаточно нафлеймили. Только одна просьба:



например можно поканючить в плане того что все же симулинк кое кем применяется именно для риал тайм приложений причем ПРОМЫШЛЕННЫХ
см http://www.add2.co.uk/MicroGen.htm

Еще раз прошу: учитесь читать! (да и писать тоже). Я же сказал: "по умолчанию". RTW - это отдельное дополнение к Симулинку. И при его использовании все ограничения, о которых я написал, налагаются. К сведению, я вообще использовал Симулинк практически исключительно для реального времени (тренажеры все-таки).

Spaceman
10.10.2002, 12:08
Spaceman, я, с вашего позволения, проигнорирую ваши нападки и не буду, в свою очередь, указывать вам на ваши ошибки.

Напрасно - анализ ошибок - он полезен если ошибки по теме.....
на самом деле в моих первых постингах были да некоторые не сильно 'теоретически' обоснованные высказывания......
особ по набору табличек к двигателям где я намешал и числа Маха и вещи которые УЖЕ это число как характеристика включает - на то я и говорил 'мои пять копеек'.... ибо я вообще то не аэродинамик.....

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

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

Так что
ну дык я и не говорил FilippOk сделай так и сяк и это будет правильно....

Ну и наконец так же не вел научных споров с тобою ;-)

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

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

и почему несмотря на весь это ужас размытости в то же время можно делать эффективные шаги и выводы.....)
так вот http://www.vernikov.ru/bir_index.htm

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

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

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

но меня это не огорчает... я знаю свой уровень знаний и свой уровень ителеекта - оба таковы что я чувствую себя комфортно делая ошибки...

Понимаешь..... интеллект вещь более менее константная......
так что если я иногда туплю - он у меня не уменьшается.......
так же как и мои способности ;-)

а главное интеллект вещь многогранная....

Вот взять того же Эйнштейна.... пусть он простит нас - у него IQ был 145 - что в проц отношении встрачается где то у одного из тысячи человек.......

тем не менее

а) его считали тупицей в школе ибо он 'тупил' путая вещи.....
b) есть люди с IQ куда большим 145 ( аж переваливающим за 200 единиц....) но ничего подобного Эйнштейну не
наваявшие.....

не буду тут вынимать на свет всех талантливых людей которые с обыденной точки зрения полные тупицы....
думаю одного примера достаточно ...

так вот.....

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

так что если человек не так натянут в 'в абсолютно достоверных фактах' как это делаешь ты это совсем не значит
что это чем то плохо..... это плохо в твоем мировосприятии....
и для тебе проблема что ты ее не отделяешь.... моя точка зрения и 'положение вещей как оно есть"

Поэтому я позволю себе и читать тебя как я считаю нужным ( а не как ты пытаешься мне навязать - читай меня так и читай меня эдак - извини - если ты ориентируешься на меня - то пиши так чтобы я тебя понимал... ;-)

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

ну к примеру также возникают мысли что почему flighgear будучи замечательным симом в динамике для поставленных для него целей стал в твоих высказываниях плохим только потому что тебе на диплом на квалификацию по западным меркам Master of Science почти не было чего содрать......

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

мм  я ежели посмотреть для чего он создовался....он для этого не создавался поражать твое изощреное внимание.........и вообще чье то воображение ( и спецов тоже.... )

тем не менее он выполняет те функции для каких он создавался - почитай goals скажем того же JSBsim.......

в этом смысле вводя свои критерии для чего то а потом хаять..... нда тут простор для творчества широк.........

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

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

после чего ты заявил что оказывается в риал тайм приложениях катит один Эйлер ......

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

а ему как бы тонкости ни к чему....

нда ......то что как бы ты походя сразу проехался по моим высказываниям.. ты не заметил....

ну ладно. вот как бы. Не хотел я все это развивать ..... а все что то вот тянет сказать. Но поскольку действительно у нас с тобой разговор ну ни как не клеится.... наверное я зря тут еще выступаю пытаясь

более того говворя 'не точные факты' но на как бы выражаясь больше на уровне ощущений

пытаясь до нести свои мысли по поводу.... .....

может все же не донес ну .....

вообще....я всегда надеюсь тут выступая.....
что может через годы у кого то эти странные 'флеймы' тут
вырастут в некое понимание нечто такого.... что будет помогать по жизни...... так что может я и зря высказываюсь в адрес тебя..... ты уж извини.... к тебе у меня ей же ей нет претензий - ты на самом деле толковый парень.... правда со спецификой....

но вот думаю все же ( даже если пара ребят) извлечет из
этого топика для себя пользу ( не только по поводу динамики самолета) будет хорошо.....

exec228
10.10.2002, 13:14
Spaceman, Zeus, ваш вялый вежливый флейм утомляет. Мне кажется, что каждый из вас не совсем понимает, чего хочет достичь в диалоге. Иными словами - не конструктивно.

Zeus
10.10.2002, 13:14
Ох... Если так хочется порассуждать о жизни - может, стоит завести другой топик? И в другом форуме? Правда, я в другие не заглядываю... ;) Потому оставлю здесь только более-менее релевантные детали.



ну дык я #и не говорил FilippOk сделай так и сяк и это будет правильно....

Справедливости ради, такого рода высказывание у меня было только одно: не слушай других о языках и пиши на том, что умеешь. И это, как все отметили, в данном случае правильно. Я и впредь прошу FilippOk игнорировать наши околоязыковые танцы. Тем более тема эта старая и очень флеймогонная. Не говоря об оффтопичности.



То что ты гордишься 'правильностью' #и указываешь на то что якобы я не умею читать твои тексты понуждая воспринимать их формально...

Да, я предпочитаю, чтобы мои тексты, особенно технические, воспринимали формально :) Меньше кривотолков.



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

Я как раз не тыкаю. И ошибку я указал по большому счету только одну - "что на Си можно писать как на Паскале". Это действительно ошибка. Точнее, заблуждение. Искренне желаю вам от него избавиться.



ни не точность высказываний ни путание чего либо
явным образом не говорят # ни о злонамеренности ни о
'порочности' ума #и желания именно как ты говоришь #передергивать факты...

О господи, уж я-то никак не давал оценок ни вашему уровню интеллекта, ни знаниям, ни намерениям. Поверьте, я их не умалаю.



и что это как бы передергивание - #должно иметь тот 'вес' отрицательности который ты ему присваиваешь в своих суждениях...

Ну так если это приводит к превратному пониманию при достаточно ясном, как мне кажется, изложении... Что это иначе?..



Поэтому я позволю себе и читать тебя как я считаю нужным ( а не как ты пытаешься мне навязать - читай меня так и читай меня эдак #- извини # - если ты ориентируешься на меня - то пиши так чтобы я тебя понимал... ;-)

Пожалуйста, читайте как угодно, хоть задом наперед. Но за последствия в этом случае я ответственности не несу :)



к примеру возникают мысли что почему flighgear будучи замечательным симом #в динамике для поставленных для него целей стал в твоих высказываниях плохим только потому что #тебе на диплом на квалификацию по западным меркам Master of Science почти #не было чего содрать......

Ну вот опять... :( Я где-то сказал, что он плохой? Я же так и сказал, что он меня "не вдохновил". Я был в то время примерно в том же положении, что и FilippOk сейчас, и рассматривал FlightGear именно как возможную платформу для своей работы. И отверг. А как к игрушке у меня не было к нему никаких претензий (потому что я в него не играл :)).
Да, я изучал тогда трехмерную графику практически с нуля - и потому некоторые идеи мне показались полезными. А динамику и моделирование я к тому времени в какой-то мере знал и мог оценить. Естественно, со своей колокольни. Резюме вполне очевидно и совершенно не обидно: для мало-мальски серьезных исследовательских целей движок FlightGear не подходит. Точка.



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

после чего ты заявил что #оказывается в риал тайм приложениях катит один Эйлер ......

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

Ну вообще-то вы получили благодарность за поправку, не увиливайте :) И уже потом ремарку, что все это хоть и правильно, но в данном случае не нужно. Али не так?

Zeus
10.10.2002, 13:19
Spaceman, Zeus, ваш вялый вежливый флейм утомляет.

Все, впредь обещаю. (с) :)

Zeus
10.10.2002, 13:35
Да, насчет библиотеки векторно-матричной алгебры... У меня есть некое подобие оной для Дельфи. Пытаюсь приаттачить. Это часть чьей-то расширенной реализации OpenGL.

Но, еще раз хочу повторить свою мысль. Мне кажется, FilippOk, что было бы полезнее и даже быстрее тебе написать все необходимое самому. Это не так уж много. Просто используй этот (и любой другой код) для справок. Вот, дошел до того, что тебе надо матричное умножение, посмотрел в модуле - ага, они сделали так-то; вроде ничего, можно себе взять. Или, наоборот, лучше самому написать - как получится. Скакать, в любом случае, надо от ядра. А там по ходу дела сам увидишь, что будет нужно.

FilippOk
11.10.2002, 04:17
Всем Вам спасибо за ответы! Взялся ваять. Не отступлю, пока капитально не упрусь во что-нибудь ступорное. Тады и бум думать.
Примерную задумку проекта Проекта мне сдавать в следующий четверг, на следующей неделе, то есть,  такштааа... успею понять, что я могу, а чего нет, я думаю. А вообще до февраля вроде ещё далеко, защита где-то 15-20-е числа февраля... Вроде немало.  
Zeus!Спасибо за разъяснения и библиотечку, щас буду смотреть. OpenGl немного, но знаю, вдрюг что получится. Хотя я уже почти решил делать схематичную модель. Неполигональную, просто оси крутить, а модель(очень-очень упрощённую) задать табличкой. Пока что. Для начала. Будем иметь оси и хотя бы основную математику - будем разбираться с визуализацией.
Вроде, пока всё ясно, хотя все предложенные здесь методы имеют нюансы, которые надо смотреть в книжках, иначе если я их у вас спрашивать начну... вы меня бросите все, скажете "неуч и тупица".  :( Ну совсем всё позабывал.
Дико звиняюся, не могу более детально написать, что у меня получается пока, некогда, да и ночь на дворе, а мне до утра надо такую работищу проделать...  :eek: не только по диплому... поднакопилось тут, по практике, надо отстреливаться.
Отдельное спасибище -exec- 228 ShAD.   НУ НАСТОЛЬКО всё на пальцах расписать... уже, в принципе, готовый план проекта мне накидал. Ух. По нему и буду работать.
Вся эта ветка у меня сохранена, хоть сейчас на принтер и...  ЗдОрово, спасибо.
2 Spaceмan! Чуть поднее напишу ответ мылом. Пока думается... Рыба пригодится, я думаю, не уйти от неё... Бум думать. Завтра отвечу, ок?  :rolleyes:
P.S. Не ссорьтесь. Spaceman - умён, а Zeus - мудр. Причём первое не исключает второго.  И то, и то - надо! Так зачем выяснять, что важнее?  :D
P.P.S Временные перебои со связью. Могу пропасть на денёк. Но в любом случае, буду держать в курсе, что получается, пришлю свою "заготовку" для ДП. :D

Spaceman
11.10.2002, 12:46
To FilippOk

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

кстати может все же пойти для начали хитрым путем.....
попросту

Перемещениеdotdot = Суммарная сила/ массу;

Уголdotdot = Суммарный момент сил вокруг оси / момент инерции по соотв оси

....

оно конечно не правильно....

зато уж сразу туда куда надо....

а если все это будет готово то расширить 'правильными' перемещениями и вращениями будет куда легче чем их сразу засовывать в 'умном' виде.....

exec228
11.10.2002, 15:06
dDeltaS = dForce / dInertia ?
spaceman, ты чему детей учишь? :)

если делать аркаду, то хоть бы объяснил, что dDeltaS = cdMaxSpeed * dThrottle *dDeltaTime, где 0.0 <= dThrottle <= 1.0
:D

BALU
14.10.2002, 12:29
dDeltaS = dForce / dInertia ?


А я думал dForce это спецназ такой.... :D

Bor
21.10.2002, 15:50
Есть открытый графический движок для Дельфи.
http://glscene.sourceforge.net/index.php
Вообще думаю, по большому счету, все равно на чем писать. Можно и на Бейсике писать и на Фртране, кстати, большой объем математического кода на Фортране объясняется чисто историческими причинами. Но ИМХО С++ лучше, он больше распространен, да и удобнее для программиста, а на Дельфи зато удобнее писать интерфейс с пользователем. Я лично, в своей работе так и делаю.
Связь с УСО и математику на С++, а отображение и т.д. с оператором на Дельфи. Ведь в итоге для, отображения объекта, надо иметь всего 6 чисел. Это и должен давать модуль мат. модели.

exec228
21.10.2002, 18:19
феня в минимизации каждого этапа одного цикла.
это и математика, и графика.
так что придётся оч внимательно следить за тем, не затормозит чужая, но универсальная (потому, возможно более медленная) графика. в лучшем случае действительно стоит найти графику оптимизированную под симуляторы реального времени.

Yo-Yo
21.10.2002, 18:25
2 Filippok

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


Будешь писать - не забывай, что угол атаки оперения, например, (да и крыла) он еще и от скорости вращения аппарата вокруг ЦМ зависит.

А самое сложное - найти кривые для Су и См ВО всем диапазоне углов атаки - очень редкая вещь. Возможно, что дорисовывать придется.

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

Yo-Yo
21.10.2002, 18:35
А вот и "костыль"
http://www.astro.ku.dk/~norup/vertigo/src026.zip

Там еще где-то и вся математика раньше была описана, если автор не снес.

И посмотри, что пришпилено.

Yo-Yo
21.10.2002, 19:03
А вот ссылка на моменты инерции
http://www.flightsimdownloads.com/pub/FlightDynamics.pdf

FilippOk
21.10.2002, 23:26
Yo-Yo !   Спасибо,  уже смотрю. Чужой движок брать не хочется: 1 - нехорошо, надо своими мозгами думать, 2 - ничего особо вычурного мне не надо, 3 - а надо только схематичный многоугольник повертеть вокруг трёх осей.
Но чтобы самому даже такое простенькое "верчение" налабать, примеров на до ну просто море... так что в кассу, спасибо ещё раз.
Щас гляну.  :rolleyes:

exec228
22.10.2002, 07:30
пилотировать будет трудно :) лучше в кабине сидеть.
тогда уж важнее ландшафт рисовать в виде плоской сетки. дёшево и сердито.

Yo-Yo
22.10.2002, 15:44
2 Fillipok

Попробуй еще и полетать в Vertigo - графика не Ил-2, конечно, но F-4U летать - запаришься. Он и штопорит еще!  Бывает, что и вывести успеваешь. А взлет - просто праздник какой-то.
Автор, кстати, описывает построение модели, может и пригодится.

Можно летать мышью и даже на 386!

Я на нем даже садиться измудрялся... раз несколько. Так что счет примерно 3:2 в его пользу.

FilippOk
23.10.2002, 05:46
Yo-Yo! Полетать не получилось. Ну нет у меня Си. Жааалко...
Описашки там нашёл, но они англицкие. С англичанским плохо. На русском надо. С английского я перевожу, но долго. А надо, чтобы сразу и всё.  :D
Нету ничего на русском?
Сейчас пока пытаюсь заставить кубик просто двигаться. Не получается пока. Блин, вот что значит отсутствие опыта написания графического отображения математики...

Bor
23.10.2002, 08:51
Филипок писал:


Yo-Yo !   Спасибо,  уже смотрю. Чужой движок брать не хочется: 1 - нехорошо, надо своими мозгами думать, 2 - ничего особо вычурного мне не надо, 3 - а надо только схематичный многоугольник повертеть вокруг трёх осей.  

Я думаю ничего нехорошего, в том, чтобы взять открытый движок нет. Кроме того можно не брать его, а просто посмотреть. И оптимизировать под свои нужды. Открытый код для этого и открыт. Это даже полезно, можно многому научиться, как надо писать или наоборот, как не надо писать программы.
Есть онлайновая книжка Игоря Тарасова, где рассматриваются приемы работы с ОпенГЛ http://opengl.org.ru/, книжка на на русском. Кубик там рисуется элементарно, и вращается тоже. Потом если хочется можно легко расширить эти примеры до программы рисующей трехмерную модель самолета, заменой кубика на модель нарисованную в 3D Max. А на начальном этапе уделить внимаение мат. модели.

Spaceman
23.10.2002, 11:34
Поморщившись от того что человек Графику будет делать с пом  дельфи

spaceman все же выдавил из себя.....

http://www.delphikingdom.com/opengl/index.htm

Yo-Yo
23.10.2002, 16:33
Yo-Yo! Полетать не получилось. Ну нет у меня Си. Жааалко...
Описашки там нашёл, но они англицкие. С англичанским плохо. На русском надо. С английского я перевожу, но долго. А надо, чтобы сразу и всё. #:D
Нету ничего на русском?
Сейчас пока пытаюсь заставить кубик просто двигаться. Не получается пока. Блин, вот что значит отсутствие опыта написания графического отображения математики...


Зачем Си!!!
Там же есть уже готовый .EXE...


"Это ж Кэмел - его курить надо"  :D

FilippOk
24.10.2002, 04:10
Spaceman, спасибо, но я его уже активно изучаю. (Выкачал весь, млин)  :D
Правда, почему-то все пишущие в ОпенГЛ очень любят всякие красивости, а вот объяснить на пальцах, как проще всего сложный объект вокруг трёх осей покрутить... Ништяк, прорвёмся. ;)
А морщишься здря. Там таакие вещи налабать можно!... ух... :eek:

FilippOk
24.10.2002, 04:16
Там же есть уже готовый .EXE...

Нету. В том-то и дело. Нету. Есть bat-креатор, есть EXE-шник защищённого режима и всё.
Хотя... щас ещё посмотрю.
Слууушай... а его, случаем, не в ДОСе онли юзать надо?  :rolleyes: Ну-ка, ну-ка...

FilippOk
24.10.2002, 04:25
Bor! Я тоже думаю, что ничего нехорошего, в том, чтобы взять открытый движок нет. Просто я уже посмотрел несколько из тех, что мне любезно подсказали Spaceman,  Zeus и другие откликнувшиеся люди. Посмотрел  и пришёл к выводу, что разбираться в тонкостях чужой программы - себе дороже, очень уж долго. Можно взять лишь общую идею. Ну и взял. Со всех по нитке. Что получится - не знаю, но здесь обязательно вышлю и пошлю кому обещал.  ;) Пока результаты меня не устраивают.
Кроме того, зачастую программы пишутся совсем уж гуру своего дела и тогда... швах. Такие программы никто не разберёт.
Ну, а куб я уже двигаться заставил. Почти.  ;) Только теперь надо из куба самолётик сделать. Оказалось, что сложность модели возрастает в алгебраической прогрессии от количества вершин фигуры. У куба 8. У моей модели - 30-50. Ой-ой-ой... Но решабельно всё же.

Zeus
24.10.2002, 07:51
O! Я тебе на писем.нет отправил свой первый дельфийский проект на OpenGL - может, поможет. Там именно эксперименты, все линейно и никаких гуру :)

Часть (самолет) нарисована алгоритмически (там хоть сотни граней), есть и читалка dxf и objf, попытки текстурирования... Управление - стрелками/джойстиком и F1-F4.

Yo-Yo
24.10.2002, 14:36
Нету. В том-то и дело. Нету. Есть bat-креатор, есть EXE-шник защищённого режима и всё.
Хотя... щас ещё посмотрю.
Слууушай... а его, случаем, не в ДОСе онли юзать надо? #:rolleyes: Ну-ка, ну-ка...

Сходи выше, чем ссылка, что я постил, и там есть ссылка на исполняемый пакет. Даже со звуками и инструкцией. Он даже джойстик поддерживает. Аналоговый  ;)

Spaceman
24.10.2002, 17:00
Spaceman, спасибо, но я его уже активно изучаю. (Выкачал весь, млин) #:D
Правда, почему-то все пишущие в ОпенГЛ очень любят всякие красивости, а вот объяснить на пальцах, как проще всего сложный объект вокруг трёх осей покрутить... Ништяк, прорвёмся. ;)
А морщишься здря. Там таакие вещи налабать можно!... ух... :eek:

Повернуть вокруг осей
поверни

1)
void glRotated(
#GLdouble angle, #
#GLdouble x, # # #
#GLdouble y, # # #
#GLdouble z # # # #
);


сначало на один угол потом второй потом третий.....
только углы должны быть НЕ мировые а Эйлера.......

2)есть еще способ прямого задания матрицы поворота

вот ну например  как раз она получается на выходе из кватернионов.....

Но если все же

ты имеешь ввиду плавный поворот а не мнгновенный из одного положения в другое - то

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

задаешь кватернион нач положения потом кватернион конечного положения и #интерполируешься....
на выходе #получаешь матрицу вращения........

ты скажешь сложно......
вот потому и  не#приводится в простейших учебниках.....

>А морщишься здря. Там таакие вещи налабать
>можно!...

Можно , только тот же OpenGL не стоит на месте.....
и выпускаются расширения #и тд и тп.....
скажем те же nvidia и ati для разработчикво выпускают всяк фичи..... SDK всякие  так они на C++......
и доки  про них на C/C++

значит чтобы то же самое делать .... нужно это портировать......
а в NVIDIA SDK это десятки примеров и многомегабайтные бесплатные либы...... вот сиди и портируй...... себе в удовольствие.....
а
люди #предпочитают изучить С++ - себе дешевле.....

что касается вообще дельфей.
Вот после pascal Вирт выпустил Modula -2 Modula 3
Oberon.....
дык вот Modula -2 #куда как приятнее pascal ( доводилось программировать...) дык
как раз Борланд зарубил проект MOdula-2

а разработчики Modula-2 подались из Борланд  в J&P ( счас эта фирма правда благополучно почила в бозе...)
такчто говорить что delphi вещь хорошая.... нда ну если
промежуточный результат размышлений Вирта вещь хорошая....

если прибавить что большинство литературы по объектному анализу ( след где самая суть современного программирования рассказывается...)берут в свою основу изложения C++... и дельфи программистам просто недоступны ( тем кто не знает C++) получается парадокс если брать мнение тех кто считает pascal более более... так сказать теоретической то базы под это лучшее то НЕТУ.........
вещь в себе получается.... по типу очень неплохого Оберона.... который даже если захочешь изучить.....
наломаешь дров тк нет литры.... и доков.

Так вот крики о преимуществах языка....
это одно а когда
все тонкие концепции..... они описаны  с использованием #с++...

ну опять если про моделирование возвращаться...
те же численные бибилиотеки существуют в огромном колве и на С/С++
вот а на дельфи... в осн самопал....

ну и можно продолжать.... делая
вывод дельфи хорошая штука для оффисных прилад....
но для серьезного моделирования и графики  она плоха тем что

1) разработчики оказываются вне пространства
современных отработанных объектных идей и подходов.... изобретая велосипед каждый раз.....
2) мало библиотек в осн численного моделирования
3) мало примеров
4) плохая поддержка разработчиками вещей типа SDK и проч...
5) не очень высокая портируемость...


Вот и получается совершенно естественная кривизна усмешки - дельфи такой же продукт как и basic для создания быстрых прилад....
ну да.. можно его исп для чего то еще.... да и на фортране можно OpenGL использовать если на то пошло..... и на VB можно создавать #direct3d приложения.....

на самом же деле.....
куда ни кинь получается что использование дельфи в
сферах не лежащих в области создания интерфейсных приложений возможно......
но получается криво и сложнее чем скажем с исп языков которые БОЛЬШЕ для этого подходят......

Так что..... тут мне кажется   для меня  усмешка
обоснована тем что.... ну что можно....
как временное решение исп дельфи ......
пока не знаешь ничего другого.....

но если побороть лень и за пару недель
изучить C++ то жизнь в дальнейшем ( в той же программировании графики) будет куда #легче......

ну хотя я думаю делай пока на дельфи.......
только потом когда вуз закончишь и захочешь быть программистом что же по ТВОИМ критериям тебе подходит......

хотя можно конечно... можно интерактивно носом исп то что пропихивают ( навязывают) другие....
В этом есть нечто что у нас в ВУЗАх ( технических) преподают в основном дельфи... и на предприятиях его используют..... причем в пропорциях в десятки раз отличиющихся от того же за рубежом.......

так что я бы даже сказал
что то в этом дельфизме.... есть....  нечто из национальной традиции......

Zeus
25.10.2002, 11:44
Ну, от Spaceman'a спасу нет! :D Ну да ладно, лишь одно замечание по существу.


Повернуть вокруг осей
поверни сначало на один угол потом второй потом третий.....
только углы должны быть НЕ мировые а Эйлера.......

Тут есть маленький подвох. Есть только один единственно верный (в авиации) порядок поворота. А именно: сначала на второй угол (вокруг у), потом на третий (z), а потом на первый. В авиационной терминологии: сначала поворачиваем на угол рыскания, потом ставим тангаж, и только после этого - крен. Любая другая комбинация даст неверное положение.

Spaceman
25.10.2002, 12:29
Ну, от Spaceman'a спасу нет! :D Ну да ладно, лишь одно замечание по существу.


Тут есть маленький подвох. Есть только один единственно верный (в авиации) порядок поворота. А именно: сначала на второй угол (вокруг у), потом на третий (z), а потом на первый. В авиационной терминологии: сначала поворачиваем на угол рыскания, потом ставим тангаж, и только после этого - крен. Любая другая комбинация даст неверное положение.

Тут Zeus много подвохов....
единственно верного порядка поворотов #в авиации нету (по крайней мере в том виде в котором ты его описал).
Есть правда некии устоявшиеся стандарты скажем росссийские которые определеяют направления осей . Но стандарты какого то автора ( или даже гост россии на направление авиациооных осей если таковой существует) это не авиация в целом....

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


и вообще то #большинство ( из того что я видел) разворачиваются сначала вокруг оси z
так что набор поворотов #такой - вокруг z потом вокруг у потом вокруг x......

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


так что правильного Zeus много.....
и набор поворотов zyx
применяется в авиации и применен в залинкованном ( ранее) документе о написании авиа симулятора американцами ( тут #следуя твоим ( ну и моим)объяснениям #FilippOK может ##и запутаться ;-) #глядя в код западных авиасимов... как они там 'неправильно' #разворачиваются ....)


Но вообще раз тема затронулась для FilippOK #- почитай
http://mathworld.wolfram.com/EulerAngles.html
http://www.mathworks.com/access/helpdesk/help/toolbox/aeroblks/euleranglestodirectioncosinematrix.shtml

порядков задания углов Эйлера много ...
и всяк их по своему применяет...
и это в общем хуже всего.... путаницы очень много.

тут можно действительно отложить на память согласится #если уж и разворачиваться то всегда в одном заранее выбранном порядке.... и понимая что порядок разоворота - важен.

ну и наконец раз уж рысканье тангаж крен есть....
то их и держись...... они сами по себе #говорят куда они направлены :-)

хотя даже имея одинаковые названия они могут иметь в разных координатных осях разные знаки (для #конкретных углов)

Но вообще то
порядок поворотов и переносов в графике... это с чем еще столкнешься... там от того что сначала сделал перенос или поворот положение различается....
так что держи это в уме.... всяких #новых вещей которые непривычны для восприятия в программировании графики хоть отбавляй.....

Но кубик я думаю тебе просто надо для начала повернуть.....думаю когда дойдет дело до самолета разберешься #в порядке поворотов и углах Эйлера.

В принципе тут можно как бы подойти так - найти книжку в которой даны все нужные тебе уравнения в какой то кокретной системе координат. А далее уже посчитав в физической системе перевести в системы координат OpenGL либо путем - повернув систему координат окна ( или повернув камеру - придется изучить тогда функцию gluLookAt) так чтобы то что ты видишь в окне соответствовало напрямую твоим 'физическим' осям. или руками по смыслу переименовать  углы и координаты..... чтобы правильно отображалось.

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

Но вообще
с OpenGL в  смысле  связывания физических и координатных осей  дело обстоит довольно хорошо - в
OpenGL
правосторонняя система координат.
Поэтому перевести в любую другую правосторонюю
( в смысле по направлению осей)
можно привести путем поворотов ( те ми же glRotatef или glRotated.)

Вот программируй ты в direct3d
было бы еще немного запутаннее - там левосороняя система координат для отображения..

Ну что еще ... про поворот кубика смех смехом. Вот у меня диск забит примерами которые могли бы тебе помоч понять..... ну не про кубик но про многие вещи....
Но все на C или C++... не было нужды собирать примеры на дельфи.....

так что помоч мало чем могу....

Хотя на самом деле то что Zeus выслал тебе код должно тебе здорово помоч... фактически если что то работает... это уже считай самое сложное в #работе
пройдено....

Кстати - как simulink подход значит не пошел ? ( для других - предлагал в переписке)

или решил все же сконцентрироваться на #приложении
пусть с меньшей привязанностью к специальности но
с большей привязанностью к программированию?

exec228
25.10.2002, 13:47
это называется одним простым словом: умножение в матричной алгебре не коммутативно: A•B # B•A
(я равенство для надёжности два раза зачеркнул ;)).

spaceman: изучаю вопрос. скоро расскажу что ясно и чего не ясно.

Zeus
28.10.2002, 05:02
Тут Zeus много подвохов....
единственно верного порядка поворотов #в авиации нету (по крайней мере в том виде в котором ты его описал).

Есть. Вы же сами позже написали:

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

Да, оси бывают направлены по-разному. В русской традиции (пришедшей вроде как из немецкой чуть ли не от Лиленталя), ось Х направлена вперед, Y - вверх, Z - вправо. Кстати, в flightgear именно такая система - видимо, из-за его немецких корней. В американской традиции эта же система повернута вокруг Х на 90°, поэтому у них Y - вправо, Z - вниз. Поэтому по буквам поворот может быть действительно разный. Но по смыслу - всегда рыскание, тангаж, крен. По определению.
В MSFS вот вообще какая-то извращенная система координат, а порядок поворота такой же.


и вообще то #большинство ( из того что я видел) разворачиваются сначала вокруг оси z
так что набор поворотов #такой - вокруг z потом вокруг у потом вокруг x......

Это уж как оси направить. OpenGL в этом предоставляет полную свободу. Поэтому имеет смысл направлять их так, как принято в соответствующей науке. Я, соответственно, в своих программах по-русски направляю, Y вверх.

FilippOk
13.11.2002, 02:41
Собственно, надо расставить точки над "i". Увы мне. не справился я.  :(
Тему мне сменили. Проект закрыт.
Буду писать программку для автоматического синтеза астатических систем с модальным регулятором. Короче, система наведения первого порядка, рассчитанная на четыре секунды работы.
А что делать... Эх... Это уже из другой оперы, чистая математика.
Всем откликнувшимся - СПАСИБО ОГРОМНОЕ.  :)

Spaceman
13.11.2002, 19:05
Собственно, надо расставить точки над "i". Увы мне. не справился я. #:(
Тему мне сменили. Проект закрыт.
Буду писать программку для автоматического синтеза астатических систем с модальным регулятором. Короче, система наведения первого порядка, рассчитанная на четыре секунды работы.
А что делать... Эх... Это уже из другой оперы, чистая математика.
Всем откликнувшимся - СПАСИБО ОГРОМНОЕ. #:)

Ну что тоже тема интересная.

тут важно что - то что то что ты узнал тебе не помешает :)

а модальные регуляторы - вещь тоже нужная и в жизни пригодится ;-)  в том числе возможно если потом будешь заниматься симуляторами.....

в конце концов двигаться постепенно - мудро ;-)

вот собственно.