Man Linux: Main Page and Category List

NAME

       gensurf  -  generate  a  RADIANCE  or Wavefront description of a curved
       surface

SYNOPSIS

       gensurf mat namex(s,t)’ ’y(s,t)’ ’z(s,t)m n [ -e expr ][ -f file ][
       -s ][ -o ]
       gensurf mat namex(s,t)’ ’y(s,t)dfile m n [ -e expr ][ -f file ][ -s
       ][ -o ]
       gensurf mat name dfile dfile dfile m n [ -s ][ -o ]

DESCRIPTION

       Gensurf produces either a RADIANCE scene  description  or  a  Wavefront
       .OBJ  file  of a functional surface defined by the parametric equations
       x(s,t), y(s,t), and z(s,t).  The surface normal is defined by the right
       hand  rule  as  applied  to (s,t).  S will vary from 0 to 1 in steps of
       1/m, and t will vary from 0 to 1 in steps of 1/n.  The surface will  be
       composed   of   2*m*n  or  fewer  triangles  and  quadrilaterals.   The
       expressions are of the same  type  used  in  RADIANCE  function  files.
       Auxiliary expressions and/or files may be specified in any number of -e
       and  -f  options.   The  -s  option  adds  smoothing  (surface   normal
       interpolation) to the surface.  The -o option produces a Wavefront .OBJ
       file rather than a RADIANCE scene description.  This is most useful  as
       input  to  the  obj2mesh(1)  program  for producing a compiled mesh.  A
       single "usemtl" statement will appear at  the  beginning  of  the  .OBJ
       output, echoing the modifier given on the command line.

       Rough  holes  may be cut in the mesh by defining a valid(s,t) function.
       Where this function is positive, polygon  vertices  will  be  produced.
       Where  it  is  negative,  no  geometry  will be output.  Surface normal
       interpolation will ignore any invalid vertices.

       The second invocation form reads z data values  from  the  file  dfile.
       This  file must give either m*n or (m+1)*(n+1) floating point z values.
       If m*n values are given, then the values correspond to the centroid  of
       each  quadrilateral  region.  If (m+1)*(n+1) values are given, then the
       values correspond to the vertices of each  quadrilateral  region.   The
       ordering of the data in the file is such that the s values are changing
       faster than the t values.  If a minus (’-’) is given  for  dfile,  then
       the values are read from the standard input.

       The  third  invocation  form is used to read coordinate triplets from a
       file or the standard input.  The three dfile arguments must all be  the
       same,  and  the  corresponding  file  must contain three floating point
       values for each point location.  The ordering and other details are the
       same as those described for z value files above.

EXAMPLE

       To generate a tesselated sphere:

         gensurf     crystal    ball    ’sin(PI*s)*cos(2*PI*t)’    ’cos(PI*s)’
         ’sin(PI*s)*sin(2*PI*t)’ 7 10

       To generate a 10x20 smoothed height field from  12  recorded  vertex  z
       values:

         gensurf dirt ground ’10*s’ ’20*t’ height.dat 2 3 -s

AUTHOR

       Greg Ward

BUGS

       The  smoothing  operation requires that functions be defined beyond the
       [0,1] boundaries of s and t.

SEE ALSO

       genrbox(1), genrev(1), genworm(1), icalc(1),  obj2mesh(1),  obj2rad(1),
       rpict(1), rvu(1), xform(1)