Say you were to take a picture to a corner of a room with 90 degree angled walls and ceiling.

In that picture you'd see three radial lines (the edges of the walls) starting in the same point (the corner) forming 3 angles between each other: alpha, beta, gamma (alpha + beta + gamma = 360 degrees)

That set of angles seems to uniquely identify the line (L) that crosses the corner of the ceiling and passes through the point where the picture was taken.

So assuming that:
1. the corner of the ceiling is the reference point O (Ox, Oy, Oz),
2. the reference axes (x, y, z) coincide with the edges of the walls,
3. Vx, Vy, Vz are the unit vectors and that
4. P (Px, Py, Pz) is any point in the line L

-> How to determine the equations of Px, Py and Pz based on Ox, Oy, Oz, Vx, Vy, Vz, alpha, beta and gamma only?

I suppose it is a matter of determining (Mx, My, Mz) in the equation: (Px, Py, Pz) = (Ox,Oy,Oz) + (Mx, My, Mz) * (Vx, Vy, Vz) but I've been trying to solve this problem for a long time without success. I even introduced it to a few math teachers in my university but this seems to be out of their comfort zone.

So I ask: is there anyone who can help me figure it out?

  • $\begingroup$ Try math.stackexchange: they may appreciate this exercise. $\endgroup$ – Alex Degtyarev Mar 11 '14 at 11:59
  • $\begingroup$ Dear @Alex and Nuno, it is always better to migrate than to repost. That avoids duplication of questions and of the effort answering them. $\endgroup$ – Ricardo Andrade Mar 11 '14 at 14:22

This question is equivalent to camera pose estimation in computer vision. Consider the object in 3D world is known and you have a 2D projection on image. This is a 2D to 3D pose estimation problem, which can also be concluded as a Perspective n Points Problem. Here is a link about Perspective 3 Points problem: http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MARBLE/high/pia/solving.htm Basically, you need at least 3 recognized corners in 2D image and their corresponding coordinates in 3D world to figure out the pose of the camera.

  • $\begingroup$ I studied the link you suggested and though I recognized similarities with the problem I'm trying to solve I struggled to use it to solve my specific problem. However, I did search further for "camera pose estimation" which yielded several enlightening results, such as: en.wikipedia.org/wiki/3D_pose_estimation. The math of problem seems quite challenging and it turns out that I can achieve my objective by computing an object with an identical shape (the corner) virtually and rotating and translating it to match the lines of the photo. Thank you for your support! $\endgroup$ – Nuno Apr 2 '14 at 17:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.