flagflag  
3: 2011-12-11 (Sun) 21:25:50 iseki source Cur: 2011-12-15 (Thu) 21:44:41 admin source
Line 3: Line 3:
   Vector<double> vect;    Vector<double> vect;
   bool normal_joint[OPENNI_MAX_JOINT_NUM];    bool normal_joint[OPENNI_MAX_JOINT_NUM];
 + 
   //    //
   for (int j=1; j<OPENNI_MAX_JOINT_NUM; j++) {    for (int j=1; j<OPENNI_MAX_JOINT_NUM; j++) {
Line 17: Line 17:
       }        }
   }    }
- +  
 + 
   // mPelvis    // mPelvis
   posVect[0] = (posVect[17] + posVect[21])*0.5;    posVect[0] = (posVect[17] + posVect[21])*0.5;
Line 25: Line 25:
   rotQuat[0].setRotation(thz, 0.0, 0.0, 1.0);    rotQuat[0].setRotation(thz, 0.0, 0.0, 1.0);
   if (!isCalibrated) setStartPosData(posVect[0]);    if (!isCalibrated) setStartPosData(posVect[0]);
- +  
 + 
   //    //
   for (int j=1; j<OPENNI_MAX_JOINT_NUM; j++) {    for (int j=1; j<OPENNI_MAX_JOINT_NUM; j++) {
       normal_joint[j] = true;        normal_joint[j] = true;
 + 
       if (OpenNI2SLJointNum[j]>=0) {        if (OpenNI2SLJointNum[j]>=0) {
           if (jointRotationConfidence((XnSkeletonJoin​t)j)>EXKINECT_WND_CONFIDENCE) {            if (jointRotationConfidence((XnSkeletonJoin​t)j)>EXKINECT_WND_CONFIDENCE) {
Line 42: Line 42:
               double m33 = rot.elements[8];                double m33 = rot.elements[8];
               Vector<double> eul = RotMatrixElements2EulerXYZ(m11, m12, m13, m21, m31, m32, m33);                Vector<double> eul = RotMatrixElements2EulerXYZ(m11, m12, m13, m21, m31, m32, m33);
- + 
-                if (j==2 || j==3 || j==6 || j==12 || j==17 || j==21) { +
-                   if (Xabs(-eul.y-thz)>PI_DIV2) eul.y = -thz; +
-               }+
               Vector<double> vct(-eul.x, -eul.y, eul.z);    // Mirror: vct(-eul.x, eul.y, -eul.z);                Vector<double> vct(-eul.x, -eul.y, eul.z);    // Mirror: vct(-eul.x, eul.y, -eul.z);
               rotQuat[j].setEulerYZX(vct);                rotQuat[j].setEulerYZX(vct);
Line 55: Line 52:
       }        }
   }    }
- +  
 + 
   // Leg    // Leg
   rotQuat[22] = ~rotQuat[21]*rotQuat[22];    rotQuat[22] = ~rotQuat[21]*rotQuat[22];
   rotQuat[18] = ~rotQuat[17]*rotQuat[18];    rotQuat[18] = ~rotQuat[17]*rotQuat[18];
 + 
   // Right Hand    // Right Hand
   rotQuat[13] = ~rotQuat[12]*rotQuat[13];    rotQuat[13] = ~rotQuat[12]*rotQuat[13];
   rotQuat[12] = ~rotQuat[ 2]*rotQuat[12];    rotQuat[12] = ~rotQuat[ 2]*rotQuat[12];
 + 
   // Left Hand    // Left Hand
   rotQuat[ 7] = ~rotQuat[ 6]*rotQuat[ 7];    rotQuat[ 7] = ~rotQuat[ 6]*rotQuat[ 7];
   rotQuat[ 6] = ~rotQuat[ 2]*rotQuat[ 6];    rotQuat[ 6] = ~rotQuat[ 2]*rotQuat[ 6];
 + 
   rotQuat[ 2] = ~rotQuat[ 3]*rotQuat[ 2];    rotQuat[ 2] = ~rotQuat[ 3]*rotQuat[ 2];
   rotQuat[ 3] = ~rotQuat[ 0]*rotQuat[ 3];    rotQuat[ 3] = ~rotQuat[ 0]*rotQuat[ 3];
- +  
 + 
   // Set to Shared Memory    // Set to Shared Memory
   for (int j=1; j<OPENNI_MAX_JOINT_NUM; j++) {    for (int j=1; j<OPENNI_MAX_JOINT_NUM; j++) {
Line 86: Line 83:
       }        }
   }    }
 + 
   // mPelvis(0)    // mPelvis(0)
   double* shm = theApp.ptrShm[0];    double* shm = theApp.ptrShm[0];


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

59 user(s) are online (25 user(s) are browsing xpwiki)

Members: 0
Guests: 59

more...

Access Counter

Today : 1268912689126891268912689
Yesterday : 1306913069130691306913069
Total : 2363748523637485236374852363748523637485236374852363748523637485
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com