First, sorry for moving this out of the other topic, but it suits better in a topic of its own

.

Anyway, my interpretation (since I don't have the war3 source code, lol) of "Matrices { A, B }" is that the final calculated position is inbetween the positions calculated from "Matrices { A }" and "Matrices { B }". A linear interpolation, kind of.

So, first you calculate the position from the first matrix group (P is vertex position, P1 is new transformed position):

P1 = P * A * WhateverOtherTransformationsAreMade

Then you calcuate the second (and third, and fourth, etc...):

P2 = P * B * WhateverOtherTransformationsAreMade

Then the final position is weighted from all Pn above with 0.5 (1/2):

X = P1.X * 0.5 + P2.X * 0.5

Y = P1.Y * 0.5 + P2.Y * 0.5

Z = P1.Z * 0.5 + P2.Z * 0.5

If you have 3 matrix groups you weight with 0.33 (1/3)

If you have 4 matrix groups you weight with 0.25 (1/4)

etc...

That's how I did it. If it's correct I cannot guarantee. As I said, I don't have access to their source code

.