Приборстроение

Решил заняться изготовлением приборов для АН-124.Но:
1.Буквы I в Corel Photo Paint не размещаются по циферблату.Кстати,можно к нему русский язык?
2.Как сделать авиогоризонт?Часть его должна быть скрыта,а программист из меня никакой.Как сам циферблат-то сделать?
3.Как установить прибор на битмап?
Извиняюсь за столь простые вопросы,но я еще новичок в этом деле.

Ответов: 19

Tomy1 (20.11.2007 01:20) написал:

Решил заняться изготовлением приборов для АН-124.Но:
1.Буквы I в Corel Photo Paint не размещаются по циферблату.Кстати,можно к нему русский язык?
2.Как сделать авиогоризонт?Часть его должна быть скрыта,а программист из меня никакой.Как сам циферблат-то сделать?
3.Как установить прибор на битмап?
Извиняюсь за столь простые вопросы,но я еще новичок в этом деле.

1. Это делается не в Corel Photo Paint, а в Corel Draw. Текст необходимо перевести в кривую (щёлкнуть по нему правой кнопкой мыши и выбрать соответствующий пункт), а потом выровнять вдоль окружности созданной по краю циферблата. Подробнее в руководстве.

2. Программировать не нужно. Это сделает другой человек.

3. Это делается в Panel.cfg. Это сделаю я.

Капитан Кулль (25.11.2007 22:54) написал:

Tomy1 (20.11.2007 01:20) написал:

Решил заняться изготовлением приборов для АН-124.Но:
1.Буквы I в Corel Photo Paint не размещаются по циферблату.Кстати,можно к нему русский язык?
2.Как сделать авиогоризонт?Часть его должна быть скрыта,а программист из меня никакой.Как сам циферблат-то сделать?
3.Как установить прибор на битмап?
Извиняюсь за столь простые вопросы,но я еще новичок в этом деле.

1. Это делается не в Corel Photo Paint, а в Corel Draw. Текст необходимо перевести в кривую (щёлкнуть по нему правой кнопкой мыши и выбрать соответствующий пункт), а потом выровнять вдоль окружности созданной по краю циферблата. Подробнее в руководстве.

2. Программировать не нужно. Это сделает другой человек.

3. Это делается в Panel.cfg. Это сделаю я.

Спасибо за разширенный ответ.Только что насчет авиогоризонта я интересовался как нарисовать сам циферблат.

Tomy1 (25.03.2008 12:24) написал:

Еще несколько вопросов:
1. Как лучше делать светосигнальные табло-по одному или сеточкой?

Лучше блоком. По одному достаточно утомительно делать.

Идею дарю.
Если на не горящих табло надписи не видны, то весь блок табло из множества отдельных табло можно сделать тремя битмапами. Битмап подложми, битмпа со всеми надписями и битмап одного негорящего табло. Чтобы «зажечь» такое табло надо снять с соответствующую «крышечку», битмап незажженного одиночного табло.

Битмап основания

Attached image(s)

  • Attached Image

Отредактировано Gritsevsky: 25 March 2008 — 12:47

Надписи

Attached image(s)

  • Attached Image

Крышечка

Attached image(s)

  • Attached Image

FortRoss (25.03.2008 12:58) написал:

а не проще ли основа с негорящими табло и отдельные иконки для каждой надписи? В вашем, Степан, случае нет выигрыша ни по объему приборного файла, ни по количеству элементов в приборе

PS в приборе совсем не обязательно должна быть одна последовательная цепочка элементов. От одного элемента подложки могут расти несколько «деревьев» элементов. В одну цепочку элементы надо увязывать только тогда, когда их границы пересекаются.

Я по разному табло делал. Так как вы предлагаете тоже делал. Пока табло 10-20 штук без разницы как делать. А вот когда 100 — 200 уже есть разница.
Самая трудоемкая часть табло это надписи. Чтобы они хорошо читались и красиво выглядели их приходится делать из нескольких слоев, с разной размывкой и т.д. И проще делать их все в виде одного рисунка. В противном случае для получения одинаковых надписей приходится записывать операции обработки в фотошопе. Проще обработать одну картинку с надписями чем 200 картинок. Я теперь вообще все табло делаю в фотошопе в виде одного рисунка. Потом режу на блоки табло. И зажигать табло путем снятия одинаковой крышечки удобно уже хотя бы потому что не надо прописывать кучу ресурсов и указывать имена надписей в программе.
Но все это в случае большого количества табло актуально. При малом количестве все равно как делать.

FortRoss (25.03.2008 13:30) написал:

Ну и в результате имеем рост дискового размера файла 2n + m (где m << n), рост размера в памяти 2n + Cm (где C — количество крышечек табло), а так же некоторое уменьшение быстродействия, связанное с увязыванием всех элементов (а их у нас 2 + С) в одну цепочку и тем, что сим эту цепочку вынужден проходить всю, чтобы добратся до одной изменившейся иконки.

