github.com/joshvarga/voronoi@v0.0.0-20180211004454-2fd26fbdfffb/utils/sites.go (about)

     1  // Copyright 2013 Przemyslaw Szczepaniak.
     2  // MIT License: See https://github.com/gorhill/Javascript-Voronoi/LICENSE.md
     3  
     4  // Author: Przemyslaw Szczepaniak (przeszczep@gmail.com)
     5  // Utils for processing voronoi diagrams
     6  
     7  package utils
     8  
     9  import (
    10  	"github.com/pzsz/voronoi"
    11  	"math/rand"
    12  )
    13  
    14  // Generate random sites in given bounding box
    15  func RandomSites(bbox voronoi.BBox, count int) []voronoi.Vertex {
    16  	sites := make([]voronoi.Vertex, count)
    17  	w := bbox.Xr - bbox.Xl
    18  	h := bbox.Yb - bbox.Yt
    19  	for j := 0; j < count; j++ {
    20  		sites[j].X = rand.Float64() * w + bbox.Xl
    21  		sites[j].Y = rand.Float64() * h + bbox.Yt
    22  	}
    23  	return sites
    24  }