Beispiel #1
0
        public double CalculateEngergy(IExpansionKernel epk)
        {
            double r = (2 * (rand.NextDouble() - 0.5F));

            double res = epk.Clip(epk.EnergyPdf(r) + Energy);

            return(res);
        }
Beispiel #2
0
        public Region[] Expand(IExpansionKernel epk)
        {
            Region[] regions = new Region[4];

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    regions[j * 2 + i] =
                        new Region(CalculateEngergy(epk),
                                   new Coordinate(i + (Coordinate.X * 2), j + (Coordinate.Y * 2)));
                }
            }

            return(regions);
        }