public PositionSet3D getRandomPositionSet(int pointNum)
        {
            unchecked
            {
                int seed = (int)DateTime.Now.Ticks;
                this.pointNum = pointNum;
                LaplaceDistribution distributionX = new LaplaceDistribution(new StandardGenerator(seed++));
                distributionX.Alpha = X_Alpha;

                LaplaceDistribution distributionY = new LaplaceDistribution(new StandardGenerator(seed++));
                distributionY.Alpha = Y_Alpha;

                LaplaceDistribution distributionZ = new LaplaceDistribution(new StandardGenerator(seed++));
                distributionZ.Alpha = Z_Alpha;

                Random r = new Random();
                for (int i = 0; i < clusterPointNum; i++)
                {
                    distributionX.Mu = minMu + (float)(r.NextDouble() * (maxMu - minMu));
                    distributionY.Mu = minMu + (float)(r.NextDouble() * (maxMu - minMu));
                    distributionZ.Mu = minMu + (float)(r.NextDouble() * (maxMu - minMu));
                    RandomPositionSet3D randomPositionSet =
                        new RandomPositionSet3D((int)(pointNum / clusterPointNum), scale, distributionX, distributionY, distributionZ);
                    positionSet3D = (PositionSet3D)randomPositionSet;
                }
            }
            return(positionSet3D);
        }
Example #2
0
        public PositionSet3D getRandomPositionSet(int pointNum)
        {
            unchecked
            {
                int seed = (int)DateTime.Now.Ticks;
                this.pointNum = pointNum;
                NormalDistribution distributionX = new NormalDistribution(new StandardGenerator(seed++));
                distributionX.Sigma = X_Sigma;

                NormalDistribution distributionY = new NormalDistribution(new StandardGenerator(seed++));
                distributionY.Sigma = Y_Sigma;

                NormalDistribution distributionZ = new NormalDistribution(new StandardGenerator(seed++));
                distributionZ.Sigma = Z_Sigma;

                Random r = new Random();

                //int scale = 1;

                for (int i = 0; i < clusterPointNum; i++)
                {
                    distributionX.Mu = minMu + (float)(r.NextDouble() * (maxMu - minMu));
                    distributionY.Mu = minMu + (float)(r.NextDouble() * (maxMu - minMu));
                    distributionZ.Mu = minMu + (float)(r.NextDouble() * (maxMu - minMu));
                    RandomPositionSet3D randomPositionSet3D =
                        new RandomPositionSet3D((int)(pointNum / clusterPointNum), scale, distributionX, distributionY, distributionZ);
                    positionSet3D = randomPositionSet3D;
                }
            }
            return(positionSet3D);
        }