Сегодня – 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