CN103729877A - 一种三维模型的有向包围盒构造的方法和系统 - Google Patents
一种三维模型的有向包围盒构造的方法和系统 Download PDFInfo
- Publication number
- CN103729877A CN103729877A CN201310700567.5A CN201310700567A CN103729877A CN 103729877 A CN103729877 A CN 103729877A CN 201310700567 A CN201310700567 A CN 201310700567A CN 103729877 A CN103729877 A CN 103729877A
- Authority
- CN
- China
- Prior art keywords
- bounding box
- dimensional
- dimensional model
- rotation
- plane
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种三维模型的有向包围盒构造的方法和系统,所述方法将三维模型投影转换到三个二维平面上,再计算二维投影图形的轴对称包围盒,有效降低了包围盒的计算难度和复杂度;通过二维轴对称包围盒所确定的三个旋转角度,对三维模型进行旋转,得到轴对齐包围盒,再将轴对齐包围盒进行三个角度的反向旋转,获取最终的有向包围盒,避免现有技术中协言状矩阵的使用,有效提高了运算速度;而且,在二维轴对称包围盒获取时,由于在360度的旋转角度内对投影平面进行了统计和比较,因此,最终所得到的有向包围盒更加紧闭和贴近模型。所述系统包括三维模块、二维模块、旋转模块、包围盒模块和反旋转模块,用于获取紧闭和贴近模型的有向包围盒。
Description
技术领域
本发明涉及图形处理领域,特别是一种三维模型的有向包围盒构造的方法和系统。
背景技术
三维模型大量应用于计算机渲染中,在动画、游戏和电影等领域,当进行一个模型的剔除裁剪计算,或者进行两个模型的碰撞计算,都需要使用到模型的包围盒以替换大量的顶点计算,从而大大提高运行速度与渲染效率。与轴对齐包围盒(AABB)相比,有向包围盒(OBB)是一种更加贴近模型、更紧闭的包围盒,传统的有向包围盒计算方法是通过协方差矩阵计算得到,此方法需要进行大量复杂计算,导致效率低下,且得到的有向包围盒并非最紧闭的包围盒。由于传统方法计算复杂,并需要一定的数学知识,以至于影响了有向包围盒的普及和应用,而有向包围盒的优点,又使得在一些需求度高的场合不得不使用它进行碰撞和裁剪计算,因此一种快捷、简单的有向包围盒计算方法,将有助于降低有向包围盒的使用难度和计算开销。
发明内容
为解决上述问题,本发明的目的在于提供一种三维模型的有向包围盒构造的方法和系统,使有向包围盒的获取快捷、简单,并降低有向包围盒的使用难度和计算开销。
本发明解决其问题所采用的技术方案是:
本发明的优选实施例提供了一种三维模型的有向包围盒构造的方法,包括:
(1)将三维模型分别投影在三维坐标中的XY、YZ和XZ三个平面上;
(2)分别旋转三个平面上的投影,得到每个投影的最小的二维轴对称包围盒,通过此包围盒确定每个投影的旋转角度;
(3)根据三个旋转角度,依次对应将三维模型的X、Y和Z坐标轴旋转相同的角度;
(4)计算并获取三维模型的轴对齐包围盒。
(5)根据三个旋转角度,将轴对齐包围盒按照与X、Y和Z坐标轴旋转的相反的方向旋转相同的角度。
在整个方法过程中,将三维模型转换在二维平面上,并在各个二维平面上的计算对应的轴对称包括盒,有效降低了包围盒的计算难度和复杂度。
通过3个旋转角度旋转坐标轴实现对三维模型进行旋转,并获取旋转后的轴对齐包围盒,再进行三个角度的反向旋转,即可得到最终的有向包围盒,相比于现有技术中使用的协方差矩阵,有效提供了运算速度。
由于在三个平面都做了统计和比较,得到的有向包围盒与现有技术相比,包围盒更加紧闭和贴近模型。
本发明的优选实施例提供了一种三维模型的有向包围盒构造的系统,包括:
三维模块,将三维模型分别投影在三维坐标中的XY、YZ和XZ三个平面上;
二维模块,分别旋转三个平面上的投影,得到每个投影的最小的二维轴对称包围盒,通过此包围盒确定每个投影的旋转角度;
旋转模块,根据三个旋转角度,依次对应将三维模型的X、Y和Z坐标轴旋转相同的角度;
包围盒模块,计算并获取三维模型的轴对齐包围盒。
反旋转模块,根据三个旋转角度,将轴对齐包围盒按照与X、Y和Z坐标轴旋转的相反的方向旋转相同的角度。
本发明的有益效果是:
本发明采用一种三维模型的有向包围盒构造的方法和系统,将三维模型分别投影在三维坐标轴所对应的三个二维平面上,以降低最终获取三维模型有向包围盒的复杂度,提高运算效率,节省时间;利用二维投影的轴对称包围盒获取投影旋转的角度,最终获取有向包围盒,降低运算的复杂度;在三个平面都进行了统计和比较,获取的包围盒更加紧闭和贴近模型。
附图说明
下面结合附图和实例对本发明作进一步说明。
图1是本发明所述方法流程图;
图2是旋转角度确定的流程图;
图3是本发明所述系统组成框架图;
图4是所述三维模块的结构组成框图;
图5是所述二维模块的结构组成框图。
具体实施方式
本发明提供了一种三维模型的有向包围盒构造的方法,通过此方法可以生成三维模型的包围构造盒,参照图1所示,包括:
步骤100,将三维模型投影在三个平面上。三维模型对应的三维空间具有X、Y、Z三个坐标系,三个坐标系组成XY、YZ和XZ三个平面,将三维模型投影在三个平面上,在具体投影时:
向XY平面投影时,将三维模型的每个顶点分别与X和Y的单位轴(1,1,0)进行点乘,得到每个顶点在XY平面的投影点位,之后,连接相应的点位;
向YZ平面投影时,将三维模型绕Y轴旋转90度,之后,将三维模型的每个顶点分别与Y和Z的单位轴(0,1,1)进行点乘,得到每个顶点在YZ平面的投影点位,之后,连接相应的点位;
向XZ平面投影时,将三维模型绕X轴旋转90度,之后将三维模型的每个顶点分别与X和Z的单位轴(1,0,1)进行点乘,得到每个顶点在XZ平面的投影点位,之后,连接相应的点位。
步骤102,获取每个投影的轴对称包围盒,并确定旋转角度。三维模型在XY、YZ和XZ三个平面上投影后,需要获取每个投影的二维轴对称包围盒,参照图2所示,对于每一个平面上的投影,步骤200将此投影旋转一定的角度,直至旋转到360度,并且计算每次旋转后图形的二维轴对称包围盒,步骤202从这些二维轴对称包围盒当中获取面积最小的二维轴对称包围盒,步骤204则确定此最小包围盒的旋转角度。
步骤104,分别旋转坐标轴,通过步骤102可以获取三个投影在XY、YZ和XZ三个平面的旋转角度,根据此三个旋转角度,依次对应将三维模型的X、Y和Z坐标轴旋转相同的角度。
步骤106,计算三维模型的轴对齐包围盒,此时,则根据旋转后的X、Y和Z坐标轴计算三维模型的轴对齐包围盒,此包围盒为最紧闭的轴对齐包围盒。
步骤108,反旋转轴对齐包围盒,由于步骤106所计算的轴对齐包围盒为模型旋转之后的包围盒,因此,要得到三维模型原始状态的有向包围盒,需将此包围盒反向旋转回三维模型的原始状态,根据三个旋转角度,将轴对齐包围盒按照与X、Y和Z坐标轴旋转的相反的方向旋转相同的角度即可。
在所述步骤100中,对于XY、YZ和XZ三个平面的投影并无顺序之分,并不影响最终包围盒的获取。
所述步骤104中,亦可以根据所述的三个旋转角度,依次将三维模型按照X、Y和Z坐标轴旋转相同的角度,并执行后续相同的步骤,其并不影响最终有向包围圈的获取。
所述方法将三维模型投影转换到三个二维平面上,再计算二维投影图形的轴对称包围盒,有效降低了包围盒的计算难度和复杂度;通过二维轴对称包围盒所确定的三个旋转角度,对三维模型进行旋转,得到轴对齐包围盒,再将轴对齐包围盒进行三个角度的反向旋转,获取最终的有向包围盒,避免现有技术中协言状矩阵的使用,有效提高了运算速度;而且,在二维轴对称包围盒获取时,由于在360度的旋转角度内对投影平面进行了统计和比较,因此,最终所得到的有向包围盒更加紧闭和贴近模型。
本发明的优选实施例提供了一种三维模型的有向包围盒构造的系统,参照图3所示,包括:
三维模块300,将三维模型分别投影在三维坐标中的XY、YZ和XZ三个平面上;
二维模块302,分别旋转三个平面上的投影,得到每个投影的最小的二维轴对称包围盒,通过此包围盒确定每个投影的旋转角度;
旋转模块304,根据三个旋转角度,依次对应将三维模型的X、Y和Z坐标轴旋转相同的角度;
包围盒模块306,计算并获取三维模型的轴对齐包围盒;
反旋转模块308,根据三个旋转角度,将轴对齐包围盒按照与X、Y和Z坐标轴旋转的相反的方向旋转相同的角度。
参照图4所示,所述三维模块300包括:
XY投影单元400,向XY平面投影时,将三维模型的每个顶点分别与X和Y的单位轴(1,1,0)进行点乘,得到每个顶点在XY平面的投影点位,之后,连接相应的点位;
YZ投影单元402,向YZ平面投影时,将三维模型绕Y轴旋转90度,之后,将三维模型的每个顶点分别与Y和Z的单位轴(0,1,1)进行点乘,得到每个顶点在YZ平面的投影点位,之后,连接相应的点位;
XZ投影单元404,向XZ平面投影时,将三维模型绕X轴旋转90度,之后将三维模型的每个顶点分别与X和Z的单位轴(1,0,1)进行点乘,得到每个顶点在XZ平面的投影点位,之后,连接相应的点位。
参照图5所示,所二维模块302包括:
最小盒单元500,对于每一个平面上的投影,将其旋转一定的角度,计算其二维轴对称包围盒,当旋转360度之后,对比并获取其中面积最小的二维轴对称包围盒;
角度单元502,确定此包围盒所对应的旋转角度。
所述系统具体的实现方法参照以上方法中所述内容。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。
Claims (8)
1.一种三维模型的有向包围盒构造的方法,其特征在于,包括:
(1)将三维模型分别投影在三维坐标中的XY、YZ和XZ三个平面上;
(2)分别旋转三个平面上的投影,得到每个投影的最小的二维轴对称包围盒,通过此包围盒确定每个投影的旋转角度;
(3)根据三个旋转角度,依次对应将三维模型的X、Y和Z坐标轴旋转相同的角度;
(4)计算并获取三维模型的轴对齐包围盒。
2.根据权利要求1所述的方法,其特征在于,所述步骤(4)之后还包括:
(5)根据三个旋转角度,将轴对齐包围盒按照与X、Y和Z坐标轴旋转的相反的方向旋转相同的角度。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤(1)具体为:
向XY平面投影时,将三维模型的每个顶点分别与X和Y的单位轴(1,1,0)进行点乘,得到每个顶点在XY平面的投影点位,之后,连接相应的点位;
向YZ平面投影时,将三维模型绕Y轴旋转90度,之后,将三维模型的每个顶点分别与Y和Z的单位轴(0,1,1)进行点乘,得到每个顶点在YZ平面的投影点位,之后,连接相应的点位;
向XZ平面投影时,将三维模型绕X轴旋转90度,之后将三维模型的每个顶点分别与X和Z的单位轴(1,0,1)进行点乘,得到每个顶点在XZ平面的投影点位,之后,连接相应的点位。
4.根据权利要求1或2所述的方法,其特征在于,所述步骤(2)具体为:
对于每一个平面上的投影,将其旋转一定的角度,计算其二维轴对称包围盒,当旋转360度之后,对比并获取其中面积最小的二维轴对称包围盒,并确定此包围盒所对应的旋转角度。
5.一种三维模型的有向包围盒构造的系统,其特征在于,包括:
三维模块,将三维模型分别投影在三维坐标中的XY、YZ和XZ三个平面上;
二维模块,分别旋转三个平面上的投影,得到每个投影的最小的二维轴对称包围盒,通过此包围盒确定每个投影的旋转角度;
旋转模块,根据三个旋转角度,依次对应将三维模型的X、Y和Z坐标轴旋转相同的角度;
包围盒模块,计算并获取三维模型的轴对齐包围盒。
6.根据权利要求5所述的系统,其特征在于,所述系统还包括:
反旋转模块,根据三个旋转角度,将轴对齐包围盒按照与X、Y和Z坐标轴旋转的相反的方向旋转相同的角度。
7.根据权利要求5或6所述的系统,其特征在于,所述三维模块包括:
XY投影单元,向XY平面投影时,将三维模型的每个顶点分别与X和Y的单位轴(1,1,0)进行点乘,得到每个顶点在XY平面的投影点位,之后,连接相应的点位;
YZ投影单元,向YZ平面投影时,将三维模型绕Y轴旋转90度,之后,将三维模型的每个顶点分别与Y和Z的单位轴(0,1,1)进行点乘,得到每个顶点在YZ平面的投影点位,之后,连接相应的点位;
XZ投影单元,向XZ平面投影时,将三维模型绕X轴旋转90度,之后将三维模型的每个顶点分别与X和Z的单位轴(1,0,1)进行点乘,得到每个顶点在XZ平面的投影点位,之后,连接相应的点位。
8.根据权利要求5或6所述的系统,其特征在于,所二维模块包括:
最小盒单元,对于每一个平面上的投影,将其旋转一定的角度,计算其二维轴对称包围盒,当旋转360度之后,对比并获取其中面积最小的二维轴对称包围盒;角度单元,确定此包围盒所对应的旋转角度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310700567.5A CN103729877A (zh) | 2013-12-18 | 2013-12-18 | 一种三维模型的有向包围盒构造的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310700567.5A CN103729877A (zh) | 2013-12-18 | 2013-12-18 | 一种三维模型的有向包围盒构造的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103729877A true CN103729877A (zh) | 2014-04-16 |
Family
ID=50453938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310700567.5A Pending CN103729877A (zh) | 2013-12-18 | 2013-12-18 | 一种三维模型的有向包围盒构造的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103729877A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106023297A (zh) * | 2016-05-20 | 2016-10-12 | 江苏得得空间信息科技有限公司 | 一种精细三维模型的纹理动态组织方法 |
CN106503347A (zh) * | 2016-10-25 | 2017-03-15 | 福州大学 | 一种基于aabb与obb自适应的复合包围盒算法 |
WO2017092252A1 (zh) * | 2015-11-30 | 2017-06-08 | 腾讯科技(深圳)有限公司 | 实时虚拟场景中碰撞体之间碰撞探测的方法、终端和存储介质 |
CN107146287A (zh) * | 2017-03-22 | 2017-09-08 | 西北大学 | 二维投影图像至三维模型的映射方法 |
CN107330903A (zh) * | 2017-06-29 | 2017-11-07 | 西安理工大学 | 一种人体点云模型的骨架提取方法 |
CN107983570A (zh) * | 2017-12-31 | 2018-05-04 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于三维视觉技术的钢构件喷涂系统 |
CN108022309A (zh) * | 2017-12-07 | 2018-05-11 | 梦工场珠宝企业管理有限公司 | 三维模型智能拼接方法 |
CN108227620A (zh) * | 2017-12-31 | 2018-06-29 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于三维模型的机器人喷涂轨迹生成方法 |
CN112449078A (zh) * | 2019-08-29 | 2021-03-05 | 福建天泉教育科技有限公司 | 一种生成缩略图的方法及终端 |
CN112540711A (zh) * | 2020-11-30 | 2021-03-23 | 国机工业互联网研究院(河南)有限公司 | 一种在网页端选取三维空间物体的控制方法、装置及设备 |
CN112829302A (zh) * | 2021-02-01 | 2021-05-25 | 广东省科学院智能制造研究所 | 一种脑组织圆柱形试件制备器的制作方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110133358A (ko) * | 2010-06-04 | 2011-12-12 | 중앙대학교 산학협력단 | 접촉하는 다면체 조립 모델의 분리 위치 결정 방법 |
KR101132308B1 (ko) * | 2010-06-04 | 2012-04-05 | 중앙대학교 산학협력단 | 유향경계상자트리와 메쉬분할기법을 이용한 폴리곤 모델의 충돌 검사 방법 |
CN102915564A (zh) * | 2012-08-31 | 2013-02-06 | 浙江理工大学 | 一种基于有向包围盒和轴向包围盒的脚楦匹配方法 |
-
2013
- 2013-12-18 CN CN201310700567.5A patent/CN103729877A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110133358A (ko) * | 2010-06-04 | 2011-12-12 | 중앙대학교 산학협력단 | 접촉하는 다면체 조립 모델의 분리 위치 결정 방법 |
KR101132308B1 (ko) * | 2010-06-04 | 2012-04-05 | 중앙대학교 산학협력단 | 유향경계상자트리와 메쉬분할기법을 이용한 폴리곤 모델의 충돌 검사 방법 |
CN102915564A (zh) * | 2012-08-31 | 2013-02-06 | 浙江理工大学 | 一种基于有向包围盒和轴向包围盒的脚楦匹配方法 |
Non-Patent Citations (2)
Title |
---|
C.K. CHAN ET AL.: "Determination of the minimum bounding box of an arbitrary solid: an iterative approach", 《COMPUTERS AND STRUCTURES》 * |
陈华: "确定任意形状物体最小包围盒的一种方法", 《工 程 图 学 学 报》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017092252A1 (zh) * | 2015-11-30 | 2017-06-08 | 腾讯科技(深圳)有限公司 | 实时虚拟场景中碰撞体之间碰撞探测的方法、终端和存储介质 |
US10235764B2 (en) | 2015-11-30 | 2019-03-19 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, and storage medium for detecting collision between colliders in real-time virtual scene |
CN106023297B (zh) * | 2016-05-20 | 2018-07-20 | 江苏得得空间信息科技有限公司 | 一种精细三维模型的纹理动态组织方法 |
CN106023297A (zh) * | 2016-05-20 | 2016-10-12 | 江苏得得空间信息科技有限公司 | 一种精细三维模型的纹理动态组织方法 |
CN106503347A (zh) * | 2016-10-25 | 2017-03-15 | 福州大学 | 一种基于aabb与obb自适应的复合包围盒算法 |
CN107146287A (zh) * | 2017-03-22 | 2017-09-08 | 西北大学 | 二维投影图像至三维模型的映射方法 |
CN107146287B (zh) * | 2017-03-22 | 2019-08-02 | 西北大学 | 二维投影图像至三维模型的映射方法 |
CN107330903A (zh) * | 2017-06-29 | 2017-11-07 | 西安理工大学 | 一种人体点云模型的骨架提取方法 |
CN107330903B (zh) * | 2017-06-29 | 2020-01-14 | 西安理工大学 | 一种人体点云模型的骨架提取方法 |
CN108022309A (zh) * | 2017-12-07 | 2018-05-11 | 梦工场珠宝企业管理有限公司 | 三维模型智能拼接方法 |
CN108022309B (zh) * | 2017-12-07 | 2019-05-21 | 梦工场珠宝企业管理有限公司 | 三维模型智能拼接方法 |
CN108227620A (zh) * | 2017-12-31 | 2018-06-29 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于三维模型的机器人喷涂轨迹生成方法 |
CN107983570A (zh) * | 2017-12-31 | 2018-05-04 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于三维视觉技术的钢构件喷涂系统 |
CN107983570B (zh) * | 2017-12-31 | 2019-08-20 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于三维视觉技术的钢构件喷涂系统 |
CN112449078A (zh) * | 2019-08-29 | 2021-03-05 | 福建天泉教育科技有限公司 | 一种生成缩略图的方法及终端 |
CN112540711A (zh) * | 2020-11-30 | 2021-03-23 | 国机工业互联网研究院(河南)有限公司 | 一种在网页端选取三维空间物体的控制方法、装置及设备 |
CN112829302A (zh) * | 2021-02-01 | 2021-05-25 | 广东省科学院智能制造研究所 | 一种脑组织圆柱形试件制备器的制作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103729877A (zh) | 一种三维模型的有向包围盒构造的方法和系统 | |
Ji et al. | An improved method for registration of point cloud | |
Lee et al. | Complete swept volume generation, Part I: Swept volume of a piecewise C1-continuous cutter at five-axis milling via Gauss map | |
CN104408774B (zh) | 一种基于gpu加速的实体面片模型间碰撞检测方法 | |
EP3376762A1 (en) | Depth image composition method and apparatus | |
CN104835117A (zh) | 基于重叠方式的球面全景图生成方法 | |
CN103489214A (zh) | 增强现实系统中基于虚拟模型预处理的虚实遮挡处理方法 | |
CN103810746A (zh) | 一种渲染任意方位3d模型的方法及装置 | |
CN108204879B (zh) | 一种转动惯量的光学测量方法及系统 | |
CN105527955B (zh) | 一种飞机质量特性建模方法 | |
CN103077546B (zh) | 二维图形的三维透视变换方法 | |
CN109255832A (zh) | 一种基于OpenGL的目标光场创建方法 | |
CN103035016A (zh) | 投影机球形显示及旋转输出图像的处理方法 | |
CN112070908B (zh) | 三维模型的自动拆分方法、计算机设备以及存储介质 | |
CN104867172A (zh) | 一种实现刚体运动的方法 | |
CN103425806A (zh) | 三次元编程产品模拟系统及方法 | |
CN106951631A (zh) | 一种圆形与带旋转角度的矩形包围盒碰撞检测方法 | |
CN102354399A (zh) | 一种摄像机外部参数自定标方法及装置 | |
Du et al. | Fast continuous collision culling with deforming noncollinear filters | |
CN109598785A (zh) | 一种三维网格模型视图转换方法 | |
Shi et al. | A collisions evaluation method in virtual environment for collaborativeassembly | |
CN109341530B (zh) | 一种双目立体视觉中物点定位方法及系统 | |
Ding | Research on collision detection algorithm based on combined bounding box | |
Wei et al. | A fast collision detection algorithm suitable for complex virtual environment | |
Kong et al. | Collosion detection research based on capsule bounding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140416 |
|
RJ01 | Rejection of invention patent application after publication |