2018-02-04 12:18:34 -05:00
|
|
|
import java.awt.Point;
|
|
|
|
import java.util.Random;
|
2018-02-19 20:55:50 -05:00
|
|
|
//import Jama.Matrix;
|
2018-02-04 12:18:34 -05:00
|
|
|
|
|
|
|
public class Randomizer {
|
|
|
|
|
2018-03-07 00:51:47 -05:00
|
|
|
public static int nextGaussianWithinRange(double rangeBegin, double rangeEnd) {
|
2018-03-15 22:27:44 -04:00
|
|
|
return (int) nextGaussianDoubleWithinRange(rangeBegin, rangeEnd);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static double nextGaussianDoubleWithinRange(double rangeBegin, double rangeEnd) {
|
2018-03-07 00:51:47 -05:00
|
|
|
Random random = new Random();
|
2018-02-19 16:12:25 -05:00
|
|
|
double rangeMean = (rangeEnd + rangeBegin) / 2.0;
|
2018-02-04 15:34:27 -05:00
|
|
|
double rangeSTD = (rangeEnd - rangeMean) / 3.0;
|
2018-03-07 00:51:47 -05:00
|
|
|
|
2018-02-04 15:34:27 -05:00
|
|
|
double result = random.nextGaussian() * rangeSTD + rangeMean;
|
|
|
|
while (result > rangeEnd || result < rangeBegin) {
|
|
|
|
result = random.nextGaussian() * rangeSTD + rangeMean;
|
2018-02-04 12:18:34 -05:00
|
|
|
}
|
2018-03-15 22:27:44 -04:00
|
|
|
return result;
|
2018-02-04 12:18:34 -05:00
|
|
|
}
|
|
|
|
}
|