FROM PHOTO

Source Image:

Old town hall square, Prague.

From Nathan Shnidman's home page http://www.cag.lcs.mit.edu/~naters/images/Prague/page_01.htm

 

digitize:

     

 

still image of a new view:

VRML file

 

 

FROM PAINTING

Source Image:

Interior of Pantheon

From   www.byui.edu/Ricks/employee/ DAVISR/HumPix/

 

 

 

VRML file

 

Basic Ideas in calculating the 3D positions

Same Z: 

if the new point is not on the reference point, we can find it's X, Y position by the following method.

 

1.find b1 by projecting the known point to the reference plane ( we know X, Y position of the known point)

2. find v by intersecting line (xVanish X  yVasnish) and line (known pt  X new pt)

3. intersecting (zVanishing Xnew pt) and ( v X b1) to get b0

b0 is the new point projected onto the reference plane. So it has the same X, Y position in the 3D space as the new point.

We can find b0.X and b0.Y by using the homography calculated earlier.

 

 

Same X Y

 

 

1. rp =  the reference height point

2. b = rp projected onto the reference plane

3. we want to find t

    if the new point has the same X, Y position as rp, then t = new point

    else we have to find t by setting t0 = new point and b0 = known point projected to the reference plane and use the similar method as described in SameZ method

    to find t

4. use cross ratio to find t.Z = referenceHeight *     (  ( ||t-b|| * ||Vz-rp||) /  (||rp-b|| * ||Vz-t||) )