Самый простой способ конвертировать 2D символы в 3D в видеопотоке

Нам нужно преобразовать определенный поток потокового 2D-видео в 3D-видео с некоторыми символами. Чтобы сделать пример:

<iframe width="640" height="360" src="https://www.youtube.com/embed/-YKYjigYgok" frameborder="0" allowfullscreen></iframe>

редактировать: я добавил сюда ссылку на видео из-за некоторых ошибок при вставке HTML.

это что-то похожее на наш проект. Как видите, высоты индексируются как цвета, также видны некоторые оттенки, тени. вопрос в том, можем ли мы преобразовать эти горы и другие фигуры в 3D простым способом? Я видел много 2D-3D конвертеров на рынке, но они недетерминированы. Мы хотим создать для этого нишевое программное обеспечение и не знаем, с чего начать. Мы можем использовать цвета и тени (для высоты и направления света), а также у нас есть высота плоскости. Как только мы разберемся с горами и другим содержимым, использование 3D-символов не станет для нас проблемой.

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

1 ответ

Я думаю, что вы ищете, называется карта высот. Вы начинаете с двухмерной матрицы со значениями высоты в каждой ячейке и генерируете трехмерную местность на основе матрицы.

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

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

Я предполагаю, что назначение цветов для высот здесь не проблема.

Другие вопросы по тегам