【问题标题】:C/C++ Delaunay lightweight library that preserves input order保留输入顺序的 C/C++ Delaunay 轻量级库
【发布时间】:2013-12-24 21:49:35
【问题描述】:

很遗憾,我找不到用于对一组点(2D 或 2.5D)执行 Delaunay 三角剖分的 C++(或 C 或 C#)库,该库能够以输入感知方式提供输出。

也就是说,给定一组点 P_1、P_2、..P_N,输出应该由一组三元组(三角形汤)(i_a、i_b、i_c)组成,其中 i_a、i_b 和 i_c 是索引P_i 点的个数(因此数字在 1 和 N 之间)。我试过Fade2D,但我发现它在处理输入方面非常浪费(必须将顶点打包到自己的point2d结构中),并且输出忽略输入的任何索引,提供一组与这些顶点的另一个排序一起坐标。

【问题讨论】:

标签: graphics computational-geometry


【解决方案1】:

我是Fade2D 的作者,这是一个迟到的答案,我不知道你的问题。在插入坐标之前,您不需要将坐标打包到 Point2 类中。还有一个 insert 方法接受一个坐标数组:

void Fade2D::insert(int numPoints,double * aCoordinates,Point2 ** aHandles);

此方法采用坐标数组 (x0,y0,x1,y1,...,xn,yn) 并返回具有完全相同顺序的 Point2* 指针向量。这几乎没有开销。为了您的方便,您可以使用

Point2::setCustomIndex() 和

Point2::getCustomIndex()

存储和检索您自己的索引。

【讨论】:

  • 感谢您的回答,分享此类信息让社区受益永远不会太晚!恭喜这个好工具:)。
猜你喜欢
  • 2010-11-29
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
  • 2021-07-14
  • 1970-01-01
  • 2010-12-26
相关资源
最近更新 更多