main/src/georegression/geometry/UtilPlane3D_F64.java
public static void point3Dto2D(Point3D_F64 pointOnPlane ,
								   Vector3D_F64 axisX , Vector3D_F64 axisY,
								   Point3D_F64 A , Point2D_F64 output ) {

		double x = A.x - pointOnPlane.x;
		double y = A.y - pointOnPlane.y;
		double z = A.z - pointOnPlane.z;

		output.x = x*axisX.x + y*axisX.y + z*axisX.z;
		output.y = x*axisY.x + y*axisY.y + z*axisY.z;
	}
public static void point3Dto2D(Point3D_F64 pointOnPlane ,
								   Vector3D_F64 axisX , Vector3D_F64 axisY,
								   Point3D_F64 A , Point2D_F64 output ) {

		double x = A.x - pointOnPlane.x;
		double y = A.y - pointOnPlane.y;
		double z = A.z - pointOnPlane.z;

		output.x = x*axisX.x + y*axisX.y + z*axisX.z;
		output.y = x*axisY.x + y*axisY.y + z*axisY.z;
	}
Projects the point onto the 2D coordinate system specified by the provided x-axis. If the chose of
x-axis is arbitrary {@link UtilVector3D_F64#perpendicularCanonical(Vector3D_F64, Vector3D_F64)} is recommended
as a way to select

@param pointOnPlane (Input) A point on the plane.
@param axisX (Input) Vector which defines the x-axis
@param axisY (Input) Vector which defines the y-axis
@param A (Input) 3D vector you wish to project. MUST BE ON THE PlANE
@param output (Output) 2D projected vector.