main/src/georegression/geometry/UtilPoint3D_F64.java
public static List<Point3D_F64> random(PlaneNormal3D_F64 plane , double max , int num, Random rand ) {

		List<Point3D_F64> ret = new ArrayList<>();

		Vector3D_F64 axisX = new Vector3D_F64();
		Vector3D_F64 axisY = new Vector3D_F64();

		UtilPlane3D_F64.selectAxis2D(plane.n,axisX,axisY);

		for (int i = 0; i < num; i++) {
			double x = 2*max*(rand.nextDouble()-0.5);
			double y = 2*max*(rand.nextDouble()-0.5);

			Point3D_F64 p = new Point3D_F64();
			p.x = plane.p.x + axisX.x*x + axisY.x*y;
			p.y = plane.p.y + axisX.y*x + axisY.y*y;
			p.z = plane.p.z + axisX.z*x + axisY.z*y;

			ret.add( p );
		}

		return ret;
	}
public static List<Point3D_F64> random(PlaneNormal3D_F64 plane , double max , int num, Random rand ) {

		List<Point3D_F64> ret = new ArrayList<>();

		Vector3D_F64 axisX = new Vector3D_F64();
		Vector3D_F64 axisY = new Vector3D_F64();

		UtilPlane3D_F64.selectAxis2D(plane.n,axisX,axisY);

		for (int i = 0; i < num; i++) {
			double x = 2*max*(rand.nextDouble()-0.5);
			double y = 2*max*(rand.nextDouble()-0.5);

			Point3D_F64 p = new Point3D_F64();
			p.x = plane.p.x + axisX.x*x + axisY.x*y;
			p.y = plane.p.y + axisX.y*x + axisY.y*y;
			p.z = plane.p.z + axisX.z*x + axisY.z*y;

			ret.add( p );
		}

		return ret;
	}
public static List < Point3D_F64 > random ( PlaneNormal3D_F64 plane , double max , int num , Random rand ) { List < Point3D_F64 > ret = new ArrayList <> ( ) ; Vector3D_F64 axisX = new Vector3D_F64 ( ) ; Vector3D_F64 axisY = new Vector3D_F64 ( ) ; UtilPlane3D_F64 . selectAxis2D ( plane . n , axisX , axisY ) ; for ( int i = 0 ; i < num ; i ++ ) { double x = 2 * max * ( rand . nextDouble ( ) - 0.5 ) ; double y = 2 * max * ( rand . nextDouble ( ) - 0.5 ) ; Point3D_F64 p = new Point3D_F64 ( ) ; p . x = plane . p . x + axisX . x * x + axisY . x * y ; p . y = plane . p . y + axisX . y * x + axisY . y * y ; p . z = plane . p . z + axisX . z * x + axisY . z * y ; ret . add ( p ) ; } return ret ; }
Randomly generates a set of points on the plane centered at the plane's origin
using a uniform distribution.

@param plane Plane
@param max Maximum distance from center
@param rand random number generator
@return set of points on the plane
Randomly generates a set of points on the plane centered at the plane s origin using a uniform distribution .