【发布时间】:2017-06-19 00:50:10
【问题描述】:
我尝试使用Triangle library 来镶嵌带孔的多边形。细分的三角形将由 OpenGL 渲染。
我的多边形有一个外环和多个内环。我所拥有的只是所有环的 x、y 坐标。为了使用 Triangle lib 进行镶嵌,我必须将孔列表和孔数传递给 Triangle lib 到它的 triangulateio 结构成员:holelist 和 numberofholes
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 */
};
孔由孔内一点的坐标表示。我的问题是:我可以在不指定孔的情况下进行镶嵌(仅使用内环)吗?或者如果我必须列出孔,我怎样才能快速找到孔内的一点?这里的过程是时间紧迫的。
【问题讨论】:
标签: c++ triangulation