Logo ROOT  
Reference Guide
Go to the documentation of this file.
1// @(#)root/hist:$Id: TGraphDelaunay2D.cxx,v 1.00
2// Author: Olivier Couet, Luke Jones (Royal Holloway, University of London)
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
12#include "TMath.h"
13#include "TGraph2D.h"
14#include "TGraphDelaunay2D.h"
16//#include <thread>
21/** \class TGraphDelaunay2D
22 \ingroup Hist
23TGraphDelaunay2D generates a Delaunay triangulation of a TGraph2D. This
24triangulation code derives from an implementation done by Luke Jones
25(Royal Holloway, University of London) in April 2002 in the PAW context.
27This software cannot be guaranteed to work under all circumstances. They
28were originally written to work with a few hundred points in an XY space
29with similar X and Y ranges.
31Definition of Delaunay triangulation (After B. Delaunay):
32For a set S of points in the Euclidean plane, the unique triangulation DT(S)
33of S such that no point in S is inside the circumcircle of any triangle in
34DT(S). DT(S) is the dual of the Voronoi diagram of S. If n is the number of
35points in S, the Voronoi diagram of S is the partitioning of the plane
36containing S points into n convex polygons such that each polygon contains
37exactly one point and every point in a given polygon is closer to its
38central point than to any other. A Voronoi diagram is sometimes also known
39as a Dirichlet tessellation.
41\image html tgraph2d_delaunay.png
43[This applet](http://www.cs.cornell.edu/Info/People/chew/Delaunay.html)
44gives a nice practical view of Delaunay triangulation and Voronoi diagram.
47/// TGraphDelaunay2D normal constructor
49 TNamed("TGraphDelaunay2D","TGraphDelaunay2D"),
50 fGraph2D(g),
51 fDelaunay((g) ? g->GetN() : 0, (g) ? g->GetX() : nullptr, (g) ? g->GetY() : nullptr, (g) ? g->GetZ() : nullptr ,
52 (g) ? g->GetXmin() : 0, (g) ? g->GetXmax() : 0,
53 (g) ? g->GetYmin() : 0, (g) ? g->GetYmax() : 0 )
#define g(i)
Definition: RSha256.hxx:105
#define ClassImp(name)
Definition: Rtypes.h:361
Graphics object made of three arrays X, Y and Z with the same number of points each.
Definition: TGraph2D.h:41
TGraphDelaunay2D generates a Delaunay triangulation of a TGraph2D.
TGraphDelaunay2D(const TGraphDelaunay2D &)
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29