В моем случае физический размер n + Cm, где (Сm < n), расход оперативной памяти n + Cm (опять же не дотягивает до 2n), и меньший удар по быстродействию из-за того что цепочки нет, и любой элемент достижим из корня за постоянное время.

Я не теоретик, я практик. Если прибор снижает быстродействие на 0,001 FPS то меня это устраивает. Важно быстродействие проекта в целом а не всякие мелочи. Поэтому я по мелочам не оптимизирую а стараюсь выявить критические для быстродействия места. Поэтому слежу за FPS в процессе создания панели. Так попытка наложить на всю панель один прозрачный битмап с метками на стекле приборов в проекте F-104 посадил FPS в полтора раза. А ведь там никакого кода, статический битмап. А влияние табло на FPS я не заметил.
Приведенный пример это табло от проекта Ил-62М. Кто скажет что там панель «тяжелая»?

FortRoss (25.03.2008 13:30) написал:

Ну и в результате имеем рост дискового размера файла 2n + m (где m << n), рост размера в памяти 2n + Cm (где C — количество крышечек табло), а так же некоторое уменьшение быстродействия, связанное с увязыванием всех элементов (а их у нас 2 + С) в одну цепочку и тем, что сим эту цепочку вынужден проходить всю, чтобы добратся до одной изменившейся иконки.

В моем случае физический размер n + Cm, где (Сm < n), расход оперативной памяти n + Cm (опять же не дотягивает до 2n), и меньший удар по быстродействию из-за того что цепочки нет, и любой элемент достижим из корня за постоянное время.

Что то я в вашей математике не разобрался. У меня в приборе два битмапа статики и N иконок (по числу табло) У вас один битмап статики и N иконок. Причем у меня все иконки одинаковые у вас разные. Где экономия быстродействия? Код прибора будет отличаться только именами иконок, которые у меня все одинаковые.

Gritsevsky (25.03.2008 14:53) написал:

FortRoss (25.03.2008 13:30) написал:

Ну и в результате имеем рост дискового размера файла 2n + m (где m << n), рост размера в памяти 2n + Cm (где C — количество крышечек табло), а так же некоторое уменьшение быстродействия, связанное с увязыванием всех элементов (а их у нас 2 + С) в одну цепочку и тем, что сим эту цепочку вынужден проходить всю, чтобы добратся до одной изменившейся иконки.

В моем случае физический размер n + Cm, где (Сm < n), расход оперативной памяти n + Cm (опять же не дотягивает до 2n), и меньший удар по быстродействию из-за того что цепочки нет, и любой элемент достижим из корня за постоянное время.

Что то я в вашей математике не разобрался. У меня в приборе два битмапа статики и N иконок (по числу табло) У вас один битмап статики и N иконок. Причем у меня все иконки одинаковые у вас разные. Где экономия быстродействия? Код прибора будет отличаться только именами иконок, которые у меня все одинаковые.

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

Экономия производительности идет из структуры элементов приборов и их взаимосвязей. Если использовать термин «слой» — у меня все иконки лежат во втором слое (статик основы — первый), поскольку они не перекрываются между собой. Функций переключения иконок (в вашем случае скрытия «маски») все равно все разные. Да, и кстати — за счет того, что на каждый пиксель прибора у вас получается три битмапы, две из которых 99% времени закрыты третьей — уменьшение быстродейстия еще и здесь. У меня — 2 битмапы, 1 из которых скрыта 99% времени, причем именно та, которая лежит сверху. Рассчеты расходов памяти комментировать?

если на пальцах — у вас каждый пиксель прибора обрабатывается трижды 99% времени его присутствия на экране. У меня каждый пиксель прибора обрабатывается 1 раз, и 2 раза, только если табло включено. На одном приборе эту разницу в подходах не заметить, но если приборов с подобными вещами несколько десятков — разница будет ощутима.

Отредактировано FortRoss: 25 March 2008 — 14:14

FortRoss (25.03.2008 14:02) написал:

Экономия производительности идет из структуры элементов приборов и их взаимосвязей. Если использовать термин «слой» — у меня все иконки лежат во втором слое (статик основы — первый), поскольку они не перекрываются между собой. Функций переключения иконок (в вашем случае скрытия «маски») все равно все разные. Да, и кстати — за счет того, что на каждый пиксель прибора у вас получается три битмапы, две из которых 99% времени закрыты третьей — уменьшение быстродейстия еще и здесь. У меня — 2 битмапы, 1 из которых скрыта 99% времени, причем именно та, которая лежит сверху. Рассчеты расходов памяти комментировать?

если на пальцах — у вас каждый пиксель прибора обрабатывается трижды 99% времени его присутствия на экране. У меня каждый пиксель прибора обрабатывается 1 раз, и 2 раза, только если табло включено. На одном приборе эту разницу в подходах не заметить, но если приборов с подобными вещами несколько десятков — разница будет ощутима.

