Проекция на двухмерную поверхность имеет бесконечное количество трехмерных прямоугольников, которые будут проецироваться на одну и ту же 2D-форму.
Подумайте об этом так: у вас есть четыре 3D-точки, которые составляют 3D-прямоугольник. Назовите их (x0, y0, z0), (x1, y1, z1), (x2, y2, z2) и (x3, y3, z3). Когда вы проецируете эти точки на плоскость x-y, вы отбрасываете координаты z: (x0, y0), (x1, y1), (x2, y2), (x3, y3).
Теперь, когда вы хотите спроецировать обратно в трехмерное пространство, вам нужно перепроектировать то, что было z0, .., z3. Но любой набор z-координат, которые а) сохраняют одинаковое расстояние между точками по оси x и б) сохраняют форму прямоугольника, будут работать. Итак, любой член этого (бесконечного) множества будет делать: {(z0 + i, z1 + i, z2 + i, z3 + i) | я <- R}. </p>
Edit @Jarrett: представьте, что вы решили это и получили прямоугольник в трехмерном пространстве. Теперь представьте, что вы двигаете этот прямоугольник вверх и вниз по оси Z. Те бесконечные количества переведенных прямоугольников имеют одинаковую проекцию x-y. Откуда ты знаешь, что нашел «правильный»?
Редактировать # 2: Хорошо, это из комментария, который я сделал по этому вопросу - более интуитивный подход к рассуждению об этом.
Представьте себе, что вы держите лист бумаги над столом. Представьте, что к каждому углу бумаги прикреплена невесомая лазерная указка, направленная вниз к столу. Бумага - это трехмерный объект, а точки лазерного указателя на столе - это двухмерная проекция.
Теперь, как вы можете определить, как высоко над столом находится бумага, посмотрев на просто точки лазерного указателя?
Вы не можете. Переместите бумагу прямо вверх и вниз. Лазерные указки по-прежнему будут светиться в тех же местах на столе, независимо от высоты бумаги.
Найти координаты z в обратной проекции - это все равно, что пытаться определить высоту бумаги на основе точек лазерного указателя только на столе.