这又是一个关于CGAL 3D曲面网格的问题。CGAL为无界隐式曲面生成3D曲面网格
http://doc.cgal.org/latest/Surface_mesher/index.html#Chapter_3D_Surface_Mesh_Generation
随着定义
Surface_3 surface(sphere_function, // pointer to function
Sphere_3(CGAL::ORIGIN, 64.0)); // bounding sphere
(如示例中给出的代码太)我定义由“球函数”和半径的Sphere_3给定的隐式表面8
现在的区别是,“球体函数”的零点(与其现在的误导性名称相反)不再局限于Sphere_3内部。相反,'sphere_function'代表一个无界的表面(想想x^2 + y^2 - z^2 - 1 = 0),我的目的是三角化它在Sphere_3中的部分。
在我的例子中,到目前为止,这个工作很好,如果只是为了一些烦人的问题,我不知道如何克服:隐式表面与Sphere相交的边界非常“粗糙”或“锯齿状”超过可接受的数量。
我已经尝试过'Manifold_with_boundary_tag()',但没有做任何改进。以改善,我考虑输出,
一条道路转换三角网格(一个C2t3)成Polyhedron_3并且这一个Nef_polyhedron和相交,与一个Nef_polyhedron良好近似稍小球体。但是,这看起来有点像用大炮射击麻雀,不过我现在没有更好的主意,Google也没有提示。所以我的问题:这个问题该怎么办?可以用CGAL来完成(并且适度的编程工作),还是使用其他系统是必要的还是更好的?我试图开发一个程序,它构造代数曲面的三维可打印模型,并且在边界中平滑并且在平滑的三角形中是我最后一步,在我能够将表面移交给OpenSCAD生成一个厚度不变的实体)。
你可以在更大的球体中网格化。你会找到与小球相交的脸。这会给你提供清晰的功能来保护。 –