def test_translation(): assert_almost_equal(colvec(1, 2, 1), translation(colvec(0, 0)).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(4, 6, 1), translation(colvec(3, 4)).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(-2, -2, 1), translation(colvec(-3, -4)).dot(colvec(1, 2, 1)))
def test_change_transform_origin(): assert np.array_equal(change_transform_origin(translation([3, 4]), [1, 2]), translation([3, 4])) assert_almost_equal( colvec(1, 2, 1), change_transform_origin(rotation(pi), [1, 2]).dot(colvec(1, 2, 1))) assert_almost_equal( colvec(0, 0, 1), change_transform_origin(rotation(pi), [1, 2]).dot(colvec(2, 4, 1))) assert_almost_equal( colvec(0, 0, 1), change_transform_origin(scaling([0.5, 0.5]), [-2, -4]).dot(colvec(2, 4, 1)))
def test_shear(): assert_almost_equal(colvec(1, 2, 1), shear(0.0 * pi).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(-1, 0, 1), shear(0.5 * pi).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(1, -2, 1), shear(1.0 * pi).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(3, 0, 1), shear(1.5 * pi).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(1, 2, 1), shear(2.0 * pi).dot(colvec(1, 2, 1)))
def test_rotation(): assert_almost_equal(colvec(1, 0, 1), rotation(0.0 * pi).dot(colvec(1, 0, 1))) assert_almost_equal(colvec(0, 1, 1), rotation(0.5 * pi).dot(colvec(1, 0, 1))) assert_almost_equal(colvec(-1, 0, 1), rotation(1.0 * pi).dot(colvec(1, 0, 1))) assert_almost_equal(colvec(0, -1, 1), rotation(1.5 * pi).dot(colvec(1, 0, 1))) assert_almost_equal(colvec(1, 0, 1), rotation(2.0 * pi).dot(colvec(1, 0, 1))) assert_almost_equal(colvec(0, 1, 1), rotation(0.0 * pi).dot(colvec(0, 1, 1))) assert_almost_equal(colvec(-1, 0, 1), rotation(0.5 * pi).dot(colvec(0, 1, 1))) assert_almost_equal(colvec(0, -1, 1), rotation(1.0 * pi).dot(colvec(0, 1, 1))) assert_almost_equal(colvec(1, 0, 1), rotation(1.5 * pi).dot(colvec(0, 1, 1))) assert_almost_equal(colvec(0, 1, 1), rotation(2.0 * pi).dot(colvec(0, 1, 1)))
def test_colvec(): assert np.array_equal(colvec(0), np.array([[0]])) assert np.array_equal(colvec(1, 2, 3), np.array([[1], [2], [3]])) assert np.array_equal(colvec(-1, -2), np.array([[-1], [-2]]))
def test_scaling(): assert_almost_equal(colvec(1.0, 2, 1), scaling(colvec(1.0, 1.0)).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(0.0, 2, 1), scaling(colvec(0.0, 1.0)).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(1.0, 0, 1), scaling(colvec(1.0, 0.0)).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(0.5, 4, 1), scaling(colvec(0.5, 2.0)).dot(colvec(1, 2, 1)))
def test_shear(): assert_almost_equal(colvec( 1, 2, 1), shear(0.0 * pi).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(-1, 0, 1), shear(0.5 * pi).dot(colvec(1, 2, 1))) assert_almost_equal(colvec( 1, -2, 1), shear(1.0 * pi).dot(colvec(1, 2, 1))) assert_almost_equal(colvec( 3, 0, 1), shear(1.5 * pi).dot(colvec(1, 2, 1))) assert_almost_equal(colvec( 1, 2, 1), shear(2.0 * pi).dot(colvec(1, 2, 1)))
def test_translation(): assert_almost_equal(colvec( 1, 2, 1), translation(colvec( 0, 0)).dot(colvec(1, 2, 1))) assert_almost_equal(colvec( 4, 6, 1), translation(colvec( 3, 4)).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(-2, -2, 1), translation(colvec(-3, -4)).dot(colvec(1, 2, 1)))
def test_rotation(): assert_almost_equal(colvec( 1, 0, 1), rotation(0.0 * pi).dot(colvec(1, 0, 1))) assert_almost_equal(colvec( 0, 1, 1), rotation(0.5 * pi).dot(colvec(1, 0, 1))) assert_almost_equal(colvec(-1, 0, 1), rotation(1.0 * pi).dot(colvec(1, 0, 1))) assert_almost_equal(colvec( 0, -1, 1), rotation(1.5 * pi).dot(colvec(1, 0, 1))) assert_almost_equal(colvec( 1, 0, 1), rotation(2.0 * pi).dot(colvec(1, 0, 1))) assert_almost_equal(colvec( 0, 1, 1), rotation(0.0 * pi).dot(colvec(0, 1, 1))) assert_almost_equal(colvec(-1, 0, 1), rotation(0.5 * pi).dot(colvec(0, 1, 1))) assert_almost_equal(colvec( 0, -1, 1), rotation(1.0 * pi).dot(colvec(0, 1, 1))) assert_almost_equal(colvec( 1, 0, 1), rotation(1.5 * pi).dot(colvec(0, 1, 1))) assert_almost_equal(colvec( 0, 1, 1), rotation(2.0 * pi).dot(colvec(0, 1, 1)))
def test_change_transform_origin(): assert np.array_equal(change_transform_origin(translation([3, 4]), [1, 2]), translation([3, 4])) assert_almost_equal(colvec(1, 2, 1), change_transform_origin(rotation(pi), [1, 2]).dot(colvec(1, 2, 1))) assert_almost_equal(colvec(0, 0, 1), change_transform_origin(rotation(pi), [1, 2]).dot(colvec(2, 4, 1))) assert_almost_equal(colvec(0, 0, 1), change_transform_origin(scaling([0.5, 0.5]), [-2, -4]).dot(colvec(2, 4, 1)))