Продолжу тему какое качество показывать, когда дельтаплан набирает высоту, или для долёта к ППМ нужно набрать высоту, в виджетах "
L/D земли", "
L/D к ППМ", "
L/D финиша".
Если тупо считать по формуле, то в таких случаях получается отрицательное качество. Я предложил Жене как-то исправить это "отрицалово", а то нарушается простой алгоритм:
1. Есть требуемое качество долёта до ППМ ("
L/D к ППМ", "
L/D финиша");
2. Есть твоё текущее качество относсительно земли (
L/D земли);
2. Если твоё текущее качество больше требуемого, то долетаешь. Если меньше, то не долетаешь.
Т.е. всё просто и понятно. Но если в окошках качества вдруг появляются отрицательные величины, то получается ошибка этого простого алгоритма
Ведь если требуемое хоть 9999999 будет, а у тебя текущее -0,0000001 (отрицательное), то это значит, что 100% долетаешь, ибо идёщь в наборе. Но алгоритм "Больше - долетишь, меньше - не долетишь" ломается нафик
, ведь самое большое по модулю отрицательное число воспринимается как "
меньше", чем самое малое положительное.
В первой итерации Женя сделал так, что вместо отрицательного качества индицируется просто "0". Просто чтобы убрать несуразность "отрицательного качества". Я понимаю, что это относительно просто реализовать программно, но к сожалению, это так же ломает тот самый простой алгоритм: "Больше- долетишь, меньше - не долетишь". Ведь в ситуации, например, когда требуемое качество "10", а твоё текущее "0", то приходится соображать, что "0" - это не недостаточно мало, а с запасом больше, чем требуемые "10" (т.е. на самом деле идёшь с набором и качество отрицательное).
Для исправления этой мозголомной ситуации предлагаю:
1. Ограничить рассчётную величину потребного и текущего качества тремя знаками до запятой. А демонстрировать только диапазон от 0 до +999.
2. Т.е. при росте качества показывать до 999, а дальше - просто писать число "999". Ведь этого и так более чем дофига.
3. Если рассчётное качество внезапно становится отрицательным (требуется набор или полёт происходит с набором), то в окошке качества писать просто число "999" вместо нуля, который пишется сейчас.
Т.е. заменяем действительное рассчётное значение движения с набором на значение "
дофига".
При предлагаемом варианте порядка индикации, кстати, не будет нарушаться плавность показаний. Т.е. при переходе из снижения в набор на долёте (движение "дельфином под облаками") качество будет плавно расти, расти и "упрётся" в число 999. Т.е. в "дофига". При выходе из набора качество будет плавно снижаться до нормального текушего, например
999-
999-
999-700-400-100-20-10...
не как сейчас это будет в той же ситуации:
0-
0-
0-700-400-20-10.
И в обратную сторону так же.
Станет: 15-20-50-100-300-500-
999-
999-
999, что воспринимается естественно.
А не как сейчас: 15-20-50-100-300-500-
0-
0-
0, что очень странно мгновенным прыжком 500-0
Если нужно, то пусть на индикацию отводится 4 знака, тогда и максимум станет "9999" - не принципиально.