module Make: functor (
B
:
Builder.S
with type G.V.label = int * int and type G.E.label = int
) >
S
with type graph = B.G.t
Random planar graphs
Parameters: 
B 
: 
Builder.S with type G.V.label = int * int and type G.E.label = int


type
graph
val graph : ?loops:bool >
xrange:int * int >
yrange:int * int > prob:float > int > graph
graph xrange yrange prob v
generates a random planar graph with exactly v
vertices.
Vertices are labeled with integer coordinates, randomly distributed
according to xrange
and yrange
.
Edges are built as follows: the full Delaunay triangulation is
constructed and then each edge is discarded with probabiblity prob
(which should lie in 0..1
). In particular prob = 0.0
gives the
full triangulation.
Edges are labeled with the (rounded) Euclidean distance between
the two vertices.
The boolean loops
indicates whether loops are allowed;
default value is no loop (false
).