Тема: HELP!
Показать сообщение отдельно
Старый 02.12.2019, 10:46   #604
tarakan67
Местный
 
Регистрация: 15.09.2008
Сообщений: 2,180
По умолчанию

Цитата:
Сообщение от Vasya Посмотреть сообщение
Нужна помощь с кодом!
Нужно заставить правильно отклонятся елероны.
Вверх на 15 градусов, а вниз - на 25 градусов.
Этот код отклоняет правый и левый елерон на разные углы.
Код:
protected void moveAileron(float f)
    {
        float f1 = -(f * 25F);
        hierMesh().chunkSetAngles("AroneL_D0", 0.0F, f1, 0.0F);
        f1 = -(f * 15F);
        hierMesh().chunkSetAngles("AroneR_D0", 0.0F, f1, 0.0F);
    }
Есть такая конструкция для елеватора:
Код:
protected void moveElevator(float f)
    {
        if(f < 0.0F)
        {
            hierMesh().chunkSetAngles("VatorL_D0", 0.0F, -25F * f, 0.0F);
            hierMesh().chunkSetAngles("VatorR_D0", 0.0F, -25F * f, 0.0F);
        } else
        {
            hierMesh().chunkSetAngles("VatorL_D0", 0.0F, -18.5F * f, 0.0F);
            hierMesh().chunkSetAngles("VatorR_D0", 0.0F, -18.5F * f, 0.0F);
        }
    }
Можно ли её использовать для елеронов и будет ли желаемый результат?
В первую очередь спрашиваю знающих:
Игоря и Дмитрия(Асуру).
Если можно, посоветуйте пожалуйста как исправить отклонение елеронов на нужный угол.
Заодно и елеватор исправлю после совета.
Это для Хиенов, но такие конструкции можно прописывать
во все самолёты для верной работы рулевых поверхностей.
Ну, к знающим ты меня зря причислил(насчёт java кода). Насчёт руля высоты (Elevator) есть такое дело, что вверх и вниз он отклоняется на разные углы и конструкция кода, на мой взгляд дилетанта, для него правильная. А вот с элеронами непонятно, зачем их отклонять на разные углы, если только центр тяжести самолёта значительно смещён относительно продольной оси самолёта. Тем не менее в коде для правого элерона я бы ввёл переменную f2
Код:
protected void moveAileron(float f)
    {
        float f1 = -(f * 25F);
        hierMesh().chunkSetAngles("AroneL_D0", 0.0F, f1, 0.0F);
        float f2 = -(f * 15F);
        hierMesh().chunkSetAngles("AroneR_D0", 0.0F, f2, 0.0F);
    }
тогда левый элерон будет отклоняться вверх и вниз на 25 градусов, а правый на 15 градусов. Это имеет смысл для какого то ассиметричного немецкого самолёта (не помню его названия), а для Хиенов бесполезно. Тем более подозреваю, что такой код влияет только на внешнюю модель самолёта(элероны и руль высоты будут отклоняться на разные углы чисто визуально), а для изменения FM нужно что то иное.
tarakan67 вне форума   Ответить с цитированием