【问题标题】:Specify holes in Triangle library在三角形库中指定孔
【发布时间】:2017-06-19 00:50:10
【问题描述】:

我尝试使用Triangle library 来镶嵌带孔的多边形。细分的三角形将由 OpenGL 渲染。 我的多边形有一个外环和多个内环。我所拥有的只是所有环的 x、y 坐标。为了使用 Triangle lib 进行镶嵌,我必须将孔列表和孔数传递给 Triangle 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 */
};

孔由孔内一点的坐标表示。我的问题是:我可以在不指定孔的情况下进行镶嵌(仅使用内环)吗?或者如果我必须列出孔,我怎样才能快速找到孔内的一点?这里的过程是时间紧迫的。

【问题讨论】:

    标签: c++ triangulation


    【解决方案1】:

    您不能在不指定孔的情况下进行细分。 在孔内找到点的一种可能方法是将其三角测量,就好像它是一个简单的环(其中没有孔)并取例如输出三角形之一的质心。我希望它有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      • 2018-04-03
      • 1970-01-01
      • 2013-04-20
      • 2019-09-08
      相关资源
      最近更新 更多