Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] performance of Delaunay Triangulation of random 3D points

Subject: CGAL users discussion list

List archive

[cgal-discuss] performance of Delaunay Triangulation of random 3D points


Chronological Thread 
  • From: Ding <>
  • To:
  • Subject: [cgal-discuss] performance of Delaunay Triangulation of random 3D points
  • Date: Sat, 20 Dec 2008 17:33:12 +0100 (CET)

Dear all,

There are some statements saying that CGAL can perform 3D DT of 1M random
points under 20 sec (13 or 16 sec). However, I tried the example provided in
the CGAL manual, 3D DT of only 0.125M points took 52.59 sec on a 2.13 GHz Core
2 Duo computer with 2G memory (Mac OSX 10.5). So I'm just wondering if any
options need to be set for better performance. Thank you!

The testing code is as follows, which is almost the same as provided in the
manual.

/******************* code begin *******************/
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Delaunay_triangulation_3.h>
#include <CGAL/Triangulation_hierarchy_3.h>

#include <cassert>
#include <vector>

typedef CGAL::Exact_predicates_inexact_constructions_kernel K;

typedef CGAL::Triangulation_vertex_base_3<K> Vb;
typedef CGAL::Triangulation_hierarchy_vertex_base_3<Vb> Vbh;
typedef CGAL::Triangulation_data_structure_3<Vbh> Tds;
typedef CGAL::Delaunay_triangulation_3<K,Tds> Dt;
typedef CGAL::Triangulation_hierarchy_3<Dt> Dh;

typedef Dh::Finite_vertices_iterator Finite_vertices_iterator;
typedef Dh::Vertex_handle Vertex_handle;
typedef Dh::Point Point;

#include <boost/progress.hpp>

int main()
{
// generating points on a grid.
std::vector<Point> P;

for (int z=0 ; z<50 ; z++)
for (int y=0 ; y<50 ; y++)
for (int x=0 ; x<50 ; x++)
P.push_back(Point(x,y,z));

Dh T;

{
boost::progress_timer timer(std::cout);
T.insert (P.begin(), P.end());
}


return 0;
}

/******************* code end *******************/


regards,
df



Archive powered by MHonArc 2.6.16.

Top of Page