ModelFit icon indicating copy to clipboard operation
ModelFit copied to clipboard

Confused about 42 DoF representation

Open strawberryfg opened this issue 9 years ago • 0 comments

I get confused about the 42 DoF representation. I have a few questions. 1)In hand_geometry_mesh.cpp, is the UpdateMatrices function applied to compute each rotation matrix for each 36 joint? Then since 1 DoF is used to represent two joints in each finger, I wonder if the two joints(e.g. finger1joint2) share the same initial rotation matrix? 2)I noticed that in line 328 of hand_geometry_mesh.cpp, psi=0, since the root here should be bone/bone.001/bone.002/bone.003, I think there should be 3 DoF. Besides, the knuckle base has two DoFs, then why it needs F0_THETA, F0_PHI, F0_TWIST(3 DoF)? 3)I opened the file "hand_palm_parent_medium_wrist.dae" and found 22 homogenous matrices. I used these matrices as initial rotation matrices and created a 42 DoF->31 joint representation and displayed it on Matlab, the result is shown below fig1 As found, it is not accurate at all. Global vector [x,y,z,1] should be R1T1R2T2R3T3....RnTn * [0,0,0,1], R1 T1 ..Rn Tn are rotation matrices, I wonder how the produced xyz is converted to xyz in real coordinate system?

  1. NYU annotation isn't about real joint, I don't find the transformation between real joint and mesh (the provided annotation), is there a simple transformation using rotation matrix?
  2. Where is the initial scale and does it change through the whole process?

strawberryfg avatar Feb 21 '16 07:02 strawberryfg