polymerge(1)
NAME
- polymerge - merge coincident vertices, collinear edges,
- coplanar faces in an OOGL OFF object
SYNOPSIS
polymerge [-v vertex_thresh] [-e edge_thresh] [-f
face_thresh] [-V] [-E] [-F] [-d] [-b] [inputfile.off]
DESCRIPTION
- Polymerge eliminates redundancies from polyhedral objects
- in OOGL's OFF format, and writes another OFF object to its stan
- dard output. (Optionally it can produce instead an input file
- for Brakke's Evolver.) Specifically, it combines nearly-coinci
- dent vertices, nearly-collinear edges, and nearly-coplanar faces.
- Vertices which aren't used on any face are deleted, as are faces
- with less than three vertices. Thresholds for approximate equal
- ity are adjustable from the command line. Options are:
- -v vertex_thresh
- Merge vertices when they're closer than
- vertex_thresh apart; the default is .00001.
- -V Don't attempt to merge vertices.
- -e edge_thresh
- Merge edges where |sin(vertex_angle)| <
- edge_thresh; the default is When edges are merged, the corre
- sponding vertex is removed.
- -E Don't attempt to merge edges. (4OFF edges are nev
- er merged.)
- -f face_thresh
- Merge faces sharing an edge where the faces are
- nearly coplanar: when |sin(angle_between_face_normal_vectors)| <
- face_thresh. The default is .03, or about two degrees. Note
- that merging can create faces which are concave polygons.
- -F Don't attempt to merge faces. (4OFF faces are never
- merged.)
- -b Produce an output file in .fe format for Brakke's
- Surface Evolver, instead of a new OFF file.
- -d Include debugging information as comments in the
- new OFF object. The comments indicate which vertices and faces
- in the original object correspond to which in the new one. Mes
- sages include:
- # Vtx nnn->mmm
- Merged vertices nnn and mmm (both indices in the
- original object).
- # Merged face nnn into mmm (vertices vvv www) n1.n2 s
- Faces nnn and mmm in the original object were
- merged; their common edge joined original vertices vvv and www.
- The cosine of the angle between the face normals was s.
- vertex coordinates # newvertno [order] # oldvertno
- Each vertex written appears with its new index, its
- order (number of edges touching that vertex), and its old index
- (index of a corresponding vertex in the original object).
- face description # oldvertno ...
- For each new face, with N vertices after reduction,
- the comment indicates N corresponding vertices in the original
- object.
AUTHOR
Stuart Levy, Geometry Center, University of Minnesota
SEE ALSO
BUGS
- Coplanar faces are merged even if they were assigned dif
- ferent colors. Should be able to handle binary OFF objects, but
- this hasn't been tested.
- Geometry Center 25 July 1993