Пользователь
0,0
рейтинг
2 декабря 2013 в 21:36

Разработка → Что нам так и не показал «Марс-3»?



Сегодня – 42 года с момента первой успешной посадки на Марс космического аппарата с Земли – «Марс-3». Известно, что он успешно сел потому, что началась радиотрансляция – он начал передавать первую фотопанораму с поверхности. Антенны могли раскрыться только в случае благополучного примарсения.

Как вы, вероятно, знаете, в этом году о нем снова вспомнили, когда стало известно, что Zelenyikot и подписчики его группы Вконтакте «Curiosity — марсоход» обнаружили «Марс-3» на Марсе.
Через несколько дней после находки «Марса-3», мне стало жуть как интересно, какие виды так и не передал на Землю аппарат. К тому моменту у меня был опыт создания объёмных объектов в Blender 3D на основе снимков Curiosity и приложенных к ним карт высот. Поэтому я подумал – «А не сделать ли то же самое, но с моделью места посадки «Марс-3», поставив камеру от лица аппарата?».

В теории всё просто. Надо было взять данные спутника Mars Reconnaissance Orbiter, на основе которых специалисты NASA создавали анаглиф поверхности. Погуглив, я так и не нашёл способа преобразования анаглифа в карту высот.
В группе Curiosity был брошен клич о помощи. Он нашел отклик, за, что я выражаю огромную благодарность Даниилу Толкачёву, который отозвался и сделал карту высот на основе спутниковых данных.

Вот его описание процесса:
«Инструментарий: Python + OpenCV. Алгоритм самолично написанный, хоть и стандартный:
1. На изображениях ищутся характерные особенности (алгоритм SIFT)
2. Производится сопоставление точечных особенностей от двух изображений. В результате получаем матрицу, связывающую точку на одном изображении и линию на другом (фундаментальная матрица)
3. На основе фундаментальной матрицы производится выравнивание изображений, таким образом получается, что один и тот же объект на двух изображениях лежит на горизонтали. Анаглиф построен на основе ректифицированных изображений. Стереосопоставление далее тоже производится на основе них же
4. С помощью алгоритма Semiglobal Stereo Matching производится построение карты диспаратности. Там есть некоторые тонкости с настройкой алгоритма и с обработкой большого изображения.
Стоит отметить, что использованный метод построения карты высот не позволяет получить абсолютные значения, да и вообще — возможны некоторые искажения, связанные с особенностью получения изображений спутником».


(Кажется на Хабре его нет, но если процесс интересен, то попробую его пригласить для развернутого описания).

К тому времени, в «марсоходной» группе провели конкурс на создание 3D модели «Марса-3», и ее можно было добавить к панораме.



Далее дело техники. Вкратце: я вырезал квадратный кусок нужного участка на снимке для текстуры и такой же на карте высот. В Blender 3D создал поверхность, наложил на неё карту высот, чуток подправил пропорциональность, наложил текстуру, настроил Солнце, цвет неба, атмосферу и поставил модель аппарата на её место на спутниковом снимке (который и является текстурой).

Вот на пропорциональности хотелось бы остановиться поподробнее. Любой нормальный человек спросит: «А где гарантия того, что вид на данном снимке более-менее соответствует реальности?». Всё очень просто. Во-первых, карта построена по спутниковым данным. Во-вторых, есть такая интересная вещь – объекты в программе масштабируются пропорционально. Каждая сторона модели увеличивается в одинаковое количество раз. Поэтому, растянув модель точно под диаметр аппарата на спутниковой фотографии, мы автоматически делаем её пропорциональной со всем ландшафтом.
В итоге, получилось это:









Вот снимки, которые были получены путём размещения камеры от лица камер самого «Марса-3» (длина и высота снимка соответствует формату камеры аппарата):











На снимках самой примечательной деталью являются горы на дальнем плане — это вал 18-километрового кратера Реутов, который был так назван в августе 2013 года.

Я подчёркиваю — они не претендуют на гиперточность, но я уверен, что на 60% соответствует тому, что бы мы видели, если бы аппарат всё же передал снимки с поверхности (и качество его камер превышало бы то, что было туда установлено в 70-е гг).
К сожалению, у нас нет 3D моделей тормозного двигателя, связанного цепями с нижней частью торового контейнера, и нет модели пенопластового кожуха, которым зонд защищался в момент удара о поверхность. Поэтому мы не можем установить полную картину места посадки. Чертежей тоже нет, даже модель самого «Марса-3» создавалась «на глазок», на основе фотографий.



Как можно заметить, в симуляциии поверхности не хватает камней, всяческих мелких деталей, которые можно заметить на снимке со спутника. Поэтому, если среди хабраюзеров найдутся те люди, которые могут подсказать, как это грамотнее сделать, или сделают сами — буду очень рад, и готов оказать посильную помощь.
Зубко Артём @blackhand911
карма
118,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (11)

  • +13
    Что-то в этом есть неправильное: при помощи суперсовременного спутника NASA и технологий 3D графики XXI века увидеть сегодня то, что должны были увидеть наши родители в своем детстве.
    • +27
      Есть что-то правильное в том, что мы можем увидеть то, чего не увидели наши родители в детстве из-за технических неполадок =)
  • +1
    Небыло тогда такого графона!
  • +7
    Хорошее начинание!
    Некоторые предложения внести хочу я.
    1. Накиньте на ландшафт subsurf (simple алгоритм) и накиньте мелкий шум в качестве текстуры для Displace модификатора. Таким образом уйдет угловатость, добавятся детали в ближнем радиусе обзора (да, не соответствует правде, но детали которые не попали из-за относительно низкого разрешения надо откуда-то брать).
    2. Текстура. Разрешение спутникового снимка не позволяет делать «сочные» клозапы. Поэтому как и в первом случае можно подмешать текстуру.

    Если есть необходимость, я могу безвозмездно поделится текстурами. Есть две стопки (дифф, спек, нормали), которые готовил для своей работы на тему фантастического Марса. А если планируете рендерить в Cycles, то могу поделиться и материалами.
  • НЛО прилетело и опубликовало эту надпись здесь
    • +3
      Александр Базилевский из ГЕОХИ РАН пришел к выводу, что наилучшим образом этой местности соответствует то, что увидел Phoenix в Приполярье.
  • +1
    Тогда была пылевая буря, можно и ее добавить
    • +32
      Ну это проще простого:

      image

      :-)
      • +1
        :-)
  • 0
    Ну вот на Луне понятно, а на Марсе же пылевые бури постоянные — представляю как его эрозией уже пообтрепало.
    Всегда было интересно — а как они там, спустя столько-то лет. Был какой-то фильм, от Дискавери вроде, фантазия на тему посетить все планеты.
    И российская часть спускалась на Венеру. Расплавленный, искореженный спускаемый аппарат какой-то из Венер.
    • +1
      Эрозия от пыли ничтожна. Какие бы пылевые бури не прошли за 42 года, но парашют, лежащий на поверхности, они засыпать так и не смогли. Стараниями советских популяризаторов у нас переоценивают масштабы и значение пылевых бурь. В СССР старались изобразить их пострашнее чтобы скрасить боль потери Марса-3, хотя его прекращение связи может иметь и другие причины

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