Man Linux: Main Page and Category List

NAME

       xform - transform a RADIANCE scene description

SYNOPSIS

       xform  [ -c ][ -I ][ -n name ][ -m newmod ][ -f argfile ][ xf0 ][ -a n1
       xf1 ..  ][ -i 1 xff ] file ..

DESCRIPTION

       Xform transforms each scene description file according to  the  options
       given.   If  no  file is specified, the standard input is read.  The -c
       option causes commands in the input not to be expanded.  The default is
       to  execute  all in line commands.  (See note below about file names.)
       The -n option causes all identifiers to be prefixed with name.  The  -m
       option  causes  all  surfaces  to be given the modifier newmod.  The -I
       option causes all surfaces to  be  inverted,  reversing  their  surface
       normal  orientations.  These options are followed by the transformation
       options, which are described below.

       The -f option causes the xform command line to be constructed from  the
       given  file, by inserting each line of the file at the current point in
       the command argument list.  Each line in the  file  will  result  in  a
       logically  separate  invocation of xform, and may may contain any valid
       xform arguments, including nested -f options.  This is a convenient way
       to specify multiple copies of an object that do not fit a regular array
       pattern, without having to actually execute xform many times.  Separate
       scene  files  may  be specified this way as well, but remember that the
       constructed command line must fit the format of  initial  options  (-n,
       -m, -c, -I) followed by the transform then the scene files.  No initial
       options may appear after the first transform option, and  no  transform
       options  will be understood after the first named file.  In the special
       case where the argument to the -f option is a hyphen (’-’), xform  will
       take  its  arguments  from  the standard input.  Note that xform cannot
       simultaneously take its scene information from the  standard  input  if
       the  option  is  used  in  this  way.   Competely empty lines and lines
       beginning with a pound sign (’#’) will be silently ignored.   Beginning
       "!xform" or "xform" command names will also be ignored.

       If  one  or  more scene files are given on the command line, xform will
       search the RADIANCE library directories  for  each  file.   (No  search
       takes  place  if a file name begins with a ’.’, ’/’ or ’~’ character.)
       Unless the -c option is present, xform will also change to that  file’s
       directory  before  loading it.  Thus, any commands executed within that
       file will happen in that  file’s  directory,  which  simplifies  object
       hierarchy construction.

       The  transformation  consists  of  a  sequence  of operations which are
       executed in the order they appear.

OPTIONS

       -t x y z  Translate the scene along the vector x y z .

       -rx degrees
                 Rotate the scene  degrees  about  the  x  axis.   A  positive
                 rotation  corresponds  to counter-clockwise when looking down
                 the axis.

       -ry degrees
                 Rotate the scene degrees about the y axis.

       -rz degrees
                 Rotate the scene degrees about the z axis.

       -s factor Scale the scene by factor.

       -mx       Mirror the scene about the yz plane.

       -my       Mirror the scene about the xz plane.

       -mz       Mirror the scene about the xy plane.

       -i count  Iterate (repeat) the following transformation (up to the next
                 -i  option) count times.  This option is primarily to support
                 the -a option, which is described below.

   Arrays
       An array is a  repeated  transformation  that  results  in  a  repeated
       object.  It is specified using the -a option, which takes the number to
       repeat as its argument.  The objects will step  by  the  transformation
       given  between  this -a option and the next -a or -i option.  The first
       object will have zero applications of the transform.  A two-dimensional
       array  is  given  by  two different transformations each preceded by an
       array count.

EXAMPLE

       To rotate ‘‘book’’ 30 degrees about the x  axis  then  move  20  in  y,
       prepending the name book1:

         xform -n book1 -rx 30 -t 0 20 0 book > book1

       To  expand  all  commands  and see what information is actually used by
       RADIANCE:

         xform scene | more

       To create a two-dimensional  array  of  20  lights,  after  an  initial
       rotation and followed by a global translation (no command expansion):

         xform -c -rz 90 -a 5 -t 2 0 0 -a 4 -t 0 1.5 0 -i 1 -t 0 0 10 light

ENVIRONMENT

       RAYPATH        path to search for scene files

AUTHOR

       Greg Ward

BUGS

       Only regular (distortion-free) transformations are allowed.

SEE ALSO

       genrbox(1), gensurf(1), oconv(1), replmarks(1), rpict(1), rvu(1)