Understanding vvvv's Transformation Matrices

there are a few things you have to separate:

  • left-handed and right-handed has nothing to do with the matrix layout
  • OpenGL has col-major notation, DirectX row-major notation. that means the matrix element names are transposed
  • you need to make sure which notation is used in your target coordinate system
  • matrix multiplcation does exactly the same in both cases
  • you need to know how the XYZ axis are aligned in both coordinate systems

vvvv uses DirectX conventions:

  • left handed coordinate system with X+ axis right, Y+ axis up, Z+ axis forward
  • row-major matrix notation

for conversion you need two steps:

  • probably a transpose of the vvvv matrix
  • a conversion matrix from the vvvv system into the robot system
  • multiply the transposed vvvv matrix with the conversion matrix, note that AB is not BA try both ways, i don’t know which way ATM

here is a comprehensive document about all info i could find on this topic. see slide 19 for the conversion matrix and 28ff for the matrix conventions:

1 Like