code: func NewCluster(pointers ...geo.Pointer) *Cluster {
  	var (
  		sumX, sumY float64
  		count      int
  	)
  
  	c := &Cluster{
  		Pointers: pointers,
  	}
  
  	if len(pointers) == 0 {
  		c.Centroid = geo.NewPoint(0, 0)
  		return c
  	}
  
  	if len(pointers) == 1 {
  		c.Centroid = pointers[0].Point().Clone()
  		return c
  	}
  
  	// find the center/centroid of multiple points
  	for _, pointer := range c.Pointers {
  		cp := pointer.Point()
  
  		sumX += cp.X()
  		sumY += cp.Y()
  		count++
  	}
  	c.Centroid = geo.NewPoint(sumX/float64(count), sumY/float64(count))
  
  	return c
  }
docs: // NewCluster creates the point cluster and finds the center of the given pointers.