Jump to content
  • Advertisement
Sign in to follow this  

Connecting modified tetrahedrons

This topic is 3989 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi folks, I am currently programing code that "fills" a 3D-Surface-Model with tetrahedrons. In order to do so the first step is to put one big tetrahedron around the 3D-Model. Second, this tetrahedron is subdivided several (user-defined) times into smaller tetrahedrons. Last but not least the program goes through the resulting set of tetrahedrons, throwing away those that are outside of the 3D-Model (comparing against a vertex-particular distance value to the surface of the model), leaving those that are inside and cutting and dividing those that hit the surface of the model. Now, the problem is with these "hitting the surface"-tetrahedrons, that can result into up to three new tetrahedrons that need to be connected to their neighbours. I have got no problems to connect them with the other one or two tetrahedrons that came up in the same old tetrahedron, but i have not solved the problem yet how to build a connection to the new tetrahedrons of an old neighbour tetrahedron. The tetrahedrons are organised in a set, built out of faces, those out of edges and those out of vertices. Each type has stored references to all parents and children (e.g. each face "knows" its edges, of course, and all the tetrahedrons using this face, that can be up to two in my world). Calculating the cutpoints of a tetrahedron with the model surface would have the same result in an edge that is part of two neighbouring tetrahedrons. Up to now i create a new set of modified (cut, thrown away or taken over) unconnected tetrahedrons but for using this model in an animation environment i need them connected. Does anyone have an idea how to organise best the propagation of the yet cut edges to the neighbour tetrahedrons to avoid redundant edges and connect them correctly. Thanks a lot and ask me if you need more particular information. Servus

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!