2017-02-02 60 views
0

我试图使用Triangle library镶嵌带孔的多边形。镶嵌三角形将由OpenGL渲染。 我的多边形有一个外部环和多个内部环。我所拥有的是所有环的x,y坐标。为了与三角LIB棋盘格状,我要通过孔列表和空穴三角的数目lib添加到其triangulateio结构构件:holelistnumberofholes指定三角形库中的孔

struct triangulateio { 
    REAL *pointlist;            /* In/out */ 
    REAL *pointattributelist;          /* In/out */ 
    int *pointmarkerlist;           /* In/out */ 
    int numberofpoints;           /* In/out */ 
    int numberofpointattributes;         /* In/out */ 

    int *trianglelist;            /* In/out */ 
    REAL *triangleattributelist;         /* In/out */ 
    REAL *trianglearealist;           /* In only */ 
    int *neighborlist;            /* Out only */ 
    int numberoftriangles;           /* In/out */ 
    int numberofcorners;           /* In/out */ 
    int numberoftriangleattributes;        /* In/out */ 

    int *segmentlist;            /* In/out */ 
    int *segmentmarkerlist;          /* In/out */ 
    int numberofsegments;           /* In/out */ 

    REAL *holelist;      /* In/pointer to array copied out */ 
    int numberofholes;          /* In/copied out */ 

    REAL *regionlist;      /* In/pointer to array copied out */ 
    int numberofregions;         /* In/copied out */ 

    int *edgelist;             /* Out only */ 
    int *edgemarkerlist;   /* Not used with Voronoi diagram; out only */ 
    REAL *normlist;    /* Used only with Voronoi diagram; out only */ 
    int numberofedges;            /* Out only */ 
}; 

这些孔由内孔的一个点的坐标表示。我的问题是:我可以在没有指定孔的情况下进行曲面细分(只使用内部环)?或者如果我必须列出这些洞,我如何能够快速找到洞内的一个点?这个过程对时间至关重要。

回答

0

如果不指定孔,则不能进行曲面细分。 找到一个孔内的一个点的一种可能的方法是将其作为一个简单的环(它没有孔)进行三角测量,输出三角形之一的质量中心。我希望它有帮助。