objarray : rotate

objarray rotate <obj> <r11 r12 r13 r21 r22 r23 r31 r32 r33>

For arrays with x y z coordinates, multiply a rotation matrix 3x3 for all array items (the object length must be multiple of 3)

<obj> the objarray with coordinates that will be rotated

<r11 r12 r13 r21 r22 r23 r31 r32 r33> a vector of 9 real numbers to define the rotation

The array doesn't change its type, e.g. an array of integers increased by a real value will truncate the result again as integer.

Warning: the values of <obj> itself are modified, without creating another copy of the object.

e.g.

set obj [objarray new doublearray -values {3.5 2.1 0.3 3.5 2.6 0.3}]
-> 3.5 2.1 0.3 3.5 2.6 0.3
objarray rotate $obj {0.0 -1.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0}
-> -2.1 3.5 0.3 -2.6 3.5 0.3