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