Обратные проекции 2D точек в 3D - PullRequest
13 голосов
/ 24 сентября 2008

Предположим, у нас есть трехмерное пространство с плоскостью на нем с произвольным уравнением: ax + by + cz + d = 0 теперь предположим, что мы выбрали 3 случайные точки на этой плоскости: (x0, y0, z0) (x1, y1, z1) (x1, y1, z1)

теперь у меня есть другая точка зрения (камера) для этой плоскости. я имею в виду, у меня есть другая камера, которая будет смотреть на эту плоскость с другой точки зрения. С этой точки зрения эти точки имеют разные местоположения. например (x0, y0, z0) будет (x0 ', y0') и (x1, y1, z1) будет (x1 ', y1'), а (x2, y2, z2) будет (x2 ', y2') с новой точки зрения камеры.

Итак, вот мой маленький сложный вопрос! Я хочу выбрать точку, например (X, Y) с новой точки зрения камеры и сказать, где она будет в этой плоскости. Все, что я знаю, это то, что 3 точки и их местоположения в трехмерном пространстве и их проекционные местоположения на новом виде камеры.


Вам известны коэффициенты уравнения плоскости и положения камеры (вместе с проекцией), или у вас есть только шесть точек? - ноль

Я знаю расположение первых 3 точек. поэтому мы можем рассчитать коэффициенты плоскости. поэтому мы точно знаем, где находится плоскость с точки зрения (0,0,0). и тогда у нас есть камера, которая может видеть только точки! Таким образом, единственная вещь, которую видит камера, - это 3 точки, а также она знает свое местоположение в трехмерном пространстве (и, конечно же, их местоположение на плоскости 2-мерного обзора камеры). и в конце концов я хочу взглянуть на камеру, выбрать точку (например, (x1, y1)) и сказать, где находится эта точка на этой плоскости. (наверняка эта точка (X, Y, Z) должна соответствовать уравнению плоскости). Также я ничего не знаю о местоположении камеры.

Ответы [ 2 ]

1 голос
/ 08 октября 2012

Невозможно дать однозначное решение этой проблемы. Однако вот как я мог бы извлечь различные решения:

1) Определите положение и направление камеры, используя алгоритм P3P (Perspective-3-Point) из оригинальной бумаги RANSAC , который дает до четырех возможных решений (с точками перед камера).

2) Спроецируйте луч с положением камеры в качестве источника, имеющего (X, Y) в качестве проекции на камеру, и рассчитайте его пересечение с плоскостью.

0 голосов
/ 24 сентября 2008

Вы спрашиваете, как пересечь линию и плоскость? Смотрите здесь http://paulbourke.net/geometry/pointlineplane/

пс. Ваш учитель знает этот сайт!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...