def test_shear_from_matrix(): # This seems to fail sometimes if the random numbers # roll certain values.... # angle = (random.random() - 0.5) * 4*math.pi # direct = np.random.random(3) - 0.5 # point = np.random.random(3) - 0.5 # normal = np.cross(direct, np.random.random(3)) # So here are some of my random numbers angle = 2.8965075413405783 direct = np.array([-0.31117458, -0.41769518, -0.01188556]) point = np.array([-0.0035982, -0.40997482, 0.42241425]) normal = np.cross(direct, np.array([0.08122421, 0.4747914, 0.19851859])) S0 = t.shear_matrix(angle, direct, point, normal) angle, direct, point, normal = t.shear_from_matrix(S0) S1 = t.shear_matrix(angle, direct, point, normal) assert_equal(t.is_same_transform(S0, S1), True)
def test_shear_from_matrix(): # This seems to fail sometimes if the random numbers # roll certain values.... # angle = (random.random() - 0.5) * 4*math.pi # direct = np.random.random(3) - 0.5 # point = np.random.random(3) - 0.5 # normal = np.cross(direct, np.random.random(3)) # So here are some of my random numbers angle = 2.8965075413405783 direct = np.array([-0.31117458, -0.41769518, -0.01188556]) point = np.array([-0.0035982, -0.40997482, 0.42241425]) normal = np.cross(direct, np.array([ 0.08122421, 0.4747914 , 0.19851859])) S0 = t.shear_matrix(angle, direct, point, normal) angle, direct, point, normal = t.shear_from_matrix(S0) S1 = t.shear_matrix(angle, direct, point, normal) assert_equal(t.is_same_transform(S0, S1), True)
def test_shear_from_matrix(): # This seems to fail sometimes if the random numbers # roll certain values.... # angle = (random.random() - 0.5) * 4*np.pi # direct = np.random.random(3) - 0.5 # point = np.random.random(3) - 0.5 # normal = np.cross(direct, np.random.random(3)) # In this random configuration the test will fail about 0.05% of all times. # Then we hit some edge-cases of the algorithm. The edge cases for these # values are slightly different for the linalg library used (MKL/LAPACK). # So here are some of my random numbers angle = 2.8969075413405783 # arbitrary values direct = np.array([-0.31117458, -0.41769518, -0.01188556]) point = np.array([-0.0035982, -0.40997482, 0.42241425]) normal = np.cross(direct, np.array([0.08122421, 0.4747914, 0.19851859])) S0 = t.shear_matrix(angle, direct, point, normal) angle, direct, point, normal = t.shear_from_matrix(S0) S1 = t.shear_matrix(angle, direct, point, normal) assert_equal(t.is_same_transform(S0, S1), True)