void Awake() { // Create random points int n = seed; points = new List <Vec3>(); switch (usedGenerator) { case Generator.Halton: for (int i = 0; i < pointNumber; i++) { // Random sparse distribution Vec3 temp = HaltonSequence.Halton2D(n, bases[0], bases[1]); points.Add(new Vec3(temp.X * boundaries[0] + transform.position.x, temp.Y * boundaries[1] + transform.position.y, transform.position.z)); n++; } break; case Generator.Poisson: RandGen.Init(seed); poissonGen = new PoissonDisk2D(minimalDistance, boundaries[0], boundaries[1], maxAttemp); poissonGen.BuildSample(pointNumber); foreach (Vec3 point in poissonGen) { points.Add(point); } break; default: throw new NotImplementedException(); } // Place camera var cam = Camera.main; cam.transform.position = new Vector3(boundaries[0] / 2.0f, boundaries[1] / 2.0f, -0.8f * Mathf.Max(boundaries)); }
// Use this for initialization void Awake() { RandGen.Init(seed); if (dim == Dimension.Two) { generator2D = new PoissonDisk2D(minimalDistance, boundaries[0], boundaries[1], maxAttemp); } else { generator3D = new PoissonDisk3D(minimalDistance, boundaries[0], boundaries[1], boundaries[2], maxAttemp); } // Place camera var cam = Camera.main; cam.transform.position = new Vector3(boundaries[0] / 2.0f, boundaries[1] / 2.0f, -0.8f * Mathf.Max(boundaries)); }