CN110599582A - 一种类长方物体包围盒的快速算法 - Google Patents

一种类长方物体包围盒的快速算法 Download PDF

Info

Publication number
CN110599582A
CN110599582A CN201910858734.6A CN201910858734A CN110599582A CN 110599582 A CN110599582 A CN 110599582A CN 201910858734 A CN201910858734 A CN 201910858734A CN 110599582 A CN110599582 A CN 110599582A
Authority
CN
China
Prior art keywords
bounding box
axis
coordinate system
vector
algorithm
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.)
Granted
Application number
CN201910858734.6A
Other languages
English (en)
Other versions
CN110599582B (zh
Inventor
熊毅
孙育竹
张玉华
户燕会
王蕾
刘清文
陈元博
郭君扬
董嫔
陆茵
于�玲
苏君
刘清君
张虎
陈正辉
李志国
张旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan Polytechnic Institute
Original Assignee
Henan Polytechnic Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Henan Polytechnic Institute filed Critical Henan Polytechnic Institute
Priority to CN201910858734.6A priority Critical patent/CN110599582B/zh
Publication of CN110599582A publication Critical patent/CN110599582A/zh
Application granted granted Critical
Publication of CN110599582B publication Critical patent/CN110599582B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本发明涉及一种类长方物体包围盒的快速算法,包括如下步骤:1),读取物体,获取物体ID;2),遍历物体所有特征ID;3),构造Z轴矢量和Y轴矢量;4),由Z轴矢量和Y轴矢量叉乘得到X轴矢量;5),构建临时坐标系:6),在临时坐标系中调用AABB包围盒,得到物体的最小包围盒,并输出包围盒的X、Y、Z方向的尺寸和盒子的左下角、右上角点坐标;7),将临时坐标系设为WCS,根据包围盒的参数绘制并显示包围盒。本发明解决现有AABB算法、OBB算法及其他算法效率较低和处理过程复杂等不足,以减少计算机计算时间,将包围盒的计算时间控制在0.1s以内,以利于算法的工程应用。

Description

