Скажем, у меня есть квадроцикл, и я применяю к нему текстуру бильярдного стола. Я знаю UV-координаты первых трех вершин (выделены синим цветом), но не четвертой.
Например, на изображении выше я знаю, что верхние левые координаты — [0, 0], верхние правые координаты — [1, 0], а нижние левые — [0, 1]. Как я могу математически определить правые нижние UV-координаты [1, 1]? Я хочу выяснить, каким будет четвертый набор координат UV математически, чтобы текстура, отображаемая в треугольнике, координаты UV которого, как я знаю, соответствовала квадрату.
Мне нужно уметь справляться со сложными ситуациями. Координаты UV и координаты X, Y и Z могут быть любыми, за исключением того, что я знаю, что это всегда будет плоское лицо.
Наконец, мне нужно вычислить это для граней с любым количеством вершин.
Мой первоначальный подход к этому включал проверку того, насколько координата U изменяется на определенном расстоянии X, а затем то же самое для Y и Z, пока я не нашел взаимосвязь, но я продолжаю находить новые исключения из этой логики, и мне интересно, есть ли более простой способ.
Как я могу интерполировать UV для расчета четвертой, пятой... n-й точки? Нет конкретного языка кодирования - я просто ищу подход.