Module Planar.Make
Random planar graphs
Parameters
B : Graph.Builder.S with type G.V.label = int * int and type G.E.label = int
Signature
type graph
= B.G.t
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 exactlyv
vertices. Vertices are labeled with integer coordinates, randomly distributed according toxrange
andyrange
. Edges are built as follows: the full Delaunay triangulation is constructed and then each edge is discarded with probabiblityprob
(which should lie in0..1
). In particularprob = 0.0
gives the full triangulation. Edges are labeled with the (rounded) Euclidean distance between the two vertices. The booleanloops
indicates whether loops are allowed; default value is no loop (false
).