Here is some test data I collected:
The values extracted from the matrix are only correct when only one of offset/repeat/rotation is set.
===================================
rotation 0
u: repeat 1
v: repeat 5
0x000000ec1a2c8260 {1.00000000, 0.000000000, 0.000000000, 0.000000000}
0x000000ec1a2c8270 {0.000000000, 5.00000000, 0.000000000, 0.000000000}
0x000000ec1a2c8280 {0.000000000, 0.000000000, 1.00000000, 0.000000000}
0x000000ec1a2c8290 {0.000000000, 0.000000000, 0.000000000, 1.00000000}
scale:
{X=1.00000000 Y=5.00000000 Z=1.00000000 }
======================================
rotation 60
u: repeat 1
v: repeat 1
0x000000ec1a2c8260 {0.500000000, 0.866025388, 0.000000000, 0.000000000}
0x000000ec1a2c8270 {-0.866025388, 0.500000000, 0.000000000, 0.000000000}
0x000000ec1a2c8280 {0.000000000, 0.000000000, 1.00000000, 0.000000000}
0x000000ec1a2c8290 {0.000000000, 0.000000000, 0.000000000, 1.00000000}
roration:
{Pitch=0.000000000 Yaw=59.9999847 Roll=0.000000000 }
======================================
rotation 60
u: repeat 1
v: repeat 5
0x000000ec1a2c8260 {0.500000000, 4.33012724, 0.000000000, 0.000000000}
0x000000ec1a2c8270 {-0.866025388, 2.50000000, 0.000000000, 0.000000000}
0x000000ec1a2c8280 {0.000000000, 0.000000000, 1.00000000, 0.000000000}
0x000000ec1a2c8290 {0.000000000, 0.000000000, 0.000000000, 1.00000000}
scale:
{X=4.35889912 Y=2.64575124 Z=1.00000000 }
rotation:
{Pitch=0.000000000 Yaw=46.6961861 Roll=0.000000000 }
======================================
rotation 0
u: offset 2 repeat 1
v: offset 4 repeat 1
0x000000ec1a2c8400 {1.0000000000000000, 0.00000000000000000, 0.00000000000000000, -2.0000000000000000}
0x000000ec1a2c8420 {0.00000000000000000, 1.0000000000000000, 0.00000000000000000, -4.0000000000000000}
0x000000ec1a2c8440 {0.00000000000000000, 0.00000000000000000, 1.0000000000000000, 0.00000000000000000}
0x000000ec1a2c8460 {0.00000000000000000, 0.00000000000000000, 0.00000000000000000, 1.0000000000000000}
translation:
{X=-2.00000000 Y=-4.00000000 Z=0.000000000 }
scale:
{X=1.00000000 Y=1.00000000 Z=1.00000000 }
======================================
rotation 60
u: offset 2 repeat 1
v: offset 4 repeat 1
0x000000ec1a2c8400 {0.50000000000000011, -0.86602540378443860, 0.00000000000000000, 2.4641016151377544}
0x000000ec1a2c8420 {0.86602540378443860, 0.50000000000000011, 0.00000000000000000, -3.7320508075688776}
0x000000ec1a2c8440 {0.00000000000000000, 0.00000000000000000, 1.0000000000000000, 0.00000000000000000}
0x000000ec1a2c8460 {0.00000000000000000, 0.00000000000000000, 0.00000000000000000, 1.0000000000000000}
translation:
{X=2.46410155 Y=-3.73205090 Z=0.000000000 }
rotation:
{Pitch=0.000000000 Yaw=59.9999847 Roll=0.000000000 }
======================================
rotation 60
u: offset 2 repeat 1
v: offset 4 repeat 5
0.50000000000000011, -0.86602540378443860, 0.00000000000000000, 2.4641016151377544}
4.3301270189221928, 2.5000000000000004, 0.00000000000000000, -18.660254037844389}
0.00000000000000000, 0.00000000000000000, 1.0000000000000000, 0.00000000000000000}
0.00000000000000000, 0.00000000000000000, 0.00000000000000000, 1.0000000000000000}
translation:
{X=2.46410155 Y=-18.6602535 Z=0.000000000 }
scale:
{X=4.35889912 Y=2.64575124 Z=1.00000000 }
rotation:
{Pitch=0.000000000 Yaw=46.6961861 Roll=0.000000000 }