- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题
我试图通过解析 BVH 文件来获取特征。 BVH 文件通过 NUICapture 导出,一款通过 Kinect 捕捉 body 运动的软件。
我知道的所有 BVH 示例文件都在 ZXY
中指定了欧拉角符号,而不是 ZYX
,但 NUICapture 使用 ZYX
导出 BVH 文件符号,所以我在解析它时遇到了麻烦。
背景
在 BVH 格式中,轴的顺序可能因为每个 body 部位指定的欧拉角而不同。 body 部位的旋转由指定轴的矩阵乘法指定,整个 body 的运动被视为层次结构中所有连续 body 部位的旋转的乘积。由于矩阵乘法不是可交换的,ZXY
与 ZYX
不一样.
解决方案的尝试
我遇到的所有现有解析器都表示 ZXY
作为事实上的标准,所有论文也是如此。我发现的所有解析器都无法解析 NUICapture 生成的 BVH 文件,除了 BVHhacker .但是 BVHhacker 没有可用的源代码,因此即使它似乎能够重放 NUICapture 捕获的 Action ,也无法访问 BVHhacker 的解析器创建的内部表示。
我尝试使用开源 Python BVH 解析器,例如 BVHPlay并尝试导入 NUICapture 的 BVH 文件,但存在文件输入错误,其他带有“正确”ZXY
的示例 BVH 文件不会发生这种情况。格式。为了解决这个问题,我需要以某种方式纠正轴序列,但我不确定如何在不影响原始 body 运动完整性的情况下进行。对我来说,手动切换顺序以允许解析 BVH 可能非常幼稚。
最佳答案
见本页底部:http://research.cs.wisc.edu/graphics/Courses/cs-838-1999/Jeff/BVH.html
如您所见,您以相反的顺序预乘每个轴的旋转矩阵的逆矩阵,然后(预)乘以正确顺序的矩阵。
因此,如果您有 R=XYZ,则将 R 预先乘以 X^(-1),然后将结果乘以 Y^(-1),然后将该结果乘以 X,然后乘以 Y,从而得到
Y*X*Y^(-1)*X^(-1)*R。
关于parsing - Biovision 分层文件 (BVH) 欧拉角规范差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16595355/
问题 我试图通过解析 BVH 文件来获取特征。 BVH 文件通过 NUICapture 导出,一款通过 Kinect 捕捉 body 运动的软件。 我知道的所有 BVH 示例文件都在 ZXY 中指定了
我是一名优秀的程序员,十分优秀!