@@ -437,7 +437,6 @@ def test_rotate_around(self):
437
437
assert_array_almost_equal (r90 [2 ].transform (self .multiple_points ), [
438
438
[2 , 2 , 0 ], [- 1 , 0 , 0 ], [2 , 0 , 4 ], [- 3 , 5 , 0 ], [- 4 , 6 , 6 ]])
439
439
440
-
441
440
r_pi = [Affine3D ().rotate_around (* self .pivot , np .pi , dim ) for dim in range (3 )]
442
441
r180 = [Affine3D ().rotate_deg_around (* self .pivot , 180 , dim ) for dim in range (3 )]
443
442
@@ -448,7 +447,6 @@ def test_rotate_around(self):
448
447
assert_array_almost_equal (r180 [2 ].transform (self .multiple_points ), [
449
448
[0 , 2 , 0 ], [2 , - 1 , 0 ], [2 , 2 , 4 ], [- 3 , - 3 , 0 ], [- 4 , - 4 , 6 ]])
450
449
451
-
452
450
r_pi_3_2 = [Affine3D ().rotate_around (* self .pivot , 3 * np .pi / 2 , dim )
453
451
for dim in range (3 )]
454
452
r270 = [Affine3D ().rotate_deg_around (* self .pivot , 270 , dim ) for dim in range (3 )]
@@ -472,6 +470,16 @@ def test_rotate_around(self):
472
470
assert_array_almost_equal (
473
471
(r90 [dim ] + r180 [dim ]).get_matrix (), r270 [dim ].get_matrix ())
474
472
473
+ def test_scale (self ):
474
+ sx = Affine3D ().scale (3 , 1 , 1 )
475
+ sy = Affine3D ().scale (1 , - 2 , 1 )
476
+ sz = Affine3D ().scale (1 , 1 , 4 )
477
+ trans = Affine3D ().scale (3 , - 2 , 4 )
478
+ assert_array_equal ((sx + sy + sz ).get_matrix (), trans .get_matrix ())
479
+ assert_array_equal (trans .transform (self .single_point ), [3 , - 2 , 4 ])
480
+ assert_array_equal (trans .transform (self .multiple_points ), [
481
+ [6 , 0 , 0 ], [0 , - 6 , 0 ], [0 , 0 , 16 ], [15 , - 10 , 0 ], [18 , - 12 , 24 ]])
482
+
475
483
476
484
def test_non_affine_caching ():
477
485
class AssertingNonAffineTransform (mtransforms .Transform ):
0 commit comments