Hello.
I have a small problem. In the last 4 month i tried to create a cube with rounded edges. First I tried OpenGl ES and finally I found my way to jpct-ae. Now its a imported obj file.
Problem: I try to start new Activities based on the cube side the user is looking at, but I don t want to check for all 4 rotation matrices of each cube side. So I wanted to ask if someone knows a better solution. I heard Quaternion are a good way to go, but I don t realy have a clue how they work. 
public class MyMath {
	public static int getVisibleCubeSide(SimpleVector vector){
		int vectorX = (int) Math.round(vector.x);
		int vectorY = (int) Math.round(vector.y);
		int vectorZ = (int) Math.round(vector.z);
	    int[][] posibilities = new int[6][4];
		//klassenbuch
		posibilities[0][0] = 0;
		posibilities[0][1] = 0;
		posibilities[0][2] = 1;
		posibilities[0][3] = 2;
		
		//studenplan
		posibilities[1][0] = 0;
		posibilities[1][1] = 1;
		posibilities[1][2] = 0;
		posibilities[1][3] = 1;
		//countdown
		posibilities[2][0] = 0;
		posibilities[2][1] = 0;
		posibilities[2][2] = -1;
		posibilities[2][3] = 0;
		
		//Lehrer
		posibilities[3][0] = 0;
		posibilities[3][1] = -1;
		posibilities[3][2] = 0;
		posibilities[3][3] = 5;
		
		//Trainer
		posibilities[4][0] = 1;
		posibilities[4][1] = 0;
		posibilities[4][2] = 0;
		posibilities[4][3] = 4;
		//new termine
		posibilities[5][0] = -1;
		posibilities[5][1] = 0;
		posibilities[5][2] = 0;
		posibilities[5][3] = 3;
		
		//checks if the parameter vector equals one of the vectors above
		for(int i = 0; i < 6; i++){
			if(vectorX == posibilities[i][0] && vectorY == posibilities[i][1] && vectorZ == posibilities[i][2]){
				Log.i("side", "v" + vector.toString());
				Log.i("side", "s: " + posibilities[i][3]);
				return posibilities[i][3];
			}
		}
		Log.i("side", "" + -1);
		return -1;
	}
Thats how i calculate my cube side atm. but it s not always correct cause i only check for one rotation matrix for each side but each side has 4 rotation matrices.
So I hope somebody has a good idea how to calculate the cube side based on matrices.
			
			
			
				If you know which polygons belong to which side, picking (see wiki) might be an option.