一种类长方物体包围盒的快速算法
【技术领域】
本发明涉及一种包装盒的设计方法,具体涉及一种类长方物体包围盒的快速算法,属于计算机图形处理技术领域。
【背景技术】
空间物体的最小包围盒在包装工程、图像处理、模式识别、碰撞检测、模具分型设计和机械控制等领域都有广泛应用。包围盒是一个简单的三维几何空间,目前,主要类型有球体、轴对齐包围盒(AABB)、有向包围盒(OBB)、8-DOP以及凸壳。实际应用中,人们希望兼得包围盒尺寸最小和快速得到结果,而且这两者往往具有排斥性。在工程应用中,人们往往对能够快速计算结果放在了首位,兼顾尺寸精度。
现有的包围盒算法主要包括以下几种:
(1)O’Rourke等[1]基于Freeman等的结论认为“凸多面体的最小体积包围盒至少有两个相邻的面包含有多面体的边”,并提出了一种时间复杂度为O(n3)的算法。
(2)陈华[2]提出了对物体的坐标系分别绕三个正交轴共旋转n3次,利用CAD软件中的AABB算法,构造了一种OBB算法。AABB是平行于坐标轴的定方向的最小长方体包围盒,其体积大小和3个边长除了与物体本身的形状和大小有关,还与物体相对于坐标系的角度有关。一个物体在坐标系中的方向确定后,就对应了唯一的AABB,在现有的CAD软件中能直接得到其结果。但是,由于AABB与物体相对于坐标系的角度有关,某一方向下得出的AABB不能保证是物体最小的长方体包围盒。为了得到最小包围盒,有两种途径,一种是将物体作旋转变换,一种是将坐标系作旋转变换,两种方法得到的包围盒大小是一样的。该文中设计了一种将坐标系旋转n3次的算法,运算速度比旋转物体的算法快得多,复杂度为O(n3)。
(3)胡志刚,秦启飞[3]针对复杂物体三维点集的建模问题,提出一种基于凸包的最小体积的封闭有向包围盒生成算法。对凸包和其最小体积有向包围盒的关系进行分析,总结了4种边面接触类型。通过枚举凸包中边的所有可能组合,唯一确定包围盒的最优方向,该算法将包围盒计算的时间复杂度为减小至O(n3/2(logn)2)。
(4)陈松柏等[4]提出了基于非线性主成分分析的最小包围盒计算框架,根据Voronoi区域和Barycentric区域定义了顶点区域面积,并根据非线性主成分分析原理,使用顶点区域面积对各顶点进行调制,消除顶点分布的不均匀性,再使用传统主成分分析得到目标正交坐标系,从而得到最小包围盒。最后,定义了一个相似度系数,来度量最小包围盒的计算效果。并通过实验表明,使用顶点面积进行调制可以得到比其他方法更稳定的结果,且计算复杂度为O(n)。
(5)孙殿柱等[5]提出了一种将遗传算法和O’Rourke算法相融合的最小包围盒求解算法,以O’Rourke算法中的体积函数作为遗传算法的目标函数,采用遗传算子指导解的搜索方向,通过新种群的迭代生成过程缩小搜索区域与体积误差,种群迭代结束后对最优个体解码获得最小包围盒。并通过实验结果表明,该算法可在满足最小包围盒体积精度的同时显著提高了算法的运行效率,能够有效处理各种复杂散乱点云数据的最小包围盒快速求解问题,且时间复杂度为O(mnG)。
参考文献:
[1]Joseph O’Rouke,Finding minimal enclosing boxes[J].InternationalJournal of Computer and Information Sciences,1985,14(3):183-199。
[2]陈华.确定任意形状物体最小包围盒的一种方法[J].工程图学学报,2010,31(2):49-53。
[3]胡志刚,秦启飞.基于凸包的最小体积有向包围盒生成算法[J].湖南大学学报(自然科学版),2019,46(2):106-111。
[4]陈柏松,叶雪梅,安利.基于非线性主成分分析的最小包围盒计算方法[J].计算机集成制造系统,2010,16(11):2375-2378。
[5]孙殿柱,史阳,刘华东,李延瑞.基于遗传算法的散乱点云最小包围盒求解[J].北京航空航天大学学报,2013,39(8):995-998。
然而,上述算法中往往存在以下缺陷:
1.在陈华提出的OBB算法中,对待求解的物体坐标系分别绕三个正交轴共旋转n3次,其时间复杂度为O(n3),效率很低,且包围盒精度取决于旋转步距,步距越小,计算精度越高,但计算时间会显著增加,计算时间通常在几十秒到几百秒不等。
2.胡志刚,秦启飞针对给定的物体三维点云数据,提出一种基于凸包的最小体积的封闭有向包围盒生成算法,将时间复杂度为减小至O(n3/2(logn)2);孙殿柱等通过遗传算法避免了对物体各种姿态的枚举求解,能够快速求解出物体的近似最小包围盒,时间复杂度为O(mnG);上述两个算法主要针对点云模型,无法处理实体模型,主要用于逆向工程,应用范围较窄。
3.陈松柏等通过主成分分析法(PCA)快速得到物体的主方向,其处理对象是实体表面的三角面片,该方法将包围盒算法的复杂度降低到了O(n),但是需要计算前对物体进行离散化,操作复杂。
这些算法能够比较精确的计算任意复杂三维物体的包围盒,但其存在计算耗时较长、需要对模型进行离散等不足,因此影响了算法的工程应用。实际工程中存在较多的类长方物体,这类物体是由若干个平面多边形和曲面共同围成的封闭实体,在计算包围盒时,人们对计算效率的要求比精度要求更高。
因此,为解决上述技术问题,确有必要提供一种创新的类长方物体包围盒的快速算法,以克服现有技术中的所述缺陷。
【发明内容】
为解决上述问题,本发明的目的在于提供一种类长方物体包围盒的快速算法,其根据类长方体几何特征中有较多的直线边、平面,提出一种通过遍历物体的几何特征,快速确定物体的三个主方向,并将坐标系与三个主方向对齐,调用AABB算法快速计算物体的准最小包围盒,以满足工程应用中对计算速度的需求。
为实现上述目的,本发明采取的技术方案为:一种类长方物体包围盒的快速算法,其包括如下步骤:
1),读取物体,获得并保存物体的原始的WCS,获取物体的ID;
2),遍历物体的所有特征ID,将所有的平面储存于链表中,方便后续调用;遍历物体所有的棱边,且找出最长的棱边作为临时坐标系的Z轴,且保留该棱边ID以及该边的端点作为临时坐标系的原点;
3),构造Z轴矢量和Y轴矢量;在几何体的所有平面中找出与Z轴垂直的面,在面中提取最长边的矢量作为Y轴矢量。如果没有找到与Z轴垂直的面,则找出与Z轴相邻的面,计算该平面的法向矢量作为Y轴矢量;保证了得到的Y轴与Z轴正交。
4),由Z轴矢量和Y轴矢量叉乘得到X轴矢量,保证3个主方向两两正交。
5),构建临时坐标系:以X和Y轴矢量创建矩阵,输出得到矩阵ID,根据矩阵和原点创建坐标系,输出得到坐标系ID;
6),在临时坐标系中调用AABB包围盒,得到物体的最小包围盒,并输出包围盒的X、Y、Z方向的尺寸和盒子的左下角、右上角点坐标;AABB包围盒算法作为一个经典算法,其执行效率高,稳定性好。
7),将临时坐标系设为WCS,根据步骤6)中求得的包围盒参数绘制并显示包围盒。
本发明的类长方物体包围盒的快速算法进一步为:所述步骤6)中,也可以将临时坐标系设为WCS后再调用AABB算法,此时,AABB函数中的坐标系设为空即可。
本发明的类长方物体包围盒的快速算法还为:所述步骤7)完成后恢复原始坐标系为WCS。
与现有技术相比,本发明具有如下有益效果:
1.本发明利用了物体的直线边和平直面,无需旋转物体和坐标系,无需枚举计算几何体的所有位置的包围盒,其算法复杂度低,计算时间短。
2.本发明只需调用1次AABB算法就可确定包围盒,其计算效率高,计算时间短,对大多数物体,其计算时间能够控制在0.1s以内。
3.本发明无需对几何体进行离散,无需物体的点云数据,应用范围广。
4.本发明在构建Y轴矢量时,可利用第一主方向的垂直面或其相邻面的法向信息,故该算法最少只需几何体上的一个带直线边的平直面信息即可完成计算,稳定性好。
【附图说明】
图1是本发明的类长方物体包围盒的快速算法的流程图。
图2是本发明的步骤4中叉乘的原理图。
【具体实施方式】
请参阅说明书附图1所示,本发明为一种类长方物体包围盒的快速算法,其包括如下步骤:
1),读取物体,获得并保存物体的原始的WCS(即工作坐标系),获取物体的ID(几何体的唯一识别号)。
2),遍历物体的所有特征ID,将所有的平面储存于链表中,方便后续调用;遍历物体所有的棱边,且找出最长的棱边作为临时坐标系的Z轴,且保留该棱边ID以及该边的端点作为临时坐标系的原点。
3),构造Z轴矢量和Y轴矢量;在几何体的所有平面中找出与Z轴垂直的面,在面中提取最长边的矢量作为Y轴矢量。如果没有找到与Z轴垂直的面,则找出与Z轴相邻的面,计算该平面的法向矢量作为Y轴矢量;保证了得到的Y轴与Z轴正交。
建矩阵M,输出得到矩阵ID,根据矩阵和原点创建坐标系,输出得到4),由Z轴矢量和Y轴矢量叉乘得到X轴矢量,保证3个主方向两两正交。
叉乘的原理如图2,X、Y、Z两两正交。
已知X、Y矢量,可得Z矢量,公式如下:
同理有:
构建临时坐标系:以X和Y轴矢量创坐标系ID。
若矢量则生成的矩阵为:
公式(4)中的Z1,Z2,Z3为矢量中的对应元素。
6),在临时坐标系中调用AABB包围盒,得到物体的最小包围盒,并输出包围盒的X、Y、Z方向的尺寸和盒子的左下角、右上角点坐标;AABB包围盒算法作为一个经典算法,其执行效率高,稳定性好。
7),将临时坐标系设为WCS,根据步骤6)中求得的包围盒参数绘制并显示包围盒。也可以将临时坐标系设为WCS后再调用AABB算法,此时,AABB函数中的坐标系设为空即可。
8),恢复原始坐标系为WCS。
以上的具体实施方式仅为本创作的较佳实施例,并不用以限制本创作,凡在本创作的精神及原则之内所做的任何修改、等同替换、改进等,均应包含在本创作的保护范围之内。

