Об авиации в едином масштабе

    Бурундук

    заблокирован
    Друзья и коллеги,
    многие из вас посещали топик "Авиация в едином масштабе", где я, Пит, Илья и сочувствующие собираем небольшие проекции летательных аппаратов.

    Сравнивать то, что летало - очень интересно. Оказывается, что самолёт Можайского не меньше Су-27, а летающая крепость B-17, наоборот, не дотягивает до МиГ-25...

    Сейчас есть проекции почти 5000 ЛА. Это уже весьма репрезентативная выборка. Есть данные о их габаритах, массах, выпуске и т.д.

    Соответственно вопрос: как это всё представить?

    В виде книги? - можно, но очень затратно и не очень интересно. Потому как порядок - взаимное расположение картинок - уже задано при верстке. Конечно, интересно посмотреть, например, на "истребители Второй Мировой", на миниатюрный Як на фоне P-47 или Hurricane - но вот Як-3 и Як-15 уже не сравнишь, они будут на разных страницах.

    В виде сайта? - да. Но это должен быть необычный сайт, а именно электронная база данных. Чтобы можно было выбрать несколько машин и сравнить. Чтобы большие картинки уменьшались (желательно дискретно - в 2 раза - а то качество теряется). Чтобы удобно сочеталась графическая и цифровая (табличная) информация.

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

    Кто бы мог помочь с реализацией?
     

    LIV

    Местный
    Сайт могу сделать. PHP, MySQL, JS
    Главный вопрос: кто будет заполнять?
     
    Последнее редактирование:

    Бурундук

    заблокирован
    Главный вопрос: кто будет заполнять?
    Я (то есть, я буду единственным шлюзом, через который будет поступать информация).
    Большое спасибо за отклик. Тогда через несколько дней скину набросок ТЗ, посмотрите?
     

    LIV

    Местный
    Добро! :)
    Чего время тянуть. Часть сделанного ТЗ можно уже сейчас выслать, что бы я начал...
     

    Бурундук

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

    xoid

    Старожил
    Чтобы большие картинки уменьшались (желательно дискретно - в 2 раза - а то качество теряется).
    в современных браузерах уже не теряется, они поддерживают алгоритмы сглаживания. F tсли картинка уменьшается на сервере, то это вообще пустяки.

    ---------- Добавлено в 15:09 ----------

    Я сейчас пишу техзадание, но осуществить не смогу.
    Позволю сразу покапризничать, как зритель))
    Основной задачей мне видится обеспечение наглядности, а именно - наложение одного изображения на другое плюс возможность добавления референсных объектов (человек, автомобиль, ж/д-вагон). Т.е. это надо делать подключемыми слоями.
    Второй трудный момент - позиционирование. Каким образом будет совмещаться одна картинка с другой? По передней стойке шасси? По нулевому шпангоуту? Или просто по центру изображения?
     

    Бурундук

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

    плюс возможность добавления референсных объектов (человек, автомобиль, ж/д-вагон).
    Это не сложно.

    Каким образом будет совмещаться одна картинка с другой? По передней стойке шасси? По нулевому шпангоуту? Или просто по центру изображения?
    Не, только по центру либо по краю. Различать детали, где именно нога шасси и есть ли она вообще - это тяжко.
     
    Последнее редактирование:

    LIV

    Местный
    Выравнивание по левому краю. А изображения самолётов должно отступать от края картинки на определённое и у всех одинаковое расстояние (в пикселях). Так легко будет совмещать.
    Бурундук, думаю можно использовать формат PNG. Он не в такой степени курёжит картинку, как GIF и позволяет делать прозрачный фон. Прозрачность позволит совмещать изображения достаточно близко, используя DRAG-ANG-DROP.
     

    Бурундук

    заблокирован
    LIV, отступает со всех сторон на 1 пиксель. Формат картинок везде 100% jpg (исторические сложилось).
    Кроме картинок есть табличные характеристики, их тоже хорошо бы сравнивать. А может даже в относительных величинах (типа, у А размах на 20% больше, чем у Б, а скорость на 10% меньше).

    Вот сейчас пишу.
     

    timsz

    Старожил
    Подозреваю, переформатирования JPG все равно не избежать.)

    А какой формат может быть оптимальным? Я так понимаю, что хорошо было бы, чтобы он поддерживал сжатие без потери качества, прозрачный фон и много цветов.

    Хотя... Из-за пикселей прозрачный фон может быть не так хорош...

    Кроме картинок есть табличные характеристики, их тоже хорошо бы сравнивать.
    ИМХО, это - самое ценное.

    Основной задачей мне видится обеспечение наглядности, а именно - наложение одного изображения на другое плюс возможность добавления референсных объектов (человек, автомобиль, ж/д-вагон). Т.е. это надо делать подключемыми слоями.
    Если не ошибаюсь, в PHP есть возможность формирования изображения. То есть, с точки зрения зрителя на странице будет одна картинка.
    По передней стойке шасси?

    Над Me 163 придется подумать.)
     

    xoid

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

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

    xoid

    Старожил
    при сравнении, нпример, 2х черно-белых картинок мазня будет выходить, как ни крути. Поэтому надо давать пользователю контроль над слоями.
    Например, сделать переключалку - "показываем слой А", "показываем слой Б", "показываем совмещенные слои А+Б".
    Еще вариант опции - меняем все цвета на нижнем слое на синий, в верхнем-на красный и складываем с 75% прозрачностью. Будет получаться примерно так.

    compare_preview.jpg
     

    xoid

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

    LIV

    Местный
    xoid, тогда обязательно надо делать прозрачный фон. т.е. все картинки перевести в формат PNG и удалить фон. В принципе, можно сделать, что при заливке картинки будут преобразовываться в PNG, но убрать автоматом фон?... Я пока не пробовал и даже не знаю, есть ли у GD такая возможность.
    При прозрачном фоне вполне возможно реализовать наложение слоёв с изменением цвета и общей прозрачности.
     

    Бурундук

    заблокирован
    Но наиболее острая проблема - это даже не форма подачи, а низкое качество многих изображений.
    Да. Это ещё одна причина, по которой я с сомнением отношусь к наложению изображений.

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

    Для желающих поэкспериментировать: картинки и маленькая табличка по польским самолётам (5,2Мб):
    http://rusfolder.com/32221434
     
    Последнее редактирование:

    xoid

    Старожил
    даже не знаю, есть ли у GD такая возможность
    насчет GD тоже не знаю, но есть у imagemagic

    на твоём примере - силуэт со сплошной заливкой.
    если у исходных файлов будет прозрачный фон, то сгенерировать заливку можно без проблем. Внутренние линии мешать совсем не будут.
    Заливку можно делать прямо у юзера, к примеру, этой библиотекой - http://mezzoblue.github.com/PaintbrushJS/demo/index.html
    Она позволяет менять цвет и плотность заливки. Надо лишь проверить, как она работает с прозрачными PNG
     

    LIV

    Местный
    насчет GD тоже не знаю, но есть у imagemagic
    Да, ImageMagic подойдёт, пожалуй. Я о нём и подзабыл... :) Обычно, у хостеров он не стоит...
    если у исходных файлов будет прозрачный фон, то сгенерировать заливку можно без проблем. Внутренние линии мешать совсем не будут.
    Заливку можно делать прямо у юзера, к примеру, этой библиотекой - http://mezzoblue.github.com/PaintbrushJS/demo/index.html
    Она позволяет менять цвет и плотность заливки. Надо лишь проверить, как она работает с прозрачными PNG
    Там нет возможности сделать выборочную заливку, только всё изображение целиком. И вообще, - это JS PainBrush - примитив.
     

    timsz

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

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