对点云进行刚体变换时如果同时绕三个坐标轴进行旋转会有问题

是这样的,初始时的数据里有点云的数据和相应的骨骼点的数据,初始时点云在空间直角坐标系中的位置是不确定的,但是骨骼点与点云是有映射关系的。

最终想要达到的效果是让人体点云在坐标系中站直站正。人体左方是x正方向,竖直方向是y正方向,人面朝z正方向。

开始的想法是这样,根据头部和两个脚踝(取平均值)的骨骼点坐标来确定分别应该绕x轴和z轴旋转多少角度。由两肩部的骨骼点坐标来确定应该绕y轴旋转多少角度。

开始的做法是先确定三个角度,然后调用之前写好的刚体变换的函数来更新点云的坐标。

应该是刚体变换的函数是按照绕xyz轴的顺序对点的坐标进行计算,所以当绕y轴旋转完之后,绕z轴旋转的角度就不准确了。

解决的方法是先计算出应该绕x和z旋转的角度,旋转。然后计算应该绕y轴旋转的角度,旋转。

posted @ 2015-11-01 12:47  张不正  阅读(511)  评论(0编辑  收藏  举报
返回顶部