main/src/georegression/geometry/UtilPoint4D_F64.java
public static List<Point4D_F64> randomN( Point3D_F64 center , double w, double stdev, int num, Random rand ) {
		List<Point4D_F64> ret = new ArrayList<>();

		for( int i = 0; i < num; i++ ) {
			Point4D_F64 p = new Point4D_F64();
			p.x = center.x + rand.nextGaussian() * stdev;
			p.y = center.y + rand.nextGaussian() * stdev;
			p.z = center.z + rand.nextGaussian() * stdev;
			p.w = w;

			ret.add( p );
		}

		return ret;
	}
public static List<Point4D_F64> randomN( Point3D_F64 center , double w, double stdev, int num, Random rand ) {
		List<Point4D_F64> ret = new ArrayList<>();

		for( int i = 0; i < num; i++ ) {
			Point4D_F64 p = new Point4D_F64();
			p.x = center.x + rand.nextGaussian() * stdev;
			p.y = center.y + rand.nextGaussian() * stdev;
			p.z = center.z + rand.nextGaussian() * stdev;
			p.w = w;

			ret.add( p );
		}

		return ret;
	}
Normally distributed homogenous 3D point. w is fixed