Kinect获取了人体骨骼旋转信息BoneOrientation,怎么把四元素的旋转量转换为欧拉角?(C#)

旋风灬小子 2015-10-30 06:21:19
Kinect的BoneOrientation类,能提供获取骨骼的旋转信息,但只能提供四元素的旋转数据。
我打算获取胳膊的伸展角度信息,以下代码。


foreach (BoneOrientation orientation in skeleton.BoneOrientations)
{
if (orientation.StartJoint != JointType.ShoulderRight)
continue;
//BoneRotation hierarchical = orientation.HierarchicalRotation;
//Vector4 quat = hierarchical.Quaternion;
BoneRotation absolute = orientation.AbsoluteRotation;
Vector4 quat = absolute.Quaternion;
Console.WriteLine("Quaternion: " + quat.X + " " + quat.Y + " " + quat.Z + " " + quat.W);
}


打印出来的是一堆看不懂的四元素数据。


Quaternion: 0.8247886 0.5424443 0.01517412 0.1588949
Quaternion: 0.8435349 0.5186977 0.000704945 0.1392876
Quaternion: 0.8629368 0.4913833 -0.01000166 0.117399
Quaternion: 0.8836923 0.4591421 0.002259983 0.09094723
Quaternion: 0.9033794 0.423593 0.008865527 0.06630217
Quaternion: 0.9226316 0.3832969 0.01748881 0.03909786
Quaternion: 0.9401783 0.3389041 0.02838872 0.02007205
Quaternion: 0.9513446 0.3059388 0.00179805 0.0366286
Quaternion: 0.92393 0.3309382 -0.1236939 0.1467413
Quaternion: 0.9184078 0.3192938 -0.1835922 0.1444734
Quaternion: 0.9159214 0.2891119 -0.2720065 0.05928581
Quaternion: -0.5815563 -0.1805153 0.7915632 0.0513248
Quaternion: 0.7457347 0.1662152 -0.6384997 -0.09257665
Quaternion: 0.799824 0.156258 -0.5689551 -0.1102499
Quaternion: 0.9254265 0.1187094 -0.3266849 -0.1508997


请教各位对Kinect体感开发的朋友,怎么把四元素的旋转量转换为欧拉角呢?
...全文
600 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
w_xxxbbb 2017-06-13
  • 打赏
  • 举报
回复
这是算法问题。 http://baike.baidu.com/link?url=9D9qOlMFxg074e41X5b_ejKBmS5_20XbEz8QXWnLrqaTau5BK_kTi_jgAtQ0LubiLd46OoRvqO3Jjp5-TgRisvez61NvEfE91WeQex4sztyKxWOpm5F27c0bwxOv8wT7 哥哥也不懂。
qiaozhiyan 2017-05-31
  • 打赏
  • 举报
回复
BoneOrientation类在哪里?

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