Claims (3)

1.一种类长方物体包围盒的快速算法,其特征在于:包括如下步骤:
1),读取物体,获得并保存物体的原始的WCS,获取物体的ID;
2),遍历物体的所有特征ID,将所有的平面储存于链表中待用,遍历物体所有的棱边,且找出最长的棱边作为临时坐标系的Z轴,且保留该棱边ID以及该边的端点作为临时坐标系的原点;
3),构造Z轴矢量和Y轴矢量;在几何体的所有平面中找出与Z轴垂直的面,在面中提取最长边的矢量作为Y轴矢量。如果没有找到与Z轴垂直的面,则找出与Z轴相邻的面,计算该平面的法向矢量作为Y轴矢量;
4),由Z轴矢量和Y轴矢量叉乘得到X轴矢量;
5),构建临时坐标系:以X和Y轴矢量创建矩阵,输出得到矩阵ID,根据矩阵和原点创建坐标系,输出得到坐标系ID;
6),在临时坐标系中调用AABB包围盒,得到物体的最小包围盒,并输出包围盒的X、Y、Z方向的尺寸和盒子的左下角、右上角点坐标;
7),将临时坐标系设为WCS,根据步骤6)中求得的包围盒参数绘制并显示包围盒。
2.如权利要求1所述的类长方物体包围盒的快速算法,其特征在于:所述步骤7)中,也可以将临时坐标系设为WCS后再调用AABB算法,此时,AABB函数中的坐标系设为空即可。
3.如权利要求1所述的类长方物体包围盒的快速算法,其特征在于:所述步骤7)完成后恢复原始坐标系为WCS。
CN201910858734.6A 2019-09-11 2019-09-11 一种类长方物体包围盒的快速算法 Active CN110599582B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910858734.6A CN110599582B (zh) 2019-09-11 2019-09-11 一种类长方物体包围盒的快速算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910858734.6A CN110599582B (zh) 2019-09-11 2019-09-11 一种类长方物体包围盒的快速算法

