现在的位置: 首页 > 综合 > 正文

《实时碰撞检测算法技术》读书笔记(四):OBB计算

2014年07月05日 ⁄ 综合 ⁄ 共 726字 ⁄ 字号 评论关闭

一种方法是,首先计算点集最小AABB。其中,选择包围盒中两个间距最大的平行面上的两个点,用以确认OBB的长度方向。于是,点集投影到垂直于OBB长度方向的平面上。采用相同的方法计算最小轴对齐矩形,且利用其中两个间距最大的平行面上的顶点计算OBB2个轴。OBB的第3个轴则正交与前2个轴。虽然该算法易于编码,但实际应用中,常采用具有类似复杂度的其他算法获取(接近)最优包围盒。

 

基于PCAOBB优化

首先计算点集的协方差矩阵以及其特征向量和特征值。能够得到三个特征向量(主向量)。

对于协方差矩阵特征向量和特征值有以下关系:若特征向量为最大特征向量,则特征值为沿该轴的顶点数据具有的最大方差值;若为最小特征向量,则特征值为沿该轴的顶点数据具有的最小方差值。

一种方法是:计算顶点分布的均值,将它作为包围盒的中心。然后计算协方差矩阵,用协方差矩阵三个特征向量中的两个(第三个由两者的叉乘得到)把多边形和包围盒结合起来。

一种方法是:仅沿一个主分量实现包围盒对齐。对于所有顶点在在选定轴上的垂直面中投影,可以计算得到最小面积包围矩形,从而得出其余两个分量的方向。

对于最大主分量包围盒,对应于最大特征值的最大特征向量将作为OBB的长度方向。因此全部顶点将投影至垂直于该方向的面上,并能计算投影点形成的最小包围矩形的面积,从而得到OBB其余两个分量上的方向。

最小主分量包围盒选择了最小特征值的最小特征向量作为OBB长度方向。而后依据前述方法处理。

最小主向量包围盒算法具有最佳执行效果而非最大主分量包围盒算法。因为最大主分量显示了最大方差方向且提供了最长边,故可能产生较大的OBB空间。

 

关于最小包围矩形的计算分析可参考我写的另一篇博文《凸多边形最小面积包围矩形》。

抱歉!评论已关闭.