Collada visual scenes - <matrix> data

Hi All,

I am new to work with collada file. I am currently doing human pose estimation in 3D. I have two questions.

  1. what are the 16 float values in the matrix tag denotes?
  2. How to find distance between two joints using matrix tag values?

Thanks in advance!

This is a 3D graphics “101” type question. You’ll just have to learn a little bit about the subject. The COLLADA manual (specification) may say something, but this is so fundamental it may assume readers are already familiar. E.g. search for “matrix vector 3d” to find topics like language agnostic - Method of transforming 3D vectors with a matrix - Stack Overflow

If you don’t know what a matrix is or does, you’r in for a nasty math-surprise. Don’t hold me responsible for suggesting that it’s an operation that transforms one coordinate-system into another one. You put a point (represented as a vector) from one coordinatesystem into the matrix (representing another frame of reference) and get out new coordinates for the point in the frame of reference you started in. It makes sense when you use more points as they keep their original position relationship unchanged. The matrix represents a fused translate , scale & rotate. You ‘can’ read a translation out of a matrix. The matrix is usually represented like 4 rows or 4 columns. I don’t know the collada-standard here. If it’s represented as rows, you can read x,y,z of a translate as the first three values of every fourth … (3,7,11). The scale follows the diagonal (0,5,10), the last value the perspective divide, but a rotation is more complex. Don’t expect this suggestion to stick to all matrices.