Я еще на Ан-2, где меняется битмап панели, заметил что прибор не перерисовывается пока не изменится значение переменной. А табло зажигается редко. Поэтому тормозить там нечему. А вот в случае с F-104 под прозрачным битмапом была куча движущихся стрелочек. Потому и тормозило.

Gritsevsky (25.03.2008 15:24) написал:

FortRoss (25.03.2008 14:02) написал:

Экономия производительности идет из структуры элементов приборов и их взаимосвязей. Если использовать термин «слой» — у меня все иконки лежат во втором слое (статик основы — первый), поскольку они не перекрываются между собой. Функций переключения иконок (в вашем случае скрытия «маски») все равно все разные. Да, и кстати — за счет того, что на каждый пиксель прибора у вас получается три битмапы, две из которых 99% времени закрыты третьей — уменьшение быстродейстия еще и здесь. У меня — 2 битмапы, 1 из которых скрыта 99% времени, причем именно та, которая лежит сверху. Рассчеты расходов памяти комментировать?

если на пальцах — у вас каждый пиксель прибора обрабатывается трижды 99% времени его присутствия на экране. У меня каждый пиксель прибора обрабатывается 1 раз, и 2 раза, только если табло включено. На одном приборе эту разницу в подходах не заметить, но если приборов с подобными вещами несколько десятков — разница будет ощутима.

Я еще на Ан-2, где меняется битмап панели, заметил что прибор не перерисовывается пока не изменится значение переменной. А табло зажигается редко. Поэтому тормозить там нечему. А вот в случае с F-104 под прозрачным битмапом была куча движущихся стрелочек. Потому и тормозило.

Степан. предложенная вами схема — нерациональна с любой точки зрения. Кстати, прибор-то может и не обновляется, а вот его буфер — вполне может пересчитыватся на каждом шаге. Кстати, под какую версию делался-то Ан-2? с тех пор много воды утекло.

FortRoss (25.03.2008 14:49) написал:

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

Да и хрен с ним. Пускай нерациональна. Главное что она рациональна с точки зрения затрат времени на рисование. и все работает и не тормозит.

Когда счет битмапам идет на сотни а кода на миллионы символов не до тонкостей. Надо сделать проект в обозримое время и экономия времени на одном из первых мест. Что толку с рациональности если проект не доведен до конца. А с этим в последнее время есть проблемы, таки с времен FS98 панели усложнились кординально. И для одного человека создание панели реактивного лайнера сегоднешнего уровня (с рисованием битмапов) уже на грани возможного.

P.S. Зашел сейчас в папку ресурсов проекта Ил-86. Там 601 битмап лежит. Их же все нарисовать надо было. Какие уж тут изыски. Лошадиный труд на 95%.

Отредактировано Gritsevsky: 25 March 2008 — 16:20

http://www.fs2x.com/ Раздел «Tutorials».

http://www.avsim.ru/…w…id=2800&hl=

Отредактировано Bravo: 20 November 2007 — 21:10

Цитата

http://www.avsim.ru/…w…id=2800&hl=

Я этим учебником и пользуюсь.

Все рисую только в фотожопе, потому как в кореле можно нарисовать только буковки «i» по кругу, но никак не шкалу, тем более, если она не линейная
А авиагоризонты надо рисовать по примеру других моделей, там все оч понятно:
Рисуется корпус прибора, рисуется шкала тангажа, рисуется маска в виде картинки цветом 000000 с «вырезом» в ней по форме окна под шкалу ну и собираем это на примере АГ того же дефолтного БичБарона или Б-747

Еще вопрос по боковым («мертвым») видам — можно ли в них вставить приборы…?

Еще несколько вопросов:
1. Как лучше делать светосигнальные табло-по одному или сеточкой?
2. Как прикрутить боковой вид к панели?

а не проще ли основа с негорящими табло и отдельные иконки для каждой надписи? В вашем, Степан, случае нет выигрыша ни по объему приборного файла, ни по количеству элементов в приборе

PS в приборе совсем не обязательно должна быть одна последовательная цепочка элементов. От одного элемента подложки могут расти несколько «деревьев» элементов. В одну цепочку элементы надо увязывать только тогда, когда их границы пересекаются.

Ну и в результате имеем рост дискового размера файла 2n + m (где m << n), рост размера в памяти 2n + Cm (где C — количество крышечек табло), а так же некоторое уменьшение быстродействия, связанное с увязыванием всех элементов (а их у нас 2 + С) в одну цепочку и тем, что сим эту цепочку вынужден проходить всю, чтобы добратся до одной изменившейся иконки.

В моем случае физический размер n + Cm, где (Сm < n), расход оперативной памяти n + Cm (опять же не дотягивает до 2n), и меньший удар по быстродействию из-за того что цепочки нет, и любой элемент достижим из корня за постоянное время.