Is the non-unique solution due to the selection of 90 degrees as the pitch angle? Ultimately, I need a unique solution. Is it reasonable to assume that this might be addressed by calculating the difference for a 3rd vector? I don't know the math so I'm only assuming the following modified script would retrieve the necessary values from the matrix to calculate a 3rd vector:
	#Extract forward/up vector from euler1
	m.setRot( vizmat.EulerToAxisAngle(euler1) )
	d = m.get()
	forward1 = d[8:11]
	up1 = d[4:7]
        side1 = d[12:3]
	#Extract forward/up vector from euler2
	m.setRot( vizmat.EulerToAxisAngle(euler2) )
	d = m.get()
	forward2 = d[8:11]
	up2 = d[4:7]
        side2 = d[12:3]
Am I wondering in the dark?
 
 
Alternatively, wouldn't a unique solution also result if I calculated the displacement from the facing direction AND the angle of rotation about that axis (the facing direction)?