flagflag  If you want to see English page, please click "English" Button at Left.
  • ソース を表示
  • SLKinect/convertRot2SLData は削除されています。
1: 2011-11-05 (土) 18:29:03 iseki ソース
Line 1: Line 1:
 +*** convertRot2SLData (of SLKinect-v1.0.0) [#c6a2d789]
 + void CExKinectWnd::convertRot2SLData(int uid)
 + {
 +    for (int j=1; j<OPENNI_MAX_JOINT_NUM; j++) {
 +     int n = OpenNI2SLJointNum[j];
 +     if (n>=0) {
 +     XnMatrix3X3 rot = jointRotationData((XnSkeletonJoint)j);
 +     double m11 = rot.elements[0];
 +     double m12 = rot.elements[1];
 +     double m13 = rot.elements[2];
 +     double m21 = rot.elements[3];
 +     double m31 = rot.elements[6];
 +     double m32 = rot.elements[7];
 +     double m33 = rot.elements[8];
 +     Vector<double> eul = RotMatrixElements2EulerXYZ(m11, m12, m13, m21, m31, m32, m33);
 +     Vector<double> vct(-eul.x, -eul.y, eul.z);
 +     rotQuat[j].setEulerYZX(vct);
 +     }
 +    }
 +
 +    XnVector3D  pos = jointPositionData((XnSkeletonJoint)3);
 +    Vector<double> vect(-pos.Z, pos.X, pos.Y);
 +    if (!isCalibrated) setStartPosData(vect);
 +
 +    //
 +    rotQuat[ 2] = ~rotQuat[ 3]*rotQuat[ 2];
 +    rotQuat[ 6] = ~rotQuat[ 2]*rotQuat[ 6];
 +    rotQuat[ 7] = ~rotQuat[ 6]*rotQuat[ 7];
 +    rotQuat[12] = ~rotQuat[ 2]*rotQuat[12];
 +    rotQuat[13] = ~rotQuat[12]*rotQuat[13];
 +    rotQuat[18] = ~rotQuat[17]*rotQuat[18];
 +    rotQuat[22] = ~rotQuat[21]*rotQuat[22];
 +
 +
 +    // Set to Shared Memory
 +    for (int j=1; j<OPENNI_MAX_JOINT_NUM; j++) {
 +     int n = OpenNI2SLJointNum[j];
 +     if (n>=0) {
 +     double* shm = theApp.ptrShm[n];
 +     if (shm!=NULL) {
 +     shm[4] = rotQuat[j].x;
 +     shm[5] = rotQuat[j].y;
 +     shm[6] = rotQuat[j].z;
 +     shm[7] = rotQuat[j].s;
 +     }
 +     }
 +    }
 +
 +    // Position Data from XN_SKEL_TORSO(3) to mPelvis(0)
 +    double* shm = theApp.ptrShm[0];
 +    if (shm!=NULL) {
 +     shm[1] = (vect.x - startPos.x)/1000.;
 +     shm[2] = (vect.y - startPos.y)/1000.;
 +     shm[3] = (vect.z - startPos.z)/1000.;
 +    }
 + }


トップ   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 4月翌月
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
<今日>

オンライン状況

96 人のユーザが現在オンラインです。 (27 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 96

もっと...

アクセスカウンタ

今日 : 1225712257122571225712257
昨日 : 1529415294152941529415294
総計 : 2340695723406957234069572340695723406957234069572340695723406957
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com