Hi Eric,
Based on your advice, I tried the following methods, and they all worked:
In[1386]:= finalaffops
Method 1:
Table[(i[[1;;3,1;;3]] . Transpose[{{x,y,z}}] + i[[1;;3,4]])//Transpose,{i,finalaffops}]//ArrayFlatten[#,1]&
Method 2:
Plus@@{ArrayFlatten[#[[1;;3,1;;3]] . Transpose[{{x,y,z}}],1],#[[1;;3,4]]}&/@finalaffops
Method 3:
Join[finalaffops,{{{1,0,0,1/2},{0,1,0,1/2},{0,0,1,1/2},{0,0,0,1}}}];
Map[Dot[#, {x, y, z, 1}] &, %[[All, 1 ;; 3]], {-2}]
Out[1386]= {{{0, -1, 0, 1/2}, {0, 0, -1, 1/2}, {-1, 0, 0, -(1/2)}, {0,
0, 0, 1}}, {{0, 1, 0, -1}, {-1, 0, 0, 1}, {0, 0, -1, -2}, {0, 0,
0, 1}}}
Out[1387]= {{1/2 - y, 1/2 - z, -(1/2) - x}, {-1 + y, 1 - x, -2 - z}}
Out[1388]= {{1/2 - y, 1/2 - z, -(1/2) - x}, {-1 + y, 1 - x, -2 - z}}
Out[1390]= {{1/2 - y, 1/2 - z, -(1/2) - x}, {-1 + y,
1 - x, -2 - z}, {1/2 + x, 1/2 + y, 1/2 + z}}
P.S.: Your code snippet is the most concise one in all these methods.