experimental/src/georegression/fitting/se/MotionSe3PointCrossCovariance_F64.java
private void extractQuaternionFromQ( SimpleMatrix q ) {
		SimpleEVD<SimpleMatrix> evd = q.eig();
		int indexMax = evd.getIndexMax();

		SimpleMatrix v_max = evd.getEigenVector( indexMax );

		quat.w = (double) v_max.get( 0 );
		quat.x = (double) v_max.get( 1 );
		quat.y = (double) v_max.get( 2 );
		quat.z = (double) v_max.get( 3 );
		quat.normalize();

		ConvertRotation3D_F64.quaternionToMatrix( quat, motion.getR() );
	}
private void extractQuaternionFromQ( SimpleMatrix q ) {
		SimpleEVD<SimpleMatrix> evd = q.eig();
		int indexMax = evd.getIndexMax();

		SimpleMatrix v_max = evd.getEigenVector( indexMax );

		quat.w = (double) v_max.get( 0 );
		quat.x = (double) v_max.get( 1 );
		quat.y = (double) v_max.get( 2 );
		quat.z = (double) v_max.get( 3 );
		quat.normalize();

		ConvertRotation3D_F64.quaternionToMatrix( quat, motion.getR() );
	}
private void extractQuaternionFromQ ( SimpleMatrix q ) { SimpleEVD < SimpleMatrix > evd = q . eig ( ) ; int indexMax = evd . getIndexMax ( ) ; SimpleMatrix v_max = evd . getEigenVector ( indexMax ) ; quat . w = ( double ) v_max . get ( 0 ) ; quat . x = ( double ) v_max . get ( 1 ) ; quat . y = ( double ) v_max . get ( 2 ) ; quat . z = ( double ) v_max . get ( 3 ) ; quat . normalize ( ) ; ConvertRotation3D_F64 . quaternionToMatrix ( quat , motion . getR ( ) ) ; }
The unit eigenvector corresponding to the maximum eigenvalue of Q is the rotation
parameterized as a quaternion.
The unit eigenvector corresponding to the maximum eigenvalue of Q is the rotation parameterized as a quaternion .