CN118552610A - 相机碰撞检测方法、装置、设备和计算机存储介质 - Google Patents
相机碰撞检测方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN118552610A CN118552610A CN202310168901.0A CN202310168901A CN118552610A CN 118552610 A CN118552610 A CN 118552610A CN 202310168901 A CN202310168901 A CN 202310168901A CN 118552610 A CN118552610 A CN 118552610A
- Authority
- CN
- China
- Prior art keywords
- collision
- camera
- area
- section
- vertex
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/61—Scene description
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请属于三维场景应用技术领域,具体涉及一种相机碰撞检测方法、装置、设备和计算机存储介质。该方法通过获取三维场景中主相机的参数信息,所述参数信息包括:所述主相机的观察点、近截面、远截面和所述观察点的视角;根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域;从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点;根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测;避免了现有技术中存在的运算量大、存在检测误差的缺陷,简化了碰撞检测的流程,提高了碰撞检测的准确性。
Description
技术领域
本申请属于三维场景应用技术领域,具体涉及一种相机碰撞检测方法、装置、设备和计算机存储介质。
背景技术
计算机图形学是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。其主要研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。
应用计算机图形学构建三维场景时,需要针对相机进行碰撞检测,以避免穿模现象发生。现有的碰撞检测方法为基于AABB层次包围盒碰撞检测方法,其主要原理为:利用物体包围盒与相机的射线是否相交来判断是否产生碰撞。
然而,现有的碰撞检测方法需要沿着相机轮廓构建射线,进而判断是否与物体包围盒相交,导致其运算量大;且针对不规则形状的物体时,现有的碰撞检测方法还会存在检测误差,导致检测结果不准确的缺陷。
发明内容
本申请提供了一种相机碰撞检测方法、装置、设备和计算机存储介质,用以解决现有技术中存在的运算量大,且存在检测误差的缺陷。
一方面,本申请提供一种相机碰撞检测方法,包括:
获取三维场景中主相机的参数信息,所述参数信息包括:所述主相机的观察点、近截面、远截面和所述观察点的视角;
根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域;
从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点;
根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测。
可选的,所述根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域,包括:
根据所述主相机的近截面、所述主相机的远截面和所述观察点的视角,确定所述主相机的画面显示区域;
根据所述主相机的观察点和所述近截面,确定所述碰撞相机的碰撞区域。
可选的,所述根据所述主相机的观察点和所述近截面,确定所述碰撞相机的碰撞区域,包括:
将所述主相机的观察点作为所述碰撞相机的近截面;
将所述主相机的近截面向远离所述观察点的方向延伸预设距离,得到所述碰撞相机的远截面;
根据所述碰撞相机的近截面、所述碰撞相机的远截面和所述主相机的视角,确定所述碰撞相机的碰撞区域。
可选的,所述根据所述碰撞相机的近截面、所述碰撞相机的远截面和所述主相机的视角,确定所述碰撞相机的碰撞区域,包括:
将所述碰撞相机的近截面、所述碰撞相机的远截面以及所述主相机的观察点的视角的延长线围成的区域作为所述碰撞相机的碰撞区域。
可选的,所述从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点,包括:
获取所述三维场景中的三维模型在世界坐标系下的顶点信息;
根据所述顶点信息,确定位于所述画面显示区域内的顶点。
可选的,所述根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测,包括:
对所述画面显示区域内的顶点和所述碰撞相机的碰撞区域进行坐标转换,得到视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域;
根据所述视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域,进行碰撞检测。
可选的,所述根据所述视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域,进行碰撞检测,包括:
判断所述视图坐标系下的顶点是否位于所述视图坐标系下的碰撞相机的碰撞区域内;
若是,则确定所述顶点对应的三维模型与所述碰撞相机存在碰撞;
若否,则确定所述顶点对应的三维模型与所述碰撞相机不存在碰撞。
第二方面,本申请提供一种相机碰撞检测装置,包括:
获取模块,用于获取三维场景中主相机的参数信息,所述参数信息包括:所述主相机的观察点、近截面、远截面和所述观察点的视角;
确定模块,用于根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域;
所述获取模块,还用于从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点;
检测模块,用于根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测。
可选的,所述确定模块,具体用于根据所述主相机的近截面、所述主相机的远截面和所述观察点的视角,确定所述主相机的画面显示区域;根据所述主相机的观察点和所述近截面,确定所述碰撞相机的碰撞区域。
可选的,所述确定模块,具体用于将所述主相机的观察点作为所述碰撞相机的近截面;
将所述主相机的近截面向远离所述观察点的方向延伸预设距离,得到所述碰撞相机的远截面;
根据所述碰撞相机的近截面、所述碰撞相机的远截面和所述主相机的视角,确定所述碰撞相机的碰撞区域。
可选的,所述确定模块,具体用于将所述碰撞相机的近截面、所述碰撞相机的远截面以及所述主相机的观察点的视角的延长线围成的区域作为所述碰撞相机的碰撞区域。
可选的,所述获取模块,具体用于获取所述三维场景中的三维模型在世界坐标系下的顶点信息;
所述确定模块,还用于根据所述顶点信息,确定位于所述画面显示区域内的顶点。
可选的,所述相机碰撞检测装置还包括:转换模块;
所述转换模块,用于对所述画面显示区域内的顶点和所述碰撞相机的碰撞区域进行坐标转换,得到视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域;
所述检测模块,具体用于根据所述视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域,进行碰撞检测。
可选的,所述相机碰撞检测装置还包括:判断模块;
所述判断模块,用于判断所述视图坐标系下的顶点是否位于所述视图坐标系下的碰撞相机的碰撞区域内;
所述确定模块,还用于在所述视图坐标系下的顶点位于所述视图坐标系下的碰撞相机的碰撞区域内时,确定所述顶点对应的三维模型与所述碰撞相机存在碰撞;
所述确定模块,还用于在所述视图坐标系下的顶点不位于所述视图坐标系下的碰撞相机的碰撞区域内时,确定所述顶点对应的三维模型与所述碰撞相机不存在碰撞。
第三方面,本申请提供一种相机碰撞检测设备,包括:
存储器;
处理器;
其中,所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如上述第一方面及第一方面各种可能的实现方式所述的相机碰撞检测方法。
第四方面,本申请提供一种计算机存储介质,其上存储有计算机执行指令,所述计算机执行指令被处理器执行以实现如上述第一方面及第一方面各种可能的实现方式所述的相机碰撞检测方法。
本申请提供的相机碰撞检测方法,通过获取三维场景中主相机的参数信息,所述参数信息包括:所述主相机的观察点、近截面、远截面和所述观察点的视角;根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域;从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点;根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测;避免了现有技术中存在的运算量大、存在检测误差的缺陷,简化了碰撞检测的流程,提高了碰撞检测的准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请提供的相机碰撞检测方法的流程图一;
图2是本申请提供的相机碰撞检测方法的流程图二;
图3是本申请提供的画面显示区域的示意图;
图4是本申请提供的相机碰撞检测方法的流程图三;
图5是本申请提供的相机碰撞检测装置的结构示意图;
图6是本申请提供的相机碰撞检测设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
计算机图形学是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。其主要研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。
图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。从处理技术上来看,图形主要分为两类,一类是基于线条信息表示的,如工程图、等高线地图、曲面的线框图等,另一类是明暗图,也就是通常所说的真实感图形。
计算机图形学主要的目的就是要利用计算机产生令人赏心悦目的真实感图形。为此,必须建立图形所描述的场景的几何表示,再用某种光照模型,计算在假想的光源、纹理、材质属性下的光照明效果,从而产生真实感图形。
应用计算机图形学构建三维场景时,需要针对相机进行碰撞检测,以避免穿模现象发生。现有的碰撞检测方法为基于AABB层次包围盒碰撞检测方法,其主要原理为:利用物体包围盒与相机的射线是否相交来判断是否产生碰撞。
然而,现有的碰撞检测方法需要沿着相机轮廓构建射线,进而判断是否与物体包围盒相交,导致其运算量大;且针对不规则形状的物体时,现有的碰撞检测方法还会存在检测误差,导致检测结果不准确的缺陷。
针对上述问题,本申请提供一种相机碰撞检测方法,通过根据主相机的参数信息,确定画面显示区域和碰撞相机的碰撞区域,根据画面显示区域内的三维模型的顶点,进而根据顶点和碰撞相机的碰撞区域来进行碰撞检测,从而避免了现有技术中存在的运算量大、存在检测误差的缺陷,简化了碰撞检测的流程,提高了碰撞检测的准确性。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的相机碰撞检测方法的流程图一。如图1所示,本实施例提供的相机碰撞检测方法,包括:
S101:获取三维场景中主相机的参数信息,所述参数信息包括:所述主相机的观察点、近截面、远截面和所述观察点的视角。
其中,三维场景为虚拟三维空间,主相机的实质为虚拟相机。主相机的观察点相当于用户的眼睛,主相机的近截面相当于用户可以看到的最近的地方,主相机的远截面相当于用户可以看到的最远的地方,观察点的视角相当于用户可以看到的角度。
S102:根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域。
其中,画面显示区域是指主相机拍摄的区域,也即将要渲染并在屏幕上显示的区域。碰撞相机用于对碰撞现象进行检测,碰撞区域为用于检测碰撞的区域,碰撞区域例如可以为碰撞相机拍摄的区域。
可以根据主相机的参数信息,来确定对应的画面显示区域和碰撞相机的碰撞区域。确定画面显示区域的实现方式例如可以根据主相机的近截面和主相机的远截面来确定画面显示区域,还可以将主相机的近截面、主相机的远截面以及主相机的观察点的视角的延长线围成的区域看做主相机的画面显示区域。本申请对此不做限制。
确定碰撞相机的碰撞区域的实现方式例如可以为:根据主相机的观察点、观察点的视角和主相机的近截面共同确定碰撞相机的碰撞区域,或者将主相机的近截面和主相机的远截面之间的部分区域看做碰撞相机的碰撞区域。本申请对此不做限制。
S103:从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点。
其中,三维模型的三个或更多边之间的交点称为顶点。本实施例的执行时机为将三维场景中的三维模型通过虚拟相机进行画面显示的场景。因此,三维场景中已经预先设置有三维模型。
在确定了画面显示区域之后,获取该画面显示区域内的顶点。
可以理解的,该步骤中,需要考虑顶点的位置,至于顶点对应的三维模型是否全部在该画面显示区域内,可以作为考虑依据,也可以不作为参考依据。
例如:三维模型A有部分模型位于画面显示区域内,则可以获取该三维模型A中位于画面显示区域的部分模型的顶点,也可以获取该三维模型A的所有顶点。本申请对此不做限制,只要能获取到所有位于画面显示区域内的顶点即可。
S104:根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测。
其中,在确定了画面显示区域内的顶点和碰撞相机的碰撞区域之后,就可以根据该顶点和碰撞区域进行碰撞检测。
例如可以根据碰撞相机的碰撞区域内是否存在顶点来判断是否存在碰撞现象,或者可以在顶点与碰撞区域之间的距离小于预设距离时,确定存在碰撞现象等。本申请对碰撞检测的具体实现方式不做特殊限制。
本实施例提供的相机碰撞检测方法,通过获取三维场景中主相机的参数信息,所述参数信息包括:所述主相机的观察点、近截面、远截面和所述观察点的视角;根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域;从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点;根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测;避免了现有技术中存在的运算量大、存在检测误差的缺陷,简化了碰撞检测的流程,提高了碰撞检测的准确性。
图2为本申请实施例提供的相机碰撞检测方法的流程图二。如图2所示,本实施例在图1实施例的基础上,对相机碰撞检测方法进行详细说明,本实施例示出的相机碰撞检测方法,包括:
S201:获取三维场景中主相机的参数信息,所述参数信息包括:所述主相机的观察点、近截面、远截面和所述观察点的视角。
步骤S201与上述步骤S101类似,在此不再赘述。
S202:根据所述主相机的近截面、所述主相机的远截面和所述观察点的视角,确定所述主相机的画面显示区域。
其中,可以根据主相机的近截面、主相机的远截面以及观察点的视角共同来确定主相机的的画面显示区域。
示例性的,图3为本实施例提供的画面显示区域的示意图。如图3所示,主相机的画面显示区域为主相机的近截面、主相机的远截面以及主相机的观察点的视角的延长线围成的区域。
S203:根据所述主相机的观察点和所述近截面,确定所述碰撞相机的碰撞区域。
其中,预设距离可以根据实际需求预先设置。该步骤中,可以根据主相机的观察点和主相机的近截面来共同确定碰撞相机的碰撞区域。例如可以将观察点、主相机近截面和该观察点的视角的延长线围成的区域作为碰撞相机的碰撞区域。本实施例对根据主相机的观察点和主相机的近截面,确定碰撞相机的碰撞区域的具体实现方式不做特殊限制。
示例性的,此处给出一种可能的实现方式。将所述主相机的观察点作为所述碰撞相机的近截面;将所述主相机的近截面向远离所述观察点的方向延伸预设距离,得到所述碰撞相机的远截面;根据所述碰撞相机的近截面、所述碰撞相机的远截面和所述主相机的视角,确定所述碰撞相机的碰撞区域。
继续参照图3,如图3所示,灰色区域为碰撞相机的碰撞区域。此处不将主相机的近截面作为碰撞相机的远截面的原因是为了保留一定的冗余。可以理解的,在对三维场景进行呈现时,需要使用户的“眼睛”与看到的“物体”之间保持一定的冗余距离,以防止用户模型穿模至三维模型中。在用户“看到”的画面中,最近的画面是位于主相机近截面的三维模型,若在主相机近截面处存在三维模型A,则屏幕显示的内容中,用户的“眼睛”与该三维模型A的外表面完全重合,也即用户“贴着”该三维模型A。此时也可以看做是存在穿模现象。因此在确定检测碰撞的区域时,需要将主相机的近截面向远离观察点的方向延伸预设距离,从而才能使用户的“眼睛”和三维模型之间存在距离感。
可以理解的,主相机的观察点与碰撞相机的观察点相同,且主相机的观察点的视角和碰撞相机的观察点的视角相同,这样做是为了更好的检测出画面显示区域是否存在碰撞。
可选的,可以将所述碰撞相机的近截面、所述碰撞相机的远截面以及所述主相机的观察点的视角的延长线围成的区域作为所述碰撞相机的碰撞区域。
S204:获取所述三维场景中的三维模型在世界坐标系下的顶点信息。
其中,顶点信息例如可以包括:顶点与三维模型的对应关系,以及顶点在世界坐标系下的位置信息。世界坐标系指的是该三维场景中的坐标系。例如:顶点A在世界坐标系下的坐标(1,1,1)是指为:顶点A在该三维场景中的坐标为(1,1,1)。
S205:根据所述顶点信息,确定位于所述画面显示区域内的顶点。
在获取到三维场景中的顶点信息后,可以根据该顶点在世界坐标系下的位置信息以及画面显示区域的位置信息,确定该顶点是否位于该画面显示区域内。
该步骤的目的是为了找到位于画面显示区域内的所有顶点,由于显示的区域为该画面显示区域,因此只用找到该画面显示区域内的顶点,然后根据该画面显示区域内的顶点来进行碰撞检测即可。其相对于现有技术,节省了算力,提高了碰撞检测的效率。
S206:对所述画面显示区域内的顶点和所述碰撞相机的碰撞区域进行坐标转换,得到视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域。
其中,在确定了位于画面显示区域内的所有顶点以后,需要对顶点和碰撞相机的碰撞区域进行坐标转换。
可以理解的,上述步骤中的顶点和碰撞相机的碰撞区域,均是在世界坐标系下进行获取的,其坐标也均是基于世界坐标系的坐标。而在进行显示时,是基于视图坐标系来进行显示的,因此需要对顶点和碰撞相机的碰撞区域进行坐标转换,以得到视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域。
S207:根据所述视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域,进行碰撞检测。
其中,在对顶点和碰撞区域进行坐标转换得到视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域之后,可以根据该视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域进行碰撞检测。
例如可以基于视图坐标系,判断碰撞相机的碰撞区域内是否存在顶点来确定是否存在碰撞现象,或者可以在视图坐标系下顶点与视图坐标系下的碰撞区域之间的距离小于预设距离时,确定存在碰撞现象等。本申请对碰撞检测的具体实现方式不做特殊限制
本实施例提供的相机碰撞检测方法,通过根据主相机的观察点和主相机的近截面,确定碰撞相机的碰撞区域,从而缩小了碰撞检测的检测区域,节省了算力;同时,由于主相机和碰撞相机的观察点以及视角相同,使得在根据碰撞相机的碰撞区域进行检测时,可以完整的反映出主相机内的碰撞情况,简化了碰撞检测的流程,提高了碰撞检测的准确性。
图4为本实施例提供的相机碰撞检测方法的流程图三。如图4所示,本实施例在图2实施例的基础上,对根据所述视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域,进行碰撞检测进行详细说明。本实施例示出的相机碰撞检测方法,包括:
S301:判断视图坐标系下的顶点是否位于视图坐标系下的碰撞相机的碰撞区域内;若是,则执行步骤S302,若否,则执行步骤S303。
其中,可以判断视图坐标系下的顶点是否在视图坐标系下的碰撞区域内,来确定是否存在碰撞。
S302:确定所述顶点对应的三维模型与所述碰撞相机存在碰撞。
其中,当顶点在碰撞区域内,则表明该顶点对应的三维模型与碰撞相机发生了碰撞,也即当前存在穿模现象;因此可以确定顶点对应的三维模型与该碰撞相机存在碰撞。
S303:确定所述顶点对应的三维模型与所述碰撞相机不存在碰撞。
其中,当顶点不在碰撞区域内,则表明该顶点对应的三维模型与碰撞相机不发生碰撞;因此可以确定顶点对应的三维模型与该碰撞相机不存在碰撞。
本实施例提供的相机碰撞检测方法,通过判断视图坐标系下的顶点是否位于视图坐标系下的碰撞相机的碰撞区域内,当视图坐标系下的顶点位于碰撞区域内,也即碰撞相机的碰撞区域内存在顶点,则确定顶点对应的三维模型与碰撞相机存在碰撞,表明当前存在穿模现象;该方法相较于现有的方法,参数的获取和计算更加简单,且准确率更高。
图5为本申请提供的相机碰撞检测装置的结构示意图。如图5所示,本申请提供一种相机碰撞检测装置,该相机碰撞检测装置300包括:
获取模块301,用于获取三维场景中主相机的参数信息,所述参数信息包括:所述主相机的观察点、近截面、远截面和所述观察点的视角;
确定模块302,用于根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域;
所述获取模块301,还用于从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点;
检测模块303,用于根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测。
可选的,所述确定模块302,具体用于根据所述主相机的近截面、所述主相机的远截面和所述观察点的视角,确定所述主相机的画面显示区域;根据所述主相机的观察点和所述近截面,确定所述碰撞相机的碰撞区域。
可选的,所述确定模块302,具体用于将所述主相机的观察点作为所述碰撞相机的近截面;
将所述主相机的近截面向远离所述观察点的方向延伸预设距离,得到所述碰撞相机的远截面;
根据所述碰撞相机的近截面、所述碰撞相机的远截面和所述主相机的视角,确定所述碰撞相机的碰撞区域。
可选的,所述确定模块302,具体用于将所述碰撞相机的近截面、所述碰撞相机的远截面以及所述主相机的观察点的视角的延长线围成的区域作为所述碰撞相机的碰撞区域。
可选的,所述获取模块301,具体用于获取所述三维场景中的三维模型在世界坐标系下的顶点信息;
所述确定模块302,还用于根据所述顶点信息,确定位于所述画面显示区域内的顶点。
可选的,所述相机碰撞检测装置还包括:转换模块304;
所述转换模块304,用于对所述画面显示区域内的顶点和所述碰撞相机的碰撞区域进行坐标转换,得到视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域;
所述检测模块303,具体用于根据所述视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域,进行碰撞检测。
可选的,所述相机碰撞检测装置还包括:判断模块305;
所述判断模块305,用于判断所述视图坐标系下的顶点是否位于所述视图坐标系下的碰撞相机的碰撞区域内;
所述确定模块302,还用于在所述视图坐标系下的顶点位于所述视图坐标系下的碰撞相机的碰撞区域内时,确定所述顶点对应的三维模型与所述碰撞相机存在碰撞;
所述确定模块302,还用于在所述视图坐标系下的顶点不位于所述视图坐标系下的碰撞相机的碰撞区域内时,确定所述顶点对应的三维模型与所述碰撞相机不存在碰撞。
图6为本申请提供的相机碰撞检测设备的结构示意图。如图6所示,本申请提供一种相机碰撞检测设备,该相机碰撞检测设备400包括:接收器401、发送器402、处理器403以及存储器404。
接收器401,用于接收指令和数据;
发送器402,用于发送指令和数据;
存储器404,用于存储计算机执行指令;
处理器403,用于执行存储器404存储的计算机执行指令,以实现上述实施例中相机碰撞检测方法所执行的各个步骤。具体可以参见前述相机碰撞检测方法实施例中的相关描述。
可选地,上述存储器404既可以是独立的,也可以跟处理器403集成在一起。
当存储器404独立设置时,该电子设备还包括总线,用于连接存储器404和处理器403。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上述相机碰撞检测设备所执行的相机碰撞检测方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
至此,已经结合附图所示的优选实施方式描述了本申请的技术方案,但是,本领域技术人员容易理解的是,本申请的保护范围显然不局限于这些具体实施方式,以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种相机碰撞检测方法,其特征在于,包括:
获取三维场景中主相机的参数信息,所述参数信息包括:所述主相机的观察点、近截面、远截面和所述观察点的视角;
根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域;
从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点;
根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测。
2.根据权利要求1所述的方法,其特征在于,所述根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域,包括:
根据所述主相机的近截面、所述主相机的远截面和所述观察点的视角,确定所述主相机的画面显示区域;
根据所述主相机的观察点和所述近截面,确定所述碰撞相机的碰撞区域。
3.根据权利要求2所述的方法,其特征在于,所述根据所述主相机的观察点和所述近截面,确定所述碰撞相机的碰撞区域,包括:
将所述主相机的观察点作为所述碰撞相机的近截面;
将所述主相机的近截面向远离所述观察点的方向延伸预设距离,得到所述碰撞相机的远截面;
根据所述碰撞相机的近截面、所述碰撞相机的远截面和所述主相机的视角,确定所述碰撞相机的碰撞区域。
4.根据权利要求3所述的方法,其特征在于,所述根据所述碰撞相机的近截面、所述碰撞相机的远截面和所述主相机的视角,确定所述碰撞相机的碰撞区域,包括:
将所述碰撞相机的近截面、所述碰撞相机的远截面以及所述主相机的观察点的视角的延长线围成的区域作为所述碰撞相机的碰撞区域。
5.根据权利要求1所述的方法,其特征在于,所述从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点,包括:
获取所述三维场景中的三维模型在世界坐标系下的顶点信息;
根据所述顶点信息,确定位于所述画面显示区域内的顶点。
6.根据权利要求5所述的方法,其特征在于,所述根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测,包括:
对所述画面显示区域内的顶点和所述碰撞相机的碰撞区域进行坐标转换,得到视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域;
根据所述视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域,进行碰撞检测。
7.根据权利要求6所述的方法,其特征在于,所述根据所述视图坐标系下的顶点和视图坐标系下的碰撞相机的碰撞区域,进行碰撞检测,包括:
判断所述视图坐标系下的顶点是否位于所述视图坐标系下的碰撞相机的碰撞区域内;
若是,则确定所述顶点对应的三维模型与所述碰撞相机存在碰撞;
若否,则确定所述顶点对应的三维模型与所述碰撞相机不存在碰撞。
8.一种相机碰撞检测装置,其特征在于,包括:
获取模块,用于获取三维场景中主相机的参数信息,所述参数信息包括:所述主相机的观察点、近截面、远截面和所述观察点的视角;
确定模块,用于根据所述参数信息,确定所述主相机的画面显示区域和碰撞相机的碰撞区域;
所述获取模块,还用于从所述三维场景中获取位于所述画面显示区域内的三维模型的顶点;
检测模块,用于根据所述顶点和所述碰撞相机的碰撞区域进行碰撞检测。
9.一种相机碰撞检测设备,其特征在于,包括:
存储器;
处理器;
其中,所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的相机碰撞检测方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7任一项所述的相机碰撞检测方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310168901.0A CN118552610A (zh) | 2023-02-27 | 2023-02-27 | 相机碰撞检测方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310168901.0A CN118552610A (zh) | 2023-02-27 | 2023-02-27 | 相机碰撞检测方法、装置、设备和计算机存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118552610A true CN118552610A (zh) | 2024-08-27 |
Family
ID=92452378
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310168901.0A Pending CN118552610A (zh) | 2023-02-27 | 2023-02-27 | 相机碰撞检测方法、装置、设备和计算机存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118552610A (zh) |
-
2023
- 2023-02-27 CN CN202310168901.0A patent/CN118552610A/zh active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7161606B2 (en) | Systems and methods for directly generating a view using a layered approach | |
| JP5651909B2 (ja) | エッジの検出およびシェーダの再利用による多視点光線追跡 | |
| WO2021031781A1 (zh) | 投影图像校准方法、装置及投影设备 | |
| US9147279B1 (en) | Systems and methods for merging textures | |
| CN111382618B (zh) | 一种人脸图像的光照检测方法、装置、设备和存储介质 | |
| CN115526990A (zh) | 用于数字孪生的目标可视化方法、装置及电子设备 | |
| US10339702B2 (en) | Method for improving occluded edge quality in augmented reality based on depth camera | |
| US8948498B1 (en) | Systems and methods to transform a colored point cloud to a 3D textured mesh | |
| CN116704151B (zh) | 三维重建方法、装置以及基于其的车辆、设备和介质 | |
| JP3629243B2 (ja) | モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法 | |
| CN115690733A (zh) | 泊车地图构建方法、装置、电子设备及存储介质 | |
| CN118552610A (zh) | 相机碰撞检测方法、装置、设备和计算机存储介质 | |
| CN117557740B (zh) | 三维模型分割层级切换方法、装置、电子设备及存储介质 | |
| CN104346822A (zh) | 纹理贴图方法及装置 | |
| JPWO2011111095A1 (ja) | ハレーションシミュレーション方法、装置、及びプログラム | |
| CN116704098B (zh) | 有向距离场的生成方法、装置、电子设备及存储介质 | |
| US12159348B2 (en) | Image processing apparatus, image processing method, and storage medium | |
| US9734579B1 (en) | Three-dimensional models visual differential | |
| CN115690365A (zh) | 用于管理三维模型的方法、装置、设备和介质 | |
| CN118735802B (zh) | 基于像素点重建的图像处理方法、装置及系统 | |
| CN120236018B (zh) | 一种三维插图的显示方法、装置及存储介质 | |
| CN116843694B (zh) | 一种人体图像分割方法及设备 | |
| JP2002222430A (ja) | 3次元ポリゴンメッシュを生成する方法、装置、プログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| CN118657932B (zh) | 基于数据合成的目标检测方法、装置、电子设备及介质 | |
| JP6038158B2 (ja) | ハイブリッド隠線プロセッサ及び方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication |