   Determining a mesh from an internal 3d structure
  I have a 3D structure consisting of spheres, tubes, cubes and rectangular columns. I wish to determine a closed mesh that will encompass the 3D structure with some minimum distance from the internal structure. The mesh itself has nice Bezier curves and could form a torus or other shape with holes. In addition to the mesh, I need to know the volume that the mesh encompasses.How do I go about determining the geometry of the mesh? Is there a library I can buy or must I get a mathematics guy to write one for me?Approximately how many person-weeks of work is it to write the logic if the technology is DirectX and .Net?  I'm not looking for a precise estimate, rather a way to judge just how much work exists so that I can create a budget.  I'm I asking for a days of work, few weeks of work, or a few months?   
Quote:Original post by ElenesskiI have a 3D structure consisting of spheres, tubes, cubes and rectangular columns. I wish to determine a closed mesh that will encompass the 3D structure with some minimum distance from the internal structure. The mesh itself has nice Bezier curves and could form a torus or other shape with holes. In addition to the mesh, I need to know the volume that the mesh encompasses.A couple of questions. When you say 'some minimum distance', do you mean a fixed distance, or a variable distance? If the latter, what determines the distance?Also, I'm not sure what you mean by 'the mesh itself has nice Bezier curves...'. If the original structure consists of spheres, tubes (cylindrical?), and rectangular prisms, then a mesh 'expanded' by a fixed distance should consist of those shapes also. I'm guessing I'm misunderstanding you though. In any case, maybe you could clarify a bit.   ;  I realize it is difficult to articulate a graphical construct in terms of words when I don't know all of the math or graphics nomenclature -- I hope this is clearer.In terms of a specific calculation/determination of any given mesh, the distance would always be fixed (from the outer reaches of any internal structural object).  However, it would be variable depending on which method you used to describe it's final outer shape.For example, suppose you have two rectangular boxes which form an "X" shape, that is 10 x 4 x 1 (hieght, width, depth), and a minimum distance of 1 unit.  At the intersection point between the two boxes, the width is also 1.I'm not looking for a mesh that is simply a larger X shape 12x6x2 in size, with points, what I want is an "X" shape that is more like a bubble with smooth curves forming the outside structure.  For example, (and using a bit of imagination) consider this shape:http://www.pacifict.com/images/Example4.gifWhile it doesn't show a minimum distance at the crossing point (of the two boxes), it does show the bubble that could be formed around the top and bottom edges of the "X" shape.Consider an "o" shape, that is 100x100x10 with the internal structure being 5 units in diameter.  Using a minimum distance of 1 (as well) the resulting mesh would be a torus/donut shape.   ;Quote:Original post by ElenesskiI realize it is difficult to articulate a graphical construct in terms of words when I don't know all of the math or graphics nomenclature -- I hope this is clearer.In terms of a specific calculation/determination of any given mesh, the distance would always be fixed (from the outer reaches of any internal structural object).  However, it would be variable depending on which method you used to describe it's final outer shape.For example, suppose you have two rectangular boxes which form an "X" shape, that is 10 x 4 x 1 (hieght, width, depth), and a minimum distance of 1 unit.  At the intersection point between the two boxes, the width is also 1.I'm not looking for a mesh that is simply a larger X shape 12x6x2 in size, with points, what I want is an "X" shape that is more like a bubble with smooth curves forming the outside structure.  For example, (and using a bit of imagination) consider this shape:http://www.pacifict.com/images/Example4.gifWhile it doesn't show a minimum distance at the crossing point (of the two boxes), it does show the bubble that could be formed around the top and bottom edges of the "X" shape.Consider an "o" shape, that is 100x100x10 with the internal structure being 5 units in diameter.  Using a minimum distance of 1 (as well) the resulting mesh would be a torus/donut shape.The problem is interesting, but unfortunately I'm still a bit confused (although less so). If you have a drawing program available, perhaps you could illustrate the problem in 2D, that is, give some examples of medial structures and the resulting expanded mesh that you have in mind.It seems that what you're after is an expansion of a possibly non-convex source mesh by a given radius, but I'm still not clear on this:Quote:In terms of a specific calculation/determination of any given mesh, the distance would always be fixed (from the outer reaches of any internal structural object). However, it would be variable depending on which method you used to describe it's final outer shape.What do you mean by 'method used to describe its final shape'? It seems you're saying the distance is both fixed and variable, which I'm confused by. Sorry if I'm being a bit dense about it :-)   ;  This is a fairly straightforward procedure. First you define a function that gives the distance to the nearest point on the 3D structure. There are simple formulae available for spheres, cylinders, cubes etc. From there you can define an implicit surface at any arbitrary distance from the original structure. Then you can apply marching tetrahedra or similar algorithms to get a triangle mesh. Probably would take a day or two for a decent programmer.   ;  http://i74.photobucket.com/albums/i268/Elenesski/Xwithredmesh.jpgConsider the image above.  It has an internal "X" shape, but the red area represents the mesh with rounded edges around the outside of the shape, with some minimum distance from the internal structure.  The outer mesh has nice curves on it rather than "points" representing a larger X shape.The term "method" is to indicate that the logic for generating the mesh would be contained within a class, and I'd call a method to generate the mesh, call a different method to calculate the volume, etc.   ;Quote:Original post by Elenesskihttp://i74.photobucket.com/albums/i268/Elenesski/Xwithredmesh.jpgConsider the image above.  It has an internal "X" shape, but the red area represents the mesh with rounded edges around the outside of the shape, with some minimum distance from the internal structure.  The outer mesh has nice curves on it rather than "points" representing a larger X shape.The term "method" is to indicate that the logic for generating the mesh would be contained within a class, and I'd call a method to generate the mesh, call a different method to calculate the volume, etc.If the derived mesh is a constant distance from the internal mesh (which I didn't get from the original post), then something like what Pragma suggested should work. The only thing I'm not sure about is the 'smoothing' in concavities (I'm pretty sure the aforementioned algorithm would preserve creases in concavitites, which according to your posted image isn't what you want).   ;  Smoothing of the concavities is why I suggested a Bezier curve.  Perhaps there is some way to use those fuctions once the "outer shell" has been determined by the method described.   