1POLYMERGE(1gv)                                                  POLYMERGE(1gv)
2
3
4

NAME

6       polymerge  - merge coincident vertices, collinear edges, coplanar faces
7       in an OOGL OFF object
8

SYNOPSIS

10       polymerge [-v vertex_thresh] [-e  edge_thresh]  [-f  face_thresh]  [-V]
11       [-E] [-F] [-d] [-b] [inputfile.off]
12

DESCRIPTION

14       Polymerge eliminates redundancies from polyhedral objects in OOGL's OFF
15       format, and writes another OFF object to its standard output.  (Option‐
16       ally  it  can  produce  instead  an  input  file for Brakke's Evolver.)
17       Specifically, it combines nearly-coincident vertices,  nearly-collinear
18       edges,  and  nearly-coplanar  faces.  Vertices which aren't used on any
19       face are deleted, as are faces with less than three vertices.   Thresh‐
20       olds  for  approximate  equality  are adjustable from the command line.
21       Options are:
22
23       -v vertex_thresh
24              Merge vertices when they're closer than vertex_thresh apart; the
25              default is .00001.
26
27       -V     Don't attempt to merge vertices.
28
29       -e edge_thresh
30              Merge edges where |sin(vertex_angle)| < edge_thresh; the default
31              is When edges are merged, the corresponding vertex is removed.
32
33       -E     Don't attempt to merge edges.  (4OFF edges are never merged.)
34
35       -f face_thresh
36              Merge faces sharing an edge where the faces are nearly coplanar:
37              when   |sin(angle_between_face_normal_vectors)|  <  face_thresh.
38              The default is .03, or about two degrees.  Note that merging can
39              create faces which are concave polygons.
40
41       -F     Don't attempt to merge faces. (4OFF faces are never merged.)
42
43       -b     Produce  an  output  file  in  .fe  format  for Brakke's Surface
44              Evolver, instead of a new OFF file.
45
46       -d     Include debugging information as comments in the new OFF object.
47              The  comments  indicate which vertices and faces in the original
48              object correspond to which in the new one.  Messages include:
49
50       # Vtx nnn->mmm
51              Merged vertices nnn  and  mmm  (both  indices  in  the  original
52              object).
53
54       # Merged face nnn into mmm (vertices vvv www) n1.n2 s
55              Faces nnn and mmm in the original object were merged; their com‐
56              mon edge joined original vertices vvv and www.   The  cosine  of
57              the angle between the face normals was s.
58
59       vertex coordinates  # newvertno [order] # oldvertno
60              Each  vertex written appears with its new index, its order (num‐
61              ber of edges touching that vertex), and its old index (index  of
62              a corresponding vertex in the original object).
63
64       face description  # oldvertno ...
65              For  each new face, with N vertices after reduction, the comment
66              indicates N corresponding vertices in the original object.
67

AUTHOR

69       Stuart Levy, Geometry Center, University of Minnesota
70

SEE ALSO

72       anytooff(1), offconsol(1)
73

BUGS

75       Coplanar faces are merged even if they were assigned different  colors.
76       Should  be  able  to  handle  binary  OFF objects, but this hasn't been
77       tested.
78
79
80
81Geometry Center                  25 July 1993                   POLYMERGE(1gv)
Impressum