Draft.

Lens transformation does not preserve parallel lines which cross front planes.
However, if to restrict scene by small neighbourhood of an arbitrary point x0, y0 =/= 0, and z0,
then linear members of Taylor expansion of Lens transformation will produce
linear transformation which will preserve any parallel lines.

Here we take axis y as normal to front planes. For 0<y<<y0,
                       
   R=(X,Y) ~ (x+x0,z+z0)(1-y/y0)
   
   Omitting constant members, we have:
                       
   R = const * (x+by,z+gy), or     
   R~Lr,                          (LL)
   
   where
      
   L ~ 1  b   0   
       0  g   1 
   Lr is a multiplication of L by vector-column r= || x, ||
                                                   || y  ||,
   b=-x0/y0
   g=-z0/y0
   
   Well known such transformation is Isometry.
   In Isometry, angles between x, y, and z axes are 120 degrees on screen.
   To reach this effect, we can first rotate axes counterclockwise 45 degrees, and
   then apply linear lens transformation LL.   
           
   If axes x',y' rotated counterclockwise by angle alpha, coordinates will be rotated clockwise:
   
           x =  cx' + sy'   
           y = -sx' + cy'
           z =           z'
           s=sin(alpha)                  

           or r=Tr'.            (T)
   
   In Isometry, alpha=45 degrees, => s=c=sqrt(2)/2.
   To complete desired effect, we also will choose z0 to achive
   angle 120 degrees between y and z on screen.
   Substituting (T) into (LL) we obtain:
   
   R=(axx'+ayy',bzz'+bxx'+byy')

   For Isometry:
   ax=q=sqrt(3)/2
   ay=-q
   bx=1/2
   by=1/2
   bz=1
   
   Previous Draft

Copyright (C) 2007-2009 Konstantin V. Kirillov.