Я работаю над простым движком AR, и у меня возникла проблема с сопоставлением трехмерного объекта с изображением камеры. Для лучшего понимания я проиллюстрировал это картинкой. Точки A и B находятся в трехмерном пространстве. Точки C и D даны на плоскости текстуры. Расстояние до самолета от камеры известно. Я знаю, как получить координаты Anear, Bnear, Afar, Bfar, Cnear, Dnear, Cfar и Dfar. Проблема в том, как найти точки A 'и B' в трехмерном пространстве, например вектор d == d 'и точки Anear == Cnear и Bnear == Dnear (проекция трехмерных точек на экран должна иметь одинаковые координаты) Может ли кто-нибудь помочь мне с математикой здесь или, по крайней мере, указать мне, где искать ответ?
PS. Похоже, мое описание проблемы недостаточно четкое, чтобы выразить это другими словами: у меня есть пара точек в трехмерном пространстве и пара точек на плоскости текстуры (изображение с веб-камеры). Мне нужно разместить точки в трехмерном пространстве на правильном расстоянии от камеры, чтобы после преобразования перспективы они накладывались на точки на плоскости текстуры. Необходимо сохранить пространственное соотношение трехмерных точек. На чертеже визуальным решением являются точки A 'и B'. Пунктирная линия показывает перспективное преобразование (где они нанесены на ближнюю плоскость в том же месте, что и точки C и D).
A'
иB'
? Насколько я понимаю из ваших рисунков, они могут быть расположены где угодно на линии междуCnear
иC
.... - person derHugo   schedule 20.07.2020