我一直试图让一个物体绕着另一个物体运行:
//childX,childY,childZ are my starting coordinates
//here I count distance to the middle of my coordinate plane
float r = (float) Math.sqrt(Math.pow(childX, 2)+Math.pow(childY, 2)+Math.pow(childZ,2));
//here i convert my angles to radians
float alphaToRad = (float) Math.toRadia
以下是从球面坐标到笛卡尔坐标的转换
X = r cosθ sinΦ
Y = r sinθ sinΦ
Z = rcosΦ
我们使用逆向计算从笛卡尔坐标计算球面坐标,其定义为
r = √(x^2+y^2+z^2 )
θ = atan(Y./X)
Φ = atan(√(X^2+Y^2 )./Z)
当Y和X为零时,问题就出现了,因此在θ计算期间,这会导致NAN(而不是数字),从而使θ不连续。有没有什么插值技术可以消除这种不连续性,以及在这种情况下如何解释θ。
θ是一个在不同点上的矩阵,它给出了以下结果,它有跳跃和黑色补丁,表示不连续,而我需要生成具有平滑变化的以下图像。请查看获得的thet
当将PointCloud点与地面平面进行比较时(用户点击它从平面发现控制器中选择它),如何计算从地面平面上的点的高度?
地板的体式有一个ty(),这是距世界坐标的高度距离,点云应该在世界坐标中,那么它是否像( point t.y- floor.pose.ty())那么简单?或者,你必须从floor.pose.inverse()中得到反变换,然后将点转换成地板坐标,然后再进行y减法吗?