main/src/georegression/struct/se/SpecialEuclideanOps_F64.java
public static Se3_F64 axisXyz(double dx, double dy, double dz, double rotX, double rotY, double rotZ,
								  Se3_F64 se) {
		if( se == null )
			se = new Se3_F64();

		double theta = Math.sqrt(rotX*rotX + rotY+rotY + rotZ*rotZ);
		if( theta == 0 ) {
			CommonOps_DDRM.setIdentity(se.R);
		} else {
			ConvertRotation3D_F64.rodriguesToMatrix( rotX/theta, rotY/theta, rotZ/theta,theta, se.getR() );
		}

		Vector3D_F64 T = se.getT();
		T.x = dx;
		T.y = dy;
		T.z = dz;
		return se;
	}
public static Se3_F64 axisXyz(double dx, double dy, double dz, double rotX, double rotY, double rotZ,
								  Se3_F64 se) {
		if( se == null )
			se = new Se3_F64();

		double theta = Math.sqrt(rotX*rotX + rotY+rotY + rotZ*rotZ);
		if( theta == 0 ) {
			CommonOps_DDRM.setIdentity(se.R);
		} else {
			ConvertRotation3D_F64.rodriguesToMatrix( rotX/theta, rotY/theta, rotZ/theta,theta, se.getR() );
		}

		Vector3D_F64 T = se.getT();
		T.x = dx;
		T.y = dy;
		T.z = dz;
		return se;
	}
public static Se3_F64 axisXyz ( double dx , double dy , double dz , double rotX , double rotY , double rotZ , Se3_F64 se ) { if ( se == null ) se = new Se3_F64 ( ) ; double theta = Math . sqrt ( rotX * rotX + rotY + rotY + rotZ * rotZ ) ; if ( theta == 0 ) { CommonOps_DDRM . setIdentity ( se . R ) ; } else { ConvertRotation3D_F64 . rodriguesToMatrix ( rotX / theta , rotY / theta , rotZ / theta , theta , se . getR ( ) ) ; } Vector3D_F64 T = se . getT ( ) ; T . x = dx ; T . y = dy ; T . z = dz ; return se ; }
Create SE3 using axis-angle for rotation and XYZ tanslation

@param dx   Translation along x-axis.
@param dy   Translation along y-axis.
@param dz   Translation along z-axis.
@param rotX x-axis component
@param rotY y-axis component
@param rotZ z-axis component
@param se   If not null then the transform is written here.
@return The transform.
Create SE3 using axis - angle for rotation and XYZ tanslation