POLYMERGE(1gv)
π POLYMERGE(1gv) π
okay bestie come CLOSE, this is the polymerge page from the 1gv manual and it's lowkey one of my faves π«Ά
β¨ 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 π
So polymerge literally just eliminates redundancies from polyhedral objects in OOGL's OFF format, and writes another OFF object to its standard output. that's the whole vibe. β¨
(and optionally, if you want, it can produce instead an input file for Brakke's Evolver β we love a multihyphenate π)
Specifically, it combines:
- nearly-coincident vertices
- nearly-collinear edges
- nearly-coplanar faces
Vertices which aren't used on any face get deleted, and so do faces with less than three vertices. bye girl π
Thresholds for approximate equality are adjustable from the command line. The options are:
-vvertex_threshβ merge vertices when they're closer thanvertex_threshapart; the default is.00001. tiny. microscopic. iconic. π¬-Vβ don't attempt to merge vertices. (she's on strike π )-eedge_threshβ merge edges where|sin(vertex_angle)| < edge_thresh; the default is When edges are merged, the corresponding vertex is removed. (no bestie i did NOT typo that, the original page literally says "the default is" and then keeps going π i'm not inventing a number for you, that would be a crime against manpages). also: when edges are merged, the corresponding vertex is removed.-Eβ don't attempt to merge edges. (4OFFedges are never merged, periodt.)-fface_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. slay but also, you know. heads up.-Fβ don't attempt to merge faces. (4OFFfaces are never merged.)-bβ produce an output file in.feformat 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. the messages 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. king behavior, no cap π
π SEE ALSO π
π BUGS π
Coplanar faces are merged even if they were assigned different colors. (yes she ignores your color choices, rude but true π)
Should be able to handle binary OFF objects, but this hasn't been tested.
that's the whole page bestie, go merge some vertices, you got this π§π
with love from the Geometry Center, 25 July 1993 β POLYMERGE(1gv) β¨
π¦ where this page comes from
- debian bookworm: geomview 1.9.5-4+b1
- debian trixie: geomview 1.9.5-5
- fedora 43: geomview 1.9.5-33.20190630git1d6759e.fc43 Β· LGPL-2.0-or-later AND GPL-2.0-or-later
- fedora 44: geomview 1.9.5-35.20190630git1d6759e.fc44 Β· LGPL-2.0-or-later AND GPL-2.0-or-later
- ubuntu jammy: geomview 1.9.5-3build1
- ubuntu noble: geomview 1.9.5-4.1build2
- ubuntu questing: geomview 1.9.5-6
- ubuntu resolute: geomview 1.9.5-6build1
- ubuntu stonking: geomview 1.9.5-6build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms