main/src/georegression/geometry/ConvertRotation3D_F64.java
public static Quaternion_F64 rodriguesToQuaternion( Rodrigues_F64 rodrigues,
														Quaternion_F64 quat ) {
		if( quat == null )
			quat = new Quaternion_F64();

		quat.w = Math.cos( rodrigues.theta / 2.0 );
		double s = Math.sin( rodrigues.theta / 2.0 );

		quat.x = rodrigues.unitAxisRotation.x * s;
		quat.y = rodrigues.unitAxisRotation.y * s;
		quat.z = rodrigues.unitAxisRotation.z * s;

		return quat;
	}
public static Quaternion_F64 rodriguesToQuaternion( Rodrigues_F64 rodrigues,
														Quaternion_F64 quat ) {
		if( quat == null )
			quat = new Quaternion_F64();

		quat.w = Math.cos( rodrigues.theta / 2.0 );
		double s = Math.sin( rodrigues.theta / 2.0 );

		quat.x = rodrigues.unitAxisRotation.x * s;
		quat.y = rodrigues.unitAxisRotation.y * s;
		quat.z = rodrigues.unitAxisRotation.z * s;

		return quat;
	}
public static Quaternion_F64 rodriguesToQuaternion ( Rodrigues_F64 rodrigues , Quaternion_F64 quat ) { if ( quat == null ) quat = new Quaternion_F64 ( ) ; quat . w = Math . cos ( rodrigues . theta / 2.0 ) ; double s = Math . sin ( rodrigues . theta / 2.0 ) ; quat . x = rodrigues . unitAxisRotation . x * s ; quat . y = rodrigues . unitAxisRotation . y * s ; quat . z = rodrigues . unitAxisRotation . z * s ; return quat ; }
<p>
Converts {@link georegression.struct.so.Rodrigues_F64} into a unit {@link georegression.struct.so.Quaternion_F64}.
</p>

@param rodrigues The angle of rotation around the rotation axis.
@param quat Storage for quaternion coordinate.  If null a new quaternion is created. Modified.
@return unit quaternion coordinate.
<p > Converts { @link georegression . struct . so . Rodrigues_F64 } into a unit { @link georegression . struct . so . Quaternion_F64 } . < / p >