Hi Neil,

I'll work at updating the online documentation to reflect an accurate explanation of the POPXML format we're using.

In the meantime here's a very simplified explanation, and I would further recommend researching the use of "4 x 4 matrices in computer graphics" (which is what I've been doing!).

In the POPXML file, each instance's position, rotation and scale data is stored on a line in a 4 x 4 matrix.

In the example used above, the matrix for instance id #2 would like like this:

0.958288 0 0.285803 -4646.659

0 1 0 1.0101661

-0.285803 0 0.958288 -493.402

0 0 0 1

The XYZ coordinates of instance #2 is (-4646.659, 1.0101661, -493.402) which corresponds to the values in 4th column in the first 3 rows.

The XYZ Scale information for the instance comes from the first value in the first row, the second value in the second row, and the third value in the third row, however; these values can also be affected by rotation values. For example, note how the first value in the first row and the third value in the third row are the same value of 0.958288, but the second value in the second row is 1.

Explaining how the Rotational values are calculated is a bit above my pay-grade at the moment, but here are some good links that I've found helpful so far.

Spatial Transformation Matrices

https://www.brainvoyager.com/bv/doc/UsersGuide/CoordsAndTransforms/SpatialTransformationMatrices.htmlYoutube video on Matrix Basics

https://www.youtube.com/watch?v=ScYtNmnyF9AIf there are any math-wizards out there, please feel free to elaborate on the use of matrices!