Алгоритм интерполяции любого представления из отдельного представления, отображаемого на сфере
Я пытаюсь создать графический движок для отображения данных облака точек (от первого лица). Моя идея состоит в том, чтобы предварительно рассчитать отдельные виды из разных точек пространства, которое мы просматриваем, и отобразить их в сферу. Можно ли интерполировать эти данные, чтобы определить вид из любой точки пространства?
Я извиняюсь за мой английский и плохое объяснение, но я не могу найти другой способ объяснить. Если вы не понимаете мой вопрос, я буду рад переформулировать его, если это необходимо.
РЕДАКТИРОВАТЬ:
Я постараюсь объяснить это на примере
Изображение 1:
Изображение 2:
На этих изображениях мы видим два разных вида тыквы (представьте, что у нас есть сферическая карта вида 360 в обоих случаях). В первом случае у нас есть дальний взгляд на тыкву, и мы можем видеть ее окрестности и воображать, что у нас есть сундук прямо за персонажем (у нас был бы подробный вид сундука, если бы мы смотрели сзади).
Итак, первый взгляд: окружение и низкое детализация изображения тыквы и хорошая детализация сундука, но без окружения.
Во втором виде у нас есть полная противоположность: детальный вид тыквы и не детальный общий вид сундука (все еще позади нас).
Идея состоит в том, чтобы объединить данные из обоих представлений, чтобы вычислить каждое представление между ними. Таким образом, движение к тыкве означало бы растянуть точки первого изображения и заполнить пробелы вторым (забудьте все остальные элементы, только тыкву). В то же время мы сравниваем изображение сундука и заполняем окружение данными из общего вида второго.
Я хотел бы иметь алгоритм, который определяет растяжение, компримирование и объединение пикселей (не только вперед и назад, а также по диагонали, используя более двух сферных карт). Я знаю, что это ужасно сложно, я надеюсь, что на этот раз я проявил себя достаточно хорошо.
РЕДАКТИРОВАТЬ:
(Я часто использую слово view, и я думаю, что это часть проблемы, вот определение того, что я имею в виду под "view": "Матрица цветных точек, где каждая точка соответствует пикселю на экране". Экран отображает только часть матрицы каждый раз (матрица будет сферой 360, а отображение - часть этой сферы).Представление - это матрица всех возможных точек, которые вы можете видеть, поворачивая камеру, не перемещая ее положение.")
Ладно, кажется, что вы, люди, до сих пор не понимаете концепцию вокруг этого Идея состоит в том, чтобы иметь возможность отображать как можно больше подробных сведений об окружающей среде, "предварительно перехватив" максимальное количество данных перед их отображением в реальном времени. Сейчас я займусь предварительной обработкой и сжатием данных, я не спрашиваю об этом. Самая "предварительно установленная" модель будет хранить вид 360 в каждой точке на отображаемом пространстве (если персонаж движется, например, с 50 точками на кадр, а затем сохранять вид каждые 50 точек, нужно предварительно рассчитать освещение и затенение, а также для фильтрации точек, которые не будут видны, чтобы они не обрабатывались даром). В основном, чтобы рассчитать каждый возможный скриншот (на полностью статической среде). Но, конечно, это просто смешно, даже если вы можете сжать много данных, это все равно будет слишком много.
Альтернатива состоит в том, чтобы хранить только некоторые стратегические взгляды, менее часто. Большинство точек повторяются в каждом кадре, если мы храним все возможные. Изменение положения точек на экране также математически регулярно. Что я спрашиваю, так это алгоритм определения позиции каждой точки в представлении на основе стратегических точек зрения fiew. Как использовать и комбинировать данные из стратегических представлений о различных возможностях для расчета представления в любом месте.