--- ray/src/rt/rv3.c 2012/03/20 03:37:08 2.37 +++ ray/src/rt/rv3.c 2012/09/06 00:07:43 2.38 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rv3.c,v 2.37 2012/03/20 03:37:08 greg Exp $"; +static const char RCSid[] = "$Id: rv3.c,v 2.38 2012/09/06 00:07:43 greg Exp $"; #endif /* * rv3.c - miscellaneous routines for rview. @@ -517,16 +517,13 @@ moveview( /* move viewpoint */ ) { double d; - FVECT v1; VIEW nv = ourview; int i; spinvector(nv.vdir, ourview.vdir, ourview.vup, angle*(PI/180.)); - if (elev != 0.0) { - fcross(v1, ourview.vup, nv.vdir); - normalize(v1); - spinvector(nv.vdir, nv.vdir, v1, elev*(PI/180.)); - } + if (elev != 0.0) + geodesic(nv.vdir, nv.vdir, nv.vup, elev*(-PI/180.), GEOD_RAD); + if (nv.type == VT_PAR) { nv.horiz /= mag; nv.vert /= mag;