bwp.ex = random.nextDouble() * 10;
bwp.ey = random.nextDouble() * 10;
bwp.ez = random.nextDouble() * 10;
bwp.ppm = random.nextDouble() * 10;
GeocentricTranslation gt = new GeocentricTranslation(bwp);
for (int i = 0; i < (3 * 10); i++) {
double gamma = ((45 + (random.nextDouble() * 10)) * Math.PI) / 180;
double alfa = ((45 + (random.nextDouble() * 10)) * Math.PI) / 180;
// generate source points
ptSrc = new GeneralDirectPosition(R * Math.sin(gamma) * Math.cos(
alfa), R * Math.sin(gamma) * Math.cos(alfa),
R * Math.cos(gamma));
double[] pom = new double[3];
// generates destination points
gt.transform(ptSrc.getCoordinate(), 0, pom, 0, 1);
ptDst = new GeneralDirectPosition(pom);
vectors.add(new MappedPosition(ptSrc,ptDst));
}
BursaWolfTransformBuilder BWPT = new BursaWolfTransformBuilder(vectors);