assaas

package com.jleo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class NormTest {

	public static double normrnd(double mu, double sigma) {
		double N = 12;
		double x = 0, temp = N;
		do {
			x = 0;
			for (int i = 0; i < N; i++)
				x = x + (Math.random());
			x = (x - temp / 2) / (Math.sqrt(temp / 12));
			x = mu + x * Math.sqrt(sigma);
		} while (x <= 0);
		return x;
	}

	public static double[] addInv(double[] r) {
		double[] result = new double[r.length * 2];
		for (int i = 0; i < result.length; i += 2) {
			result[i] = r[i / 2];
			result[i + 1] = -r[i / 2];
		}
		return result;
	}

	public static double[] normrnd(double sigma, int num) {
		double[] r = new double[num];
		for (int i = 0; i < num; i++) {
			r[i] = normrnd(0, sigma);
		}
		return addInv(r);
	}

	public static Position[] generateMap() {
		int numberOfDots = 5000;
		// int magnify = 1;
		double mu = 3;
		double sigma = 1;

		double[] x = new double[numberOfDots];
		double[] y = new double[numberOfDots];

		Position[]positionCollection=new Position[numberOfDots];
		for (int i = 0; i < numberOfDots; i++) {
			x[i] = (normrnd(mu, sigma)-3)*5000;
			y[i] = (normrnd(mu, sigma)-3)*5000;
			positionCollection[i] = new Position(x[i], y[i]);
			//System.out.println(x[i] + "," + y[i]);
		}
		//
		// for (int i = 0; i < positionCollection.length; i=i+2) {
		// positionCollection[i] = new Position(x[i], x[i+1]);
		// }
		return positionCollection;
	}

	public static void main(String[] args) {
		NormTest.generateMap();
	}
}

你可能感兴趣的:(java)