微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从基于 openpose 3d 的两个 Vector3 坐标获取欧拉角?

如何解决如何从基于 openpose 3d 的两个 Vector3 坐标获取欧拉角?

简而言之。我想制作以下程序。

输入:两个 Vector3 坐标 P1 = (x1,y1,z1) P2 = (x2,y2,z2)

输出一个欧拉角(P1->P2 或 P2->P1)。

我正在尝试将 3d openpose 关节数据应用于机械臂控制。 3d openpose 数据由 Vector3(x,y,z) 构造。 但我必须使用 EulerAngles 来控制机械臂。

请告诉我如何根据两个 Vector3 坐标计算 EulerAngles。

下图概述了我想要做什么。 对不起,手绘插图。
outline diagram

以下是代码的简要总结

def convert_pos2angle(P1,P2):
    
    ## some code here.
    

    return angle


def main():
    #sample input
    P1 = [0,0]
    P2 = [1,1,1]
    
    #convert
    angle = convert_pos2angle(P1,P2)

    print(angle)

    

解决方法

我能够自己解决这个问题。 我在 GitHub 上找到了项目“video2bvh”。 它将 openpose 转换为 BVH 数据。 这些程序运行良好。

GitHub:https://github.com/KevinLTT/video2bvh

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。