基于参考点规格化坐标点

2024-06-08 12:31:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个人体骨骼关节的三维坐标数据集。我希望规范化3D点,以便所有关节位置与参考点(在本例中为髋关节)的距离相似。 数据集形状为(3*25),其中3表示25个关节的X、Y、Z坐标值。 我正在考虑计算与参考点的距离,但我不知道如何实际实现规范化


Tags: 数据距离人体规范化形状骨骼关节本例
1条回答
网友
1楼 · 发布于 2024-06-08 12:31:17

这里x将数据表示为numpy数组,平均值大于零(例如,如果原点在地面上)。减去平均值(或您希望作为r0的某个其他参考点)即可得到转换坐标x_prime

x = 1 + np.random.random(size=(3, 25))

# mean value of x, y, z
r0 = np.mean(x, axis=1)
x_prime = x - r0.repeat(25).reshape(3,-1)

x_prime的值以坐标的平均值为中心,r0

价值观:

# x: array([[1.22775846, 1.00789537, 1.87935654, 1.29619989, 1.58583233,
        1.07384066, 1.79940306, 1.31427029, 1.33737685, 1.11822982,
        1.25295585, 1.99507199, 1.35576529, 1.33653588, 1.09144568,
        1.39071231, 1.62220731, 1.51699306, 1.7251716 , 1.82776378,
        1.08754129, 1.71490424, 1.36129209, 1.30384671, 1.92491102],
       [1.84661373, 1.75477255, 1.84062395, 1.11899577, 1.58505895,
        1.0319569 , 1.27084547, 1.4218331 , 1.37757554, 1.76657088,
        1.41127085, 1.29526149, 1.9046747 , 1.08405311, 1.8935798 ,
        1.37053927, 1.53447677, 1.29007676, 1.81003735, 1.52832396,
        1.75636217, 1.79290876, 1.71346988, 1.13226816, 1.57871741],
       [1.69483708, 1.79504479, 1.64944096, 1.02228922, 1.94060496,
        1.95737316, 1.04935255, 1.30276262, 1.54081862, 1.7085608 ,
        1.53338657, 1.86862677, 1.42629734, 1.26265798, 1.51475237,
        1.15758014, 1.55924182, 1.91127961, 1.99838997, 1.07916387,
        1.90672647, 1.2093029 , 1.98844762, 1.04804565, 1.4027781 ]])

# r0: array([1.44589126, 1.52443469, 1.54111048])

注意r0的值可以选择,然后以类似的方式从x中减去

相关问题 更多 >