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).