Publications (2)

Publication Number Publication Date
CN110599582A true CN110599582A (zh) 2019-12-20
CN110599582B CN110599582B (zh) 2023-03-14

Family

ID=68858783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910858734.6A Active CN110599582B (zh) 2019-09-11 2019-09-11 一种类长方物体包围盒的快速算法

Country Status (1)

Country Link
CN (1) CN110599582B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113034515A (zh) * 2021-03-22 2021-06-25 易视腾科技股份有限公司 基于包围盒树的多边形裁剪方法、电子设备及存储介质
CN113158319A (zh) * 2021-05-18 2021-07-23 杭州群核信息技术有限公司 无纹理铺贴商品的排料计算方法、装置、电子设备和介质
CN113297691A (zh) * 2021-04-30 2021-08-24 成都飞机工业(集团)有限责任公司 一种基于平面遍历的最小包围盒尺寸求解方法
CN113781625A (zh) * 2020-06-10 2021-12-10 辉达公司 适用于光线追踪的基于硬件的技术

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2132085C1 (ru) * 1998-06-02 1999-06-20 Кашик Алексей Сергеевич Способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши
CN102902864A (zh) * 2012-10-17 2013-01-30 山东理工大学 三维物体的近似最小体积包围盒快速求解方法
CN102915564A (zh) * 2012-08-31 2013-02-06 浙江理工大学 一种基于有向包围盒和轴向包围盒的脚楦匹配方法
JP2014109440A (ja) * 2012-11-30 2014-06-12 Mitsubishi Space Software Co Ltd 寸法推定装置、寸法推定プログラムおよび寸法推定方法
CN104200031A (zh) * 2014-09-04 2014-12-10 大连大学 一种基于距离优先和时空相关性的碰撞检测方法
WO2015070618A1 (zh) * 2013-11-18 2015-05-21 华为技术有限公司 多光源下的全局光照绘制方法及装置
CN106503347A (zh) * 2016-10-25 2017-03-15 福州大学 一种基于aabb与obb自适应的复合包围盒算法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2132085C1 (ru) * 1998-06-02 1999-06-20 Кашик Алексей Сергеевич Способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши
CN102915564A (zh) * 2012-08-31 2013-02-06 浙江理工大学 一种基于有向包围盒和轴向包围盒的脚楦匹配方法
CN102902864A (zh) * 2012-10-17 2013-01-30 山东理工大学 三维物体的近似最小体积包围盒快速求解方法
JP2014109440A (ja) * 2012-11-30 2014-06-12 Mitsubishi Space Software Co Ltd 寸法推定装置、寸法推定プログラムおよび寸法推定方法
WO2015070618A1 (zh) * 2013-11-18 2015-05-21 华为技术有限公司 多光源下的全局光照绘制方法及装置
CN104200031A (zh) * 2014-09-04 2014-12-10 大连大学 一种基于距离优先和时空相关性的碰撞检测方法
CN106503347A (zh) * 2016-10-25 2017-03-15 福州大学 一种基于aabb与obb自适应的复合包围盒算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘晓东等: "一种基于混合层次包围盒的快速碰撞检测算法", 《西安交通大学学报》 *
尹逊刚等: "三维物体的准最小包围盒快速求解方法", 《组合机床与自动化加工技术》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113781625A (zh) * 2020-06-10 2021-12-10 辉达公司 适用于光线追踪的基于硬件的技术
CN113781625B (zh) * 2020-06-10 2024-03-15 辉达公司 适用于光线追踪的基于硬件的技术
US12073504B2 (en) 2020-06-10 2024-08-27 Nvidia Corporation Hardware-based techniques applicable for ray tracing for efficiently representing and processing an arbitrary bounding volume
CN113034515A (zh) * 2021-03-22 2021-06-25 易视腾科技股份有限公司 基于包围盒树的多边形裁剪方法、电子设备及存储介质
CN113297691A (zh) * 2021-04-30 2021-08-24 成都飞机工业(集团)有限责任公司 一种基于平面遍历的最小包围盒尺寸求解方法
CN113158319A (zh) * 2021-05-18 2021-07-23 杭州群核信息技术有限公司 无纹理铺贴商品的排料计算方法、装置、电子设备和介质
CN113158319B (zh) * 2021-05-18 2023-02-28 杭州群核信息技术有限公司 无纹理铺贴商品的排料计算方法、装置、电子设备和介质

Also Published As

Publication number Publication date
CN110599582B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
CN110599582B (zh) 一种类长方物体包围盒的快速算法
Li et al. A modified ICP algorithm based on dynamic adjustment factor for registration of point cloud and CAD model
Ji et al. An improved method for registration of point cloud
CN109544677A (zh) 基于深度图像关键帧的室内场景主结构重建方法及系统
CN111986219B (zh) 一种三维点云与自由曲面模型的匹配方法
Liu et al. Point cloud registration based on MCMC-SA ICP algorithm
CN103092577A (zh) 三维影像量测程序生成系统及方法
CN113077521B (zh) 一种相机标定方法及装置
Cuillière et al. Automatic comparison and remeshing applied to CAD model modification
Yun et al. Registration of multiview point clouds for application to ship fabrication
CN109766903A (zh) 一种基于曲面特征的点云模型曲面匹配方法
Ruan et al. Closed-form Minkowski sums of convex bodies with smooth positively curved boundaries
Wu et al. Multiview point cloud registration based on minimum potential energy for free-form blade measurement
CN115423852A (zh) 一种点云数据配准方法、系统、电子设备及存储介质
Chelishchev et al. Estimation of minimum volume of bounding box for geometrical metrology
Zou et al. Shape-based retrieval and analysis of 3D models using fuzzy weighted symmetrical depth images
CN201576308U (zh) 一种复杂曲面的配准系统
CN114841965B (zh) 钢结构形变检测方法、装置、计算机设备及存储介质
Dong et al. Pose estimation of components in 3c products based on point cloud registration
Zhang et al. Pose estimation of space objects based on hybrid feature matching of contour points
Xue et al. Point cloud registration method for pipeline workpieces based on RANSAC and improved ICP algorithms
Molina-Carmona et al. Morphological offset computing for contour pocketing
Huang et al. An analytical representation of conformal mapping for genus-zero implicit surfaces and its application to surface shape similarity assessment
Vadez et al. Progressive Geometric View Factors for Radiative Thermal Simulation
Lu et al. 3D Reconstruction of Grabbed Objects Using a Single Image Based on Palletizing Task

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant