Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Comments on Watertight Mesh Representation

Post

Watertight Mesh Representation

+4
−2

A watertight mesh is one which does not have holes, and for which each face has a designated inside and outside. Such a mesh can be "tetrahedralized", has a defined volume, and can be an operand in a polyhedral boolean operation.

I'm looking for a method to represent such watertight meshes that reduces the amount of invalid states or singularities. As an example of what I mean, consider a simple mesh of vertex positions and triplets of indices that represent triangles. This is a poor way to represent a watertight mesh because the set of representable meshes largely does not intersect the set of watertight meshes. As a somewhat opposite example, consider a convex hull described by a set of points. This representation has the opposite problem: while every representable mesh is watertight (for now overlooking singularities like a hull defined exclusively by points lying within the same plane), watertight meshes with concavity are not representable.

One possible solution would be to store a set of points, then a set of indices into these points that describe a convex hull that completely encloses the watertight mesh. In addition to these, store zero or more sets of indices that describe convex hulls to be subtracted from the first convex hull to add concavity. This would, with a few singularities, restrict representable meshes to the set of watertight meshes. Requiring each set of indices to contain at least 4 vertices would further reduce the number of singularities in this system.

Are there other ways to represent watertight meshes and operate on them? Possibly a more commonly used, better-researched, or more intuitive way? Common useful operations would include boolean operations or tetrahedralization/triangulation of the resulting mesh.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

5 comment threads

Winged edge (2 comments)
XY Problem? (1 comment)
Do you really just mean closed polyhedron? (4 comments)
Implicit Methods (2 comments)
2 days and no response, so -1 for the dump and run. (2 comments)
Winged edge
Peter Taylor‭ wrote over 2 years ago

The commonly used way is a winged edge data structure, but since it's so common I assume you've considered it and rejected it.

Someone‭ wrote over 2 years ago

AFAIK winged edge just helps with traversing in an efficient manner. The implementations that I saw specifically added handling holes in faces.