首页 > 代码库 > 立体包围盒的算法

立体包围盒的算法

三维图形中经常会用到立体的包围盒,如何简单求取呢?

下面以求取立体在指定方向上的范围为例简单说明。

已知指定方向U、V和参考点P。

1)取立体的边界线(直线段、曲线)。

2)计算立体投影的平面:UV面。

平面法向量:UxV

平面上一点:P

3)立体边界线在UV面上投影,得到UV面上的边线。

4)UV面上的边线向V、P确定的平面投影。

这时得到的线段一定是直线段。这样取投影线段集合的端点,求取最外围的两个点,就得到了立体在U方向上的范围。

 

实现该方法的前提条件是:

* 有基本集合元素的表示:点、线、面、体

* 元素对象属性的获取方法(构成面、构成线、构成点等)

* 点、线、面的投影算法

立体包围盒的算法