小编soc*_*tic的帖子

CGAL - 在Delaunay三角剖分后检索顶点索引

我正在计算几千点的2D delaunay三角剖分.每个点都有超过x和y坐标的更多数据.因此,我想知道是否有可能检索每个点的索引,以便我可以在另一个向量中访问我自己的点结构.

目前,当我从Face_handle访问顶点时,它返回一个点(即x,y坐标)如何通过其ID(索引)而不是其x,y坐标返回每个顶点?谢谢.

#include <vector>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Delaunay_triangulation_2.h>

typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
typedef CGAL::Delaunay_triangulation_2<Kernel> Delaunay;
typedef Kernel::Point_2 Point;

void example() {

  std::vector<Point> points;
  points.push_back(Point(1,1)); //index 0
  points.push_back(Point(1,2)); //index 1
  points.push_back(Point(1,3)); //index 2
  points.push_back(Point(2,1)); //index 3
  points.push_back(Point(2,2)); //index 4
  points.push_back(Point(2,3)); //index 5

  Delaunay triangulation;
  triangulation.insert(points.begin(),points.end());

  for(Delaunay::Finite_faces_iterator fit = triangulation.finite_faces_begin();
      fit != triangulation.finite_faces_end(); ++fit) {

    Delaunay::Face_handle face = fit;
    std::cout << "Triangle:\t" << triangulation.triangle(face) << std::endl;
    std::cout << "Vertex 0:\t" << triangulation.triangle(face)[0] << std::endl;
  }
}
Run Code Online (Sandbox Code Playgroud)

输出(x,y坐标):

Triangle:   1 3 1 2 …
Run Code Online (Sandbox Code Playgroud)

c++ delaunay cgal

7
推荐指数
1
解决办法
4366
查看次数

constexpr:浮点表示错误?

我希望将常量从度数转换为弧度(在编译时),所以我选择使用constexpr.但是,我的程序不会编译,因此我尝试通过一些测试来调试问题.这些测试在编译期间继续产生错误.

当涉及许多有效数字时,该问题似乎与浮点算法相关.

我尝试了一个快速的谷歌搜索,我在Stroustrup的书中阅读了10.4节(常量表达式).任何帮助将不胜感激.我一定错过了一些明显的东西.

测试代码:

void testConstantExpressions() {

  constexpr double x0 = 1.0;
  constexpr double y0 = 2.0;
  constexpr double z0 = 4.0;
  constexpr double w0 = x0 / (y0 / z0);
  std::cout << w0 << std::endl;

  constexpr double x1 = 1.0;
  constexpr double y1 = 2.2;
  constexpr double z1 = 4.0;
  constexpr double w1 = x1 / (y1 / z1);
  std::cout << w1 << std::endl;

  constexpr double x2 = 1.0;
  constexpr double y2 = 4.0;
  constexpr double z2 …
Run Code Online (Sandbox Code Playgroud)

c++ constexpr c++11

6
推荐指数
1
解决办法
893
查看次数

标签 统计

c++ ×2

c++11 ×1

cgal ×1

constexpr ×1

delaunay ×1