main/src/georegression/geometry/UtilPlane3D_F64.java
public static void selectAxis2D( Vector3D_F64 normal , Vector3D_F64 axisX , Vector3D_F64 axisY ) {
		UtilVector3D_F64.perpendicularCanonical(normal,axisX);
		axisX.normalize();
		axisY.cross(normal,axisX);
		axisY.normalize();
	}
public static void selectAxis2D( Vector3D_F64 normal , Vector3D_F64 axisX , Vector3D_F64 axisY ) {
		UtilVector3D_F64.perpendicularCanonical(normal,axisX);
		axisX.normalize();
		axisY.cross(normal,axisX);
		axisY.normalize();
	}
public static void selectAxis2D ( Vector3D_F64 normal , Vector3D_F64 axisX , Vector3D_F64 axisY ) { UtilVector3D_F64 . perpendicularCanonical ( normal , axisX ) ; axisX . normalize ( ) ; axisY . cross ( normal , axisX ) ; axisY . normalize ( ) ; }
There are an infinite number of possible 2D coordinate axises for a plane. This selects one which
will be right handed using
{@link UtilVector3D_F64#perpendicularCanonical(Vector3D_F64, Vector3D_F64)} and a cross product.

@param normal (Input) The plane's normal or z-axis
@param axisX (Output) Selected x-axis. Normalized
@param axisY (output) Selected y-axis. Normalized
There are an infinite number of possible 2D coordinate axises for a plane . This selects one which will be right handed using { @link UtilVector3D_F64#perpendicularCanonical ( Vector3D_F64 Vector3D_F64 ) } and a cross product .