CN115205485B - 基于包围盒的三维空间探测扩充方法、系统、装置及介质 - Google Patents
基于包围盒的三维空间探测扩充方法、系统、装置及介质 Download PDFInfo
- Publication number
- CN115205485B CN115205485B CN202210758309.1A CN202210758309A CN115205485B CN 115205485 B CN115205485 B CN 115205485B CN 202210758309 A CN202210758309 A CN 202210758309A CN 115205485 B CN115205485 B CN 115205485B
- Authority
- CN
- China
- Prior art keywords
- detection
- determining
- bounding box
- space
- coordinate
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/536—Depth or shape recovery from perspective effects, e.g. by using vanishing points
Abstract
本发明提供的基于包围盒的三维空间探测扩充方法、系统、装置及介质,该方法主要包括以下步骤:构建待探测的目标物体,拾取目标物体的内部空间点;获取预设的有向包围盒的尺寸数据,根据内部空间点和尺寸数据构建有向包围盒;根据目标物体构建第一坐标系,确定第一坐标系的坐标轴探测顺序;根据坐标轴探测顺序进行空间探测,确定空间探测的最短距离;最短距离是根据空间探测的起点与空间探测到的障碍物所确定的;根据最短距离对有向包围盒进行扩充,得到可探测空间范围;本方案可以探测更为复杂的内空结构;探测到的结果更为合理准确,在更大范围物体上可以沿用可探测空间范围进一步扩充,有更大的灵活性,可广泛应用于家居设计技术领域。
Description
技术领域
本发明涉及家居设计技术领域,尤其是基于包围盒的三维空间探测扩充方法、系统、装置及介质。
背景技术
在定制家居软件的柜子设计中,设计师经常会有这样的需求,即在柜子的内部空间范围能放置多大的抽屉或者其他部件物体。基于此需求,软件需要找到一种获取物体内部空间范围的算法。对于获取柜子内空的做法,相关技术方案中,如图1所示,射线求交是场景碰撞检测常用的手法,在家居设计软件中也常用来探测柜体的内空范围;首先,构建待检测物体三角网格;然后选中物体内部空间任意一点;以物体的局部坐标系构造六条射线,射线以拾取点为起点,坐标轴为方向;射线跟物体三角面片依次求交,得到交点;将得到的交点算出局部坐标系的八个角点,构成一个包围盒,该包围盒即为内空范围。
但是,相关技术方案中所采用的射线求交的方法或者算法存在如下的问题:射线求交的计算方式无法处理复杂的内容结构;所获取到的内空范围大多数情况无法排除所有物体障碍;并且,射线求交无法优先获取合理空间范围,容易出现二义性。
发明内容
有鉴于此,为至少部分解决上述技术问题或者缺陷之一,本发明实施例的目的在于提供一种基于包围盒,并能够处理复杂内空结构的三维空间探测扩充方法;实施例还提供了能够实现这一方法的系统、装置以及存储介质。
一方面,本申请技术方案提供了基于包围盒的三维空间探测扩充方法,包括以下步骤:包括以下步骤:
构建待探测的目标物体,拾取所述目标物体的内部空间点;
获取预设的有向包围盒的尺寸数据,根据所述内部空间点以及所述尺寸数据构建所述有向包围盒;
根据所述目标物体构建第一坐标系,确定所述第一坐标系的坐标轴探测顺序;
根据所述坐标轴探测顺序进行空间探测,确定空间探测的最短距离;所述最短距离是根据空间探测的起点与空间探测到的障碍物所确定的;
根据所述最短距离对所述有向包围盒进行扩充,得到可探测空间范围。
在本申请方案的一种可行的实施例中,所述空间探测的方向由所述第一坐标系的坐标轴的方向确定的;所述根据所述坐标轴探测顺序进行空间探测,确定空间探测的最短距离这一步骤,包括:
根据所述坐标轴探测顺序对所述坐标轴的六个方向迭代进行探测。
在本申请方案的一种可行的实施例中,所述空间探测的方向由所述第一坐标系的坐标轴的方向确定的;所述根据所述坐标轴探测顺序进行空间探测,确定空间探测的最短距离这一步骤,还包括:
确定有向包围盒的第一空间探测方向;
确定所述第一空间探测方向上所述有向包围盒的第一矩形平面;
根据所述第一矩形平面与所述障碍物之间的距离确定空间探测的所述最短距离。
在本申请方案的一种可行的实施例中,所述根据所述第一矩形平面与所述障碍物之间的距离确定空间探测的所述最短距离这一步骤,包括:
确定所述第一矩形平面的中心点为视点;
根据所述视点以及所述第一空间探测方向确定视野范围;
在所述视野范围中构建得到深度缓冲区,根据所述深度缓冲区确定所述最短距离。
在本申请方案的一种可行的实施例中,所述在所述视野范围中构建得到深度缓冲区,根据所述深度缓冲区确定所述最短距离这一步骤,包括:
确定所述障碍物的三角面片数据;
确定所述视野范围的视锥,根据所述视锥以及所述三角面片数据得到若干目标三角形;所述目标三角形均落入所述视锥的范围内;
将所述目标三角形进行光栅化,并根据所述目标三角形的第一深度值,插值得到所述目标三角形内像素点的第二深度值;
将所述第二深度值填充到所述深度缓冲区中,进行统计得到深度缓冲区最小值作为所述最短距离。
在本申请方案的一种可行的实施例中,在所述视野范围中构建得到深度缓冲区,根据所述深度缓冲区确定所述最短距离,包括以下步骤至少之一:
确定Z-Buffer的深度缓冲区;
确定W-Buffer的深度缓冲区。
在本申请方案的一种可行的实施例中,确定所述深度缓冲区为W-Buffer缓冲区;所述深度缓冲区的构建过程,包括:
确定所述视野范围在第二坐标系中的第一坐标点;所述第二坐标系的维度高于所述第一坐标系;
根据所述第一坐标点,通过齐次坐标表示法得到第一坐标系中的第二坐标点;
根据所述第一坐标点到所述第二坐标点的变换过程,确定透视投影变换矩阵,根据所述透视投影变换矩阵确定所述W-Buffer缓冲区。
另一方面,本申请技术方案还提供了基于包围盒的三维空间探测扩充系统,该系统包括:
物体构建单元,用于构建待探测的目标物体,拾取所述目标物体的内部空间点;
包围盒构建单元,用于获取预设的有向包围盒的尺寸数据,根据所述内部空间点以及所述尺寸数据构建所述有向包围盒;
空间探测单元,用于根据所述目标物体构建第一坐标系,确定所述第一坐标系的坐标轴探测顺序;并根据所述坐标轴探测顺序进行空间探测,确定空间探测的最短距离;所述最短距离是根据空间探测的起点与空间探测到的障碍物所确定的;
根据所述最短距离对所述有向包围盒进行扩充,得到可探测空间范围。
另一方面,本申请技术方案还提供基于包围盒的三维空间探测扩充装置,该设备包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器运行如第一方面中任一项所述的基于包围盒的三维空间探测扩充方法。
另一方面,本申请技术方案还提供一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如第一方面中任一项所述的基于包围盒的三维空间探测扩充方法。
本发明的优点和有益效果将在下面的描述中部分给出,其他部分可以通过本发明的具体实施方式了解得到:
本申请技术方案提供了一种有向包围盒的探测方式来代替射线求交的方法,可以按包围盒所在的空间坐标系的坐标轴方向,探测这个方向的空间碰撞情况;每个方向扩充后的包围盒又继续以另一个方向的面去探测空间,依序迭代六个方向,从而得到最后扩充的内部可扩充的空间范围;方案中探测方式以面代点,可以探测更为复杂的内空结构;探测到的结果更为合理准确,内空范围绝对真空,不会有任何物体在范围内;并且,方案以可探测空间范围去探测内空,最后的结果仍是可探测空间范围,在更大范围物体上可以沿用可探测空间范围进一步扩充,有更大的灵活性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术方案中提供的射线求交的方法步骤流程图;
图2为本申请技术方案实施例提供的基于包围盒的三维空间探测扩充系统的步骤流程图;
图3为本申请技术方案实施例中构建目标物体的示意图;
图4为本申请技术方案实施例中构建目标物体局部坐标系的示意图;
图5为本申请技术方案实施例中沿x轴正方向进行空间扩展的示意图;
图6为本申请技术方案实施例中沿y轴正方向进行空间扩展的示意图;
图7为本申请技术方案实施例中沿x轴负方向进行空间扩展的示意图;
图8为本申请技术方案实施例中沿y轴负方向进行空间扩展的示意图;
图9为本申请技术方案实施例中沿z轴正方向进行空间扩展的示意图;
图10为本申请技术方案实施例中沿z轴负方向进行空间扩展的示意图;
图11为本申请技术方案实施例中确定最短距离过程的示意图;
图12为本申请技术方案实施例中构建的视野缓冲区的示意图;
图13为本申请技术方案实施例提供的另一种基于包围盒的三维空间探测扩充系统的步骤流程图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
针对背景技术中所指出的技术问题,即对于射线求交的方法,在应对复杂内部结构的时候就很难可以自适应获取合理的最大内空,这类情况容易导致预估范围过大,造成无法合理放置待摆放的子部件。本申请技术方案提出一种基于有向包围盒的三维空间探测扩充方法,目的在于自适应获取物体内部定向的最大空间。在第一方面,如图2所示,本申请技术方案中所提供的基于包围盒的三维空间探测扩充方法,主要包括步骤S100-S500:
S100、构建待探测的目标物体,拾取目标物体的内部空间点;
具体在实施例中,首先,通过软件工具搭建必要的仿真环境,在搭建好的仿真环境中,确定需要进行探测或者扩充的目标物体,并通过主动选取的方式获取该目标内部空间中的点,此处所选择的点,将用于构建初始的优先包围盒。需要说明的是,如图3所示,实施例中在仿真环境中所构建的待探测物体,其应当是存在内部空间的家居空间或者家具,例如书柜、衣橱等等。
S200、获取预设的有向包围盒的尺寸数据,根据内部空间点和尺寸数据构建有向包围盒;
具体在实施例中,根据步骤S100中所确定的内部空间点,以及预先设定的初始优先包围盒的尺寸数据,即长宽高,在仿真环境之中构建有向包围盒;示例性地,在实施过程中,设计人员可以通过鼠标选中物体内部空间任意一点,默认给定极小的长宽高,构建初始的有向包围盒,由初始的有向包围盒所包围的空间为初始的可探测空间范围(Orientedbounding box,OBB)。
S300、根据目标物体构建第一坐标系,确定第一坐标系的坐标轴探测顺序;
具体在实施例中,如图4所示,所构建的第一坐标系为三维空间坐标系,根据步骤S200步骤中所设置的初始有向包围盒中的任一点构建得到(局部)三维空间坐标系,进一步确定三维空间坐标系的六轴方向,并设置六轴探测优先顺序。
S400、根据坐标轴探测顺序进行空间探测,确定空间探测的最短距离;
其中,最短距离是根据空间探测的起点与空间探测到的障碍物所确定的。具体在实施例中,根据步骤S300中所确定的六轴探测优先顺序,从三维空间坐标第一个方向开始探测,直至在该方向上探测得到障碍物,进一步计算确定该方向上碰撞或接触到障碍物的最短距离。
S500、根据最短距离对有向包围盒进行扩充,得到可探测空间范围;
具体在实施例中,通过重复执行步骤S500,直至完成六个坐标轴方向上的扩充距离探测,并进一步得到六个坐标轴方向上的最短距离,根据该最短距离,将包围盒中的可探测空间范围OBB在该坐标轴方向进行扩充,所扩充的距离即为计算得到的最短距离。迭代扩充六个方向之后,得到最终可探测空间范围OBB。
在一些可行的实施例中,实施例中空间探测的方向由第一坐标系的坐标轴的方向确定的,实施例中根据坐标轴探测顺序进行空间探测,确定空间探测的最短距离这一步骤S400,可以包括步骤S401:
S401、根据坐标轴探测顺序对坐标轴的六个方向迭代进行探测;
需要说明的是,实施例中的所指的坐标轴六个方向,是将坐标轴的正负轴分为两个不同的方向,即实施例中坐标轴六个方向包括:x轴正方向,x轴负方向,y轴正方向,y轴负方向,z轴正方向以及z轴负方向。
示例性地,在进行空间探测的过程中,实施例首先构建得到柜子的三角网格,然后选中柜子中间区域一点,根据柜子的局部坐标系,生成初始OBB0;
如图5所示,以+x轴为第一方向,根据OBB0的右平面矩形往右边探测,扩充右侧真空区域生成新的OBB1;如图6所示,以+y轴为第二方向,根据OBB1的前平面矩形往前边探测,扩充前侧真空区域生成新的OBB2;如图7所示,以-x轴为第三方向,根据OBB2的左平面矩形往左边探测,扩充左侧真空区域生成新的OBB3;如图8所示,以-y轴为第四方向,根据OBB3的后平面矩形往后边探测,扩充后侧真空区域生成新的OBB4;如图9所示,以+z轴为第五方向,根据OBB4的上平面矩形往上边探测,扩充上侧真空区域生成新的OBB5;如图10所示,以-z轴为第五方向,根据OBB5的下平面矩形往下边探测,扩充下侧真空区域生成新的OBB6。得到的OBB6即为最终该区域可扩充的总内空范围。
在一些可以选择的实施方式中,实施例方法中,空间探测的方向由第一坐标系的坐标轴的方向确定的;根据坐标轴探测顺序进行空间探测,确定空间探测的最短距离这一步骤S400,还可以包括步骤S410-S430:
S410、确定有向包围盒的第一空间探测方向;
S420、确定第一空间探测方向上有向包围盒的第一矩形平面;
S430、根据第一矩形平面与障碍物之间的距离确定空间探测的最短距离;
具体在实施例中,进行空间扩充的关键点在于测距,即计算有向包围盒的空间矩形到障碍物的接触的最短距离。实施例在确定该最短距离的过程中,首先获取初始构建的有向包围盒在坐标轴方向上的矩阵平面,该矩阵平面可以是在该坐标轴方向上有向包围盒的矩形平面(投影)。需要说明的是,在确定最短距离的过程中,由于有向包围盒在任意一个坐标轴方向上,根据距离坐标原点的不同距离,可以得到若干矩形平面;因此,实施例中可以选择有向包围盒在这一坐标轴方向上,距离坐标轴原点距离最远的矩形平面作为第一矩形平面,并计算该矩形平面与障碍物之间的距离,作为步骤S400最终所输出的最短距离。
在一些可行的实施方式中,实施例方法在根据第一矩形平面与障碍物之间的距离确定空间探测的最短距离这一过程中,还可以包括步骤S431-S433:
S431、确定第一矩形平面的中心点为视点;
S432、根据视点以及第一空间探测方向确定视野范围;
S433、在视野范围中构建得到深度缓冲区,根据深度缓冲区确定最短距离;
如图11所示,具体在实施例中,通过步骤S410-S420确定了在坐标轴方向上的矩形平面之后,实施例以平面的中点为视点,探测方向为前方向,构建视野范围,并同时构建得到深度缓冲区,统计视野方案中深度缓冲区中的(像素)最小值,将这一最小值最为实施例所要确定的最短距离。
需要说明的是,实施例中深度缓冲区,用于记录上面每个像素的深度值,通过深度缓冲区,实施例可以进行深度测试,从而确定像素的遮挡关系,保证渲染正确。示例性地,实施例中首先使用glClear(GL_DEPTH_BUFFER_BIT),把所有像素的深度值设置为最大值。然后,在场景中以任意次序绘制所有物体。硬件或者软件所执行的图形计算把每一个绘制表面转换为窗口上一些像素的集合,此时并不考虑是否被其他物体遮挡。其次,OpenGL会计算这些表面和观察平面的距离。启用了深度缓冲区,在绘制每个像素之前,OpenGL会把它的深度值和已经存储在这个像素的深度值进行比较。新像素深度值小于原先像素深度值,则新像素值会取代原先的;反之,新像素值被遮挡,他颜色值和深度将被丢弃。为了启动深度缓冲区,必须先启动它,即glEnable(GL_DEPTH_TEST)。每次绘制场景之前,需要先清除深度缓冲区,即glClear(GL_DEPTH_BUFFER_BIT),然后以任意次序绘制场景中的物体。
在一些可行的实施方式中,实施例方法在视野范围中构建得到深度缓冲区,根据深度缓冲区确定最短距离这一过程中,还可以包括步骤S4331-S4334:
S4331、确定障碍物的三角面片数据;
具体在实施例的仿真环境中,所构建的物体均可以有三角网格组成,其主要的拓扑信息只有三角面片数据。需要说明的是,三角网格是多边形网格的一种,多边形网格又被称为Mesh,是计算机图形学中用于为各种不规则物体建立模型的一种数据结构。现实世界中的物体表面直观上看都是由曲面构成的;而在计算机的仿真环境中,由于只能用离散的结构去模拟现实中连续的事物;所以现实世界中的曲面实际上在计算机里是由无数个小的多边形面片去组成的。由于平面多边形实际上也能再细分成三角形。所以,使用全由三角形组成的三角网格(Triangle Mesh)来表示物体表面也是具有一般性的。
S4332、确定视野范围的视锥,根据视锥以及三角面片数据得到若干目标三角形;目标三角形均落入视锥的范围内;
S4333、将目标三角形进行光栅化,并根据目标三角形的第一深度值,插值得到目标三角形内像素点的第二深度值;
S4334、将第二深度值填充到深度缓冲区中,进行统计得到深度缓冲区最小值作为最短距离;
具体在实施例中,在构建得到深度缓冲区以及视野范围的视锥之后,通过视锥对用于表示障碍物的三角形进行筛选剔除,即将视锥外部的三角形剔除;如图12所示,然后,光栅化视锥内的三角形,根据三角形顶点的对应的深度值,插值得到每一像素的深度值,将该像素最小的深度值填充到深度缓冲区,并通过统计的方式得到深度缓冲区中的最小值,作为最短距离的像素点。
需要说明的是,实施例中的视锥指的是一个实体形状,看起来像是一个顶部被平行于地基切除的金字塔;这就是一个透视相机渲染时能看到区域的形状。视锥具有上、下、左、右、近、远,共6个面组成。在视锥体内的景物可见,反之则不可见。为提高性能,只对其中与视锥体有交集的对象进行绘制。计算出视锥体六个面的空间平面方程,将每个三角形的中心点坐标分别代入六个面的平面方程做比较,则可以判断点是否在视锥体内。此外,实施例中光栅化就是把顶点数据转换为片元的过程。片元中的每一个元素对应于帧缓冲区中的一个像素。光栅化是将几何图元变为二维图像的过程,该过程包含了两部分的工作;第一部分工作:决定窗口坐标中的哪些整型栅格区域被基本图元占用;第二部分工作:分配一个颜色值和一个深度值到各个区域;即光栅化过程产生的是片元。
在一些可行的实施方式中,视野范围中构建得到深度缓冲区,可以是Z-Buffer或者W-Buffer的深度缓冲区;
其中,z-buffer与w-buffer的区别就是前者保存的是点的z坐标,而后者保存的是点的w坐标。更为具体地,两者因为保存的值有不同的含义,所以表现出来的实际效果也会有差别。z-buffer保存的是经过投影变换后的z坐标,由于投影后物体会产生近大远小的效果,所以距离眼睛比较近的地方,z坐标的分辨率比较大,而远处的分辨率则比较小,换句话说,投影后的z坐标在其值域上,对于离开眼睛的物理距离变化来说,不是线性变化的(即非均匀分布),这样的一个好处是近处的物体得到了较高的深度分辨率,但是远处物体的深度判断可能会出错。
w-buffer保存的是经过投影变换后的w坐标,而w坐标通常跟世界坐标系中的z坐标成正比,所以变换到投影空间中之后,其值依然是线性分布的,这样无论远处还是近处的物体,都有相同的深度分辨率。
在一些可行的实施例中,当确定所构建的缓冲区为DepthBuffer[w][h],即W-Buffer后;实施例中,深度缓冲区的构建过程,包括步骤S433a-S433c:
S433a、确定视野范围在第二坐标系中的第一坐标点;第二坐标系的维度高于第一坐标系;
S433b、根据第一坐标点,通过齐次坐标表示法得到第一坐标系中的第二坐标点;
S433c、根据第一坐标点到第二坐标点的变换过程,确定透视投影变换矩阵,根据透视投影变换矩阵确定W-Buffer缓冲区;
具体在实施例中,3D空间(第一坐标系)点的坐标是(x,y,z),为了使矩阵乘法具有平移变换的功效,实施例用4D空间(第二坐标系)中的点(x,y,z,w)来表示3D空间中的点(x′,y′,z′),这两个不同空间点之间的关系是:
x′=x/w
y′=y/w
z′=z/w
像这样用四维空间点表示三维空间点,或者说用n+1维空间点表示n维空间点的方法叫做齐次坐标表示法。
具体在实施例中,在仿真环境向现实环境转换、现实环境向转换仿真环境过程中,w通常保持不变,总是等于一,这样,齐次坐标的前三个分量就是对应3D空间点的三个坐标分量。但是,经过投影变换后,w将得到一个比例值,比如,实施例中的透视投影变换矩阵是:
W 0 0 0
0H 0 0
0 0 Q 1
0 0 -QZn 0
其中,Zn为近裁剪面z坐标,Zf为远裁剪面z坐标,W=2×Zn/视口宽度,H=2×Zn/视口高度,Q=Zf/(Zf-Zn)。将点(x,y,z,1)乘以此矩阵,w便不再是一,而对应的3D空间点坐标(x/w,y/w,z/w)将出现一个缩放效果。同时,因为w的值通常与z坐标成正比(比如经过上面这个矩阵的变换,w的值其实就是z坐标的值),所以经过投影变换,物体会产生近大远小的效果。
结合说明书附图13,对本申请技术方案所提供的实施例方法的完整实施例过程进行完整的描述如下:
1.获取OBB方向所在的矩形平面,以平面的中点为视点,探测方向为前方向,构建视野范围。
2.构建深度缓冲区DepthBuffer[w][h]。
3.视锥裁切三角形,将视锥外部的三角形剔除。
4.光栅化视锥内的三角形,根据三角形顶点的对应的深度值,插值得到每一像素的深度值,将该像素最小的深度值填充到深度缓冲区。
5.统计深度缓冲区最小值,即得到可扩充的最大距离。
另一方面,本申请技术方案还提供了基于包围盒的三维空间探测扩充系统,该系统包括:
物体构建单元,用于构建待探测的目标物体,拾取目标物体的内部空间点;
包围盒构建单元,用于获取预设的有向包围盒的尺寸数据,根据内部空间点和尺寸数据构建有向包围盒;
空间探测单元,用于根据目标物体构建第一坐标系,确定第一坐标系的坐标轴探测顺序;并根据坐标轴探测顺序进行空间探测,确定空间探测的最短距离;最短距离是根据空间探测的起点与空间探测到的障碍物所确定的;
根据最短距离对有向包围盒进行扩充,得到可探测空间范围。
另一方面,本申请的技术方案还提供基于包围盒的三维空间探测扩充装置;其包括:
至少一个处理器;至少一个存储器,该存储器用于存储至少一个程序;当至少一个程序被至少一个处理器执行,使得至少一个处理器运行如第一方面中的基于包围盒的三维空间探测扩充方法。
本发明实施例还提供了一种存储介质,其存储有对应的执行程序,程序被处理器执行,实现第一方面中的基于包围盒的三维空间探测扩充方法。
从上述具体的实施过程,可以总结出,本发明所提供的技术方案相较于现有技术存在以下优点或优势:
1)本申请技术方案的探测方式以面代点,可以探测更为复杂的内空结构。
2)本申请技术方案探测到的结果更为合理准确,内空范围绝对真空,不会有任何物体在范围内。
3)本申请技术方案可以按不同的优先顺序或者不同方向的合理内空,比如xOy平面优先,或者xOz平面优先所获取的合理内空可定制
4)本申请技术方案以OBB去探测内空,最后的结果仍是OBB,在更大范围物体上可以沿用OBB进一步扩充,有更大的灵活性。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.基于包围盒的三维空间探测扩充方法,其特征在于,包括以下步骤:
构建待探测的目标物体,拾取所述目标物体的内部空间点;
获取预设的有向包围盒的尺寸数据,根据所述内部空间点以及所述尺寸数据构建所述有向包围盒;
根据所述目标物体构建第一坐标系,确定所述第一坐标系的坐标轴探测顺序;
根据所述坐标轴探测顺序进行空间探测,确定空间探测的最短距离;所述最短距离是根据空间探测的起点与空间探测到的障碍物所确定的;
根据所述最短距离对所述有向包围盒进行扩充,得到可探测空间范围;
所述空间探测的方向由所述第一坐标系的坐标轴的方向确定的;所述根据所述坐标轴探测顺序进行空间探测,确定空间探测的最短距离这一步骤,包括:
根据所述坐标轴探测顺序对所述坐标轴的六个方向迭代进行探测;
其中,所述空间探测的方向由所述第一坐标系的坐标轴的方向确定的;所述根据所述坐标轴探测顺序进行空间探测,确定空间探测的最短距离这一步骤,还包括:
确定有向包围盒的第一空间探测方向;
确定所述第一空间探测方向上所述有向包围盒的第一矩形平面;
根据所述第一矩形平面与所述障碍物之间的距离确定空间探测的所述最短距离。
2.根据权利要求1所述的基于包围盒的三维空间探测扩充方法,其特征在于,所述根据所述第一矩形平面与所述障碍物之间的距离确定空间探测的所述最短距离这一步骤,包括:
确定所述第一矩形平面的中心点为视点;
根据所述视点以及所述第一空间探测方向确定视野范围;
在所述视野范围中构建得到深度缓冲区,根据所述深度缓冲区确定所述最短距离。
3.根据权利要求2所述 的基于包围盒的三维空间探测扩充方法,其特征在于,所述在所述视野范围中构建得到深度缓冲区,根据所述深度缓冲区确定所述最短距离这一步骤,包括:
确定所述障碍物的三角面片数据;
确定所述视野范围的视锥,根据所述视锥以及所述三角面片数据得到若干目标三角形;
所述目标三角形均落入所述视锥的范围内;
将所述目标三角形进行光栅化,并根据所述目标三角形的第一深度值,插值得到所述目标三角形内像素点的第二深度值;
将所述第二深度值填充到所述深度缓冲区中,进行统计得到深度缓冲区最小值作为所述最短距离。
4.根据权利要求2所述的基于包围盒的三维空间探测扩充方法,其特征在于,在所述视野范围中构建得到深度缓冲区,根据所述深度缓冲区确定所述最短距离,包括以下步骤至少之一:
确定Z-Buffer的深度缓冲区;
确定W-Buffer的深度缓冲区。
5.根据权利要求4所述的基于包围盒的三维空间探测扩充方法,其特征在于,确定所述深度缓冲区为W-Buffer缓冲区;所述深度缓冲区的构建过程,包括:
确定所述视野范围在第二坐标系中的第一坐标点;所述第二坐标系的维度高于所述第一坐标系;
根据所述第一坐标点,通过齐次坐标表示法得到第一坐标系中的第二坐标点;
根据所述第一坐标点到所述第二坐标点的变换过程,确定透视投影变换矩阵,根据所述透视投影变换矩阵确定所述W-Buffer缓冲区。
6.基于包围盒的三维空间探测扩充系统,其特征在于,所述系统包括:
物体构建单元,用于构建待探测的目标物体,拾取所述目标物体的内部空间点;
包围盒构建单元,用于获取预设的有向包围盒的尺寸数据,根据所述内部空间点以及所述尺寸数据构建所述有向包围盒;
空间探测单元,用于根据所述目标物体构建第一坐标系,确定所述第一坐标系的坐标轴探测顺序;并根据所述坐标轴探测顺序进行空间探测,确定空间探测的最短距离;所述最短距离是根据空间探测的起点与空间探测到的障碍物所确定的;
根据所述最短距离对所述有向包围盒进行扩充,得到可探测空间范围;
所述空间探测的方向由所述第一坐标系的坐标轴的方向确定的;所述根据所述坐标轴探测顺序进行空间探测,确定空间探测的最短距离这一步骤,包括:
根据所述坐标轴探测顺序对所述坐标轴的六个方向迭代进行探测;
其中,所述空间探测的方向由所述第一坐标系的坐标轴的方向确定的;所述根据所述坐标轴探测顺序进行空间探测,确定空间探测的最短距离这一步骤,还包括:
确定有向包围盒的第一空间探测方向;
确定所述第一空间探测方向上所述有向包围盒的第一矩形平面;
根据所述第一矩形平面与所述障碍物之间的距离确定空间探测的所述最短距离。
7.基于包围盒的三维空间探测扩充装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器运行如权利要求1-5任一项所述的基于包围盒的三维空间探测扩充方法。
8.一种存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于运行如权利要求1-5中任一项所述的基于包围盒的三维空间探测扩充方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210758309.1A CN115205485B (zh) | 2022-06-30 | 2022-06-30 | 基于包围盒的三维空间探测扩充方法、系统、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210758309.1A CN115205485B (zh) | 2022-06-30 | 2022-06-30 | 基于包围盒的三维空间探测扩充方法、系统、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115205485A CN115205485A (zh) | 2022-10-18 |
CN115205485B true CN115205485B (zh) | 2023-03-24 |
Family
ID=83577258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210758309.1A Active CN115205485B (zh) | 2022-06-30 | 2022-06-30 | 基于包围盒的三维空间探测扩充方法、系统、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115205485B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236079A (zh) * | 2013-04-19 | 2013-08-07 | 浙江理工大学 | 一种基于三维模型体素化的内部球改进构造方法 |
CN106127853A (zh) * | 2016-06-17 | 2016-11-16 | 中国电子科技集团公司第二十八研究所 | 一种无人机探测范围分析方法 |
CN108171793A (zh) * | 2018-01-19 | 2018-06-15 | 北京建筑大学 | 一种探查层叠区域三角网格的方法 |
CN108257103A (zh) * | 2018-01-25 | 2018-07-06 | 网易(杭州)网络有限公司 | 游戏场景的遮挡剔除方法、装置、处理器及终端 |
CN110000812A (zh) * | 2019-03-21 | 2019-07-12 | 深圳点猫科技有限公司 | 一种用于机器人的物体碰撞检测方法及其系统 |
CN110826122A (zh) * | 2019-10-12 | 2020-02-21 | 中广核工程有限公司 | 一种核电三维布置设计模型体素化方法及系统 |
CN111739146A (zh) * | 2019-03-25 | 2020-10-02 | 华为技术有限公司 | 物体三维模型重建方法及装置 |
CN112614085A (zh) * | 2019-09-19 | 2021-04-06 | 漳州立达信光电子科技有限公司 | 一种物体检测方法、装置及终端设备 |
CN112926441A (zh) * | 2021-02-24 | 2021-06-08 | 广州极点三维信息科技有限公司 | 基于机器视觉的家居识别方法、系统、装置及介质 |
CN113701883A (zh) * | 2021-09-02 | 2021-11-26 | 北京环境特性研究所 | 变距离空间目标光谱特性模拟测量系统及方法 |
CN114224574A (zh) * | 2021-12-17 | 2022-03-25 | 杭州键嘉机器人有限公司 | 一种用于髋关节置换手术中的活动范围检测方法 |
CN114491922A (zh) * | 2021-12-09 | 2022-05-13 | 上海望友信息科技有限公司 | 元器件建模及参数化的方法、系统、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9024949B2 (en) * | 2004-10-13 | 2015-05-05 | Sony Corporation | Object representation using distance functions |
US20210125052A1 (en) * | 2019-10-24 | 2021-04-29 | Nvidia Corporation | Reinforcement learning of tactile grasp policies |
-
2022
- 2022-06-30 CN CN202210758309.1A patent/CN115205485B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236079A (zh) * | 2013-04-19 | 2013-08-07 | 浙江理工大学 | 一种基于三维模型体素化的内部球改进构造方法 |
CN106127853A (zh) * | 2016-06-17 | 2016-11-16 | 中国电子科技集团公司第二十八研究所 | 一种无人机探测范围分析方法 |
CN108171793A (zh) * | 2018-01-19 | 2018-06-15 | 北京建筑大学 | 一种探查层叠区域三角网格的方法 |
CN108257103A (zh) * | 2018-01-25 | 2018-07-06 | 网易(杭州)网络有限公司 | 游戏场景的遮挡剔除方法、装置、处理器及终端 |
CN110000812A (zh) * | 2019-03-21 | 2019-07-12 | 深圳点猫科技有限公司 | 一种用于机器人的物体碰撞检测方法及其系统 |
CN111739146A (zh) * | 2019-03-25 | 2020-10-02 | 华为技术有限公司 | 物体三维模型重建方法及装置 |
CN112614085A (zh) * | 2019-09-19 | 2021-04-06 | 漳州立达信光电子科技有限公司 | 一种物体检测方法、装置及终端设备 |
CN110826122A (zh) * | 2019-10-12 | 2020-02-21 | 中广核工程有限公司 | 一种核电三维布置设计模型体素化方法及系统 |
CN112926441A (zh) * | 2021-02-24 | 2021-06-08 | 广州极点三维信息科技有限公司 | 基于机器视觉的家居识别方法、系统、装置及介质 |
CN113701883A (zh) * | 2021-09-02 | 2021-11-26 | 北京环境特性研究所 | 变距离空间目标光谱特性模拟测量系统及方法 |
CN114491922A (zh) * | 2021-12-09 | 2022-05-13 | 上海望友信息科技有限公司 | 元器件建模及参数化的方法、系统、电子设备及存储介质 |
CN114224574A (zh) * | 2021-12-17 | 2022-03-25 | 杭州键嘉机器人有限公司 | 一种用于髋关节置换手术中的活动范围检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115205485A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9177414B2 (en) | Apparatus and method for rendering point cloud using voxel grid | |
El-Hakim et al. | A multi-sensor approach to creating accurate virtual environments | |
US6154215A (en) | Method and apparatus for maintaining multiple representations of a same scene in computer generated graphics | |
JP5005090B2 (ja) | 切削加工シミュレーション表示装置、切削加工シミュレーション表示方法、および切削加工シミュレーション表示プログラム | |
US10032308B2 (en) | Culling objects from a 3-D graphics pipeline using hierarchical Z buffers | |
KR101867991B1 (ko) | 다관절 오브젝트의 모션 에디팅 방법 및 장치 | |
EP2410492A2 (en) | Optimal point density using camera proximity for point-based global illumination | |
Otaduy et al. | CLODs: Dual Hierarchies for Multiresolution Collision Detection. | |
EP2241988B1 (en) | Method, program and product edition system for visualizing objects displayed on a computer screen | |
JPH0350679A (ja) | コンピュータモデルシステム | |
CN108154553A (zh) | 一种三维模型与监控视频的无缝融合方法及装置 | |
JP2017199354A (ja) | 3dシーンのグローバル・イルミネーションの描画 | |
US10937236B1 (en) | Mesh smoothing for visual quality and analysis improvement | |
US9811944B2 (en) | Method for visualizing freeform surfaces by means of ray tracing | |
US20050212811A1 (en) | Three-dimensional drawing model generation method, three-dimensional model drawing method, and program thereof | |
US9454554B1 (en) | View dependent query of multi-resolution clustered 3D dataset | |
Wiemann et al. | Automatic Map Creation For Environment Modelling In Robotic Simulators. | |
CN115205485B (zh) | 基于包围盒的三维空间探测扩充方法、系统、装置及介质 | |
Erikson et al. | Simplification culling of static and dynamic scene graphs | |
KR100256472B1 (ko) | 사용자가 정의한 룸 및 윈도우를 이용하는 효율적인 렌더링 | |
KR101769013B1 (ko) | 공간타일 기반의 3차원 객체 모델 병합을 통한 3차원 모델 가시화 방법 | |
Karunakaran et al. | Octree-to-BRep conversion for volumetric NC simulation | |
Bærentzen | Volume sculpting: intuitive, interactive 3D shape modelling | |
Lau et al. | An adaptive multi-resolution modeling technique based on viewing and animation parameters | |
Zhang et al. | Haptic interaction with a polygon mesh reconstructed from images |
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 |