计算坐标系中盒子的封闭垂直俯仰角

Calculate enclosing vertical pitch angle of a box in a coordinate system

给定一个坐标系(绿色 - 它可以位于激光传感器的中心)和一个尺寸为 l、w、h 和中心位置为 c 的盒子(c_x,c_y , c_z) 及其作为四元数的方向 (q_x, q_y, q_z, q_w) 在该坐标系中我想找到最小封闭间距一个盒子β_max和β_min的角度(红色-从坐标系的角度)。

这道题好像很棘手,因为从坐标系的角度怎么知道哪个是“最高点和最低点”呢?它显然取决于盒子的方向和尺寸:它可能是盒子的边缘或只是角落,但我没有数学方法来表达它。

第一个框顶点的坐标相对于框中心 (-w/2, -h/2, -l/2)

使用四元数旋转该点,将结果添加到矢量(cx,cy,cz),得到矢量V0=(v0x, v0y, v0z)

这个矢量和 OZ 轴之间的角度使用矢量长度是(通过所谓的方向余弦)

A0 = acos(V0.dot.(0,0,1) / len(V0)) = acos(v0z / len(V0))

这个向量和OXY平面之间的角度(据我了解,你需要的就是这个角度):

B0 = Pi/2 - A0

计算所有框顶点的角度 Bi(改变第一行公式中的符号)并选择最大值和最小值。