CN114926604A - Collision detection method and system in three-dimensional scene - Google Patents
Collision detection method and system in three-dimensional scene Download PDFInfo
- Publication number
- CN114926604A CN114926604A CN202210551210.4A CN202210551210A CN114926604A CN 114926604 A CN114926604 A CN 114926604A CN 202210551210 A CN202210551210 A CN 202210551210A CN 114926604 A CN114926604 A CN 114926604A
- Authority
- CN
- China
- Prior art keywords
- camera
- target position
- player model
- collision
- player
- 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
Classifications
-
- 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
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种三维场景中碰撞检测方法及系统,该三维场景中碰撞检测方法包括:获取三维场景中可进入区域,并设置系统内部参数;分别计算玩家模型位置和相机位置,并对玩家模型位置和相机位置进行碰撞判定;若玩家模型即将发生碰撞,则重新计算玩家模型的目标位置;若相机即将发生碰撞,则重新计算相机的目标位置,实现对玩家模型和相机发生碰撞后的处理。
The invention discloses a method and system for collision detection in a three-dimensional scene. The method for collision detection in a three-dimensional scene includes: acquiring an accessible area in the three-dimensional scene, and setting internal parameters of the system; The collision determination between the model position and the camera position is performed; if the player model is about to collide, the target position of the player model is recalculated; if the camera is about to collide, the target position of the camera is recalculated to realize the processing after the collision between the player model and the camera. .
Description
技术领域technical field
本发明涉及三维场景应用技术领域,特别地涉及一种三维场景中碰撞检测方法及系统。The present invention relates to the technical field of three-dimensional scene application, in particular to a method and system for collision detection in a three-dimensional scene.
背景技术Background technique
在三维场景应用中,为了提升仿真效果,通常会在应用中增加物理系统;物理系统能够提供有效的碰撞检测,重力、附加力作用计算,刚体结构等物理功能。但是物理模块本身开发的体量较大,且大量的校验算法会消耗主机性能,因此引入物理系统的代价是相当可观的。同时物理系统需要模型带有物理数据,这也会增加数据制作人员的工作量。而很多应用只是需要简单的碰撞检测功能,因此,整套引入物理系统是不合适的。In 3D scene applications, in order to improve the simulation effect, a physical system is usually added to the application; the physical system can provide effective collision detection, calculation of gravity, additional force action, rigid body structure and other physical functions. However, the physical module itself is developed in a large volume, and a large number of verification algorithms will consume the performance of the host, so the cost of introducing the physical system is considerable. At the same time, the physical system requires the model to carry physical data, which will also increase the workload of data producers. However, many applications only need simple collision detection, so it is not suitable to introduce the whole set of physics system.
发明内容SUMMARY OF THE INVENTION
有鉴于此,本发明提出一种三维场景中碰撞检测方法及系统,基于物理系统,实现对玩家模型和相机的碰撞判断,并完成玩家模型和相机发生碰撞后的相关处理,实现了轻量化的物理系统基础的碰撞检测功能。In view of this, the present invention proposes a method and system for collision detection in a three-dimensional scene. Based on the physical system, the collision judgment of the player model and the camera is realized, and the relevant processing after the collision between the player model and the camera is completed, and the lightweight system is realized. Collision detection function based on physics system.
本发明第一方面提供一种三维场景中碰撞检测方法,该三维场景中碰撞检测方法包括:获取三维场景中可进入区域,并设置物理系统内部参数,包括玩家身位、玩家移动速度及相机距离;分别计算玩家模型和相机的目标位置,遍历可进入区域,对玩家模型和相机的目标位置进行碰撞判定。A first aspect of the present invention provides a collision detection method in a three-dimensional scene. The collision detection method in a three-dimensional scene includes: acquiring an accessible area in a three-dimensional scene, and setting internal parameters of a physical system, including player position, player moving speed, and camera distance ; Calculate the target position of the player model and the camera separately, traverse the accessible area, and perform collision determination on the target position of the player model and the camera.
进一步的,所述获取三维场景中可进入区域的步骤包括:获取三维场景中路网路面的主体模型数据;遍历路网路面的主体模型中所有的三角面,将所有朝向上方的三角面收集为一个三角形列表,将所述三角形列表作为可进入区域。Further, the step of acquiring the accessible area in the three-dimensional scene includes: acquiring the main model data of the road network pavement in the three-dimensional scene; traversing all the triangular surfaces in the main model of the road network pavement, and collecting all the triangular surfaces facing upwards into one. A list of triangles to use as an accessible area.
进一步的,所述遍历路网路面的主体模型中所有的三角面的步骤包括:利用当前遍历的三角面的三个顶点坐标,确定该三角面的两条边的向量;将三角面的两条边的向量按顺序进行叉乘,得到三角面的法向量N;设定向上向量为U,求取向量U和三角面的法向量N的点积M;判断点积M是否大于0,若点积M大于0,则三角面的法向量N和向量U朝向相同,则判断该三角面朝向上方。Further, the step of traversing all the triangular surfaces in the main model of the road network surface includes: using the coordinates of the three vertices of the currently traversed triangular surface to determine the vectors of the two sides of the triangular surface; The vectors of the sides are cross-multiplied in order to obtain the normal vector N of the triangular surface; set the upward vector to U, and find the dot product M of the vector U and the normal vector N of the triangular surface; judge whether the dot product M is greater than 0, if the point If the product M is greater than 0, then the normal vector N and the vector U of the triangular face are facing the same, and the triangular face is judged to be facing upward.
进一步的,所述计算玩家模型的目标位置的步骤包括:获取玩家模型当前位置和玩家模型当前朝向;根据玩家模型当前位置、玩家模型当前朝向、设置的玩家移动速度及当前帧与上一帧的时间差,计算玩家模型预计的目标位置。Further, the step of calculating the target position of the player model includes: obtaining the current position of the player model and the current orientation of the player model; Time difference, calculate the target position expected by the player model.
进一步的,所述遍历可进入区域,对玩家模型的目标位置进行碰撞判定的步骤:根据玩家模型预计的目标位置和三维场景中垂直向下的方向向量组成第一射线;遍历可进入区域的三角形列表,并与第一射线进行求交运算,判断可进入区域的三角形列表中是否有三角形与第一射线相交;如果可进入区域的三角形列表中有三角形与第一射线相交,则表明玩家模型预计的目标位置在可进入区域,没有发生碰撞;否则玩家模型即将发生碰撞。Further, the step of traversing the accessible area to determine the collision of the target position of the player model: forming the first ray according to the expected target position of the player model and the vertical downward direction vector in the three-dimensional scene; traversing the triangle of the accessible area. list, and perform an intersection operation with the first ray to determine whether any triangles in the triangle list of the accessible area intersect the first ray; if any triangles in the triangle list of the accessible area intersect the first ray, it indicates that the player model expects The target position is in the accessible area and no collision has occurred; otherwise the player model is about to collide.
进一步的,该三维场景中碰撞检测方法还包括:若玩家模型即将发生碰撞,则重新计算玩家模型的目标位置;所述重新计算玩家模型的目标位置的步骤包括:将玩家模型预计的目标位置向玩家模型方向逐渐步进,进而获得一个新的目标位置,步进单位为一个设置的玩家模型身位;每步进一次都对玩家模型新的目标位置进行碰撞判定,如果发生碰撞,则继续步进,直至玩家模型没有发生碰撞,并将玩家模型没有发生碰撞对应的目标位置设置为玩家模型最终位置。Further, the collision detection method in the three-dimensional scene further includes: if the player model is about to collide, recalculating the target position of the player model; the step of recalculating the target position of the player model includes: converting the expected target position of the player model to the target position. The direction of the player model is gradually stepped, and then a new target position is obtained. The stepping unit is a set player model body position; each time a step is made, the new target position of the player model is checked for collision. If a collision occurs, continue to step. Advance until the player model does not collide, and set the target position corresponding to the player model without collision as the final position of the player model.
进一步的,所述计算相机的目标位置的步骤包括:获取计算得到的玩家模型预计的目标位置;获取相机的目标朝向;根据玩家模型预计的目标位置、相机的目标朝向以及设定的相机距离,计算相机预计的目标位置。Further, the step of calculating the target position of the camera includes: obtaining the calculated target position of the player model; obtaining the target orientation of the camera; according to the expected target position of the player model, the target orientation of the camera and the set camera distance, Calculate the target position expected by the camera.
进一步的,所述遍历可进入区域,对相机的目标位置进行碰撞判定的步骤:根据相机预计的目标位置和三维场景中垂直向下的方向向量组成第二射线;遍历可进入区域的三角形列表,并与第二射线进行求交运算,判断可进入区域的三角形列表中是否有三角形与第二射线相交;如果可进入区域的三角形列表中有三角形与第二射线相交,则说明相机预计的目标位置在可进入区域,没有发生碰撞;否则相机即将发生碰撞。Further, the step of traversing the accessible area to determine the collision of the target position of the camera: forming a second ray according to the target position expected by the camera and the vertical downward direction vector in the three-dimensional scene; traversing the triangle list of the accessible area, And perform an intersection operation with the second ray to determine whether there is a triangle in the triangle list of the accessible area that intersects the second ray; if there is a triangle in the triangle list of the accessible area that intersects with the second ray, it indicates the expected target position of the camera In the accessible area, there is no collision; otherwise the camera is about to collide.
进一步的,该三维场景中碰撞检测方法还包括:获取玩家模型最终位置、相机预计的目标位置及相机的目标朝向;将相机预计的目标位置沿着相机的目标朝向步进,步进单位为一个设置的玩家模型身位;每步进一次都对相机的目标位置进行碰撞判定,如果发生碰撞,则继续步进,否则得到相机新的目标位置;判断相机新的目标位置是否位于玩家模型最终位置和相机预计的目标位置之间;如果相机新的目标位置位于玩家模型最终位置和相机预计的目标位置之间,则将相机新的目标位置作为相机最终位置;否则将相机最终位置设定为玩家模型最终位置。Further, the collision detection method in the three-dimensional scene further includes: obtaining the final position of the player model, the expected target position of the camera, and the target orientation of the camera; stepping the expected target position of the camera along the target orientation of the camera, and the stepping unit is one. The set player model body position; the target position of the camera is checked for collision every step, if a collision occurs, the step will continue, otherwise the new target position of the camera will be obtained; it is judged whether the new target position of the camera is at the final position of the player model and the camera's expected target position; if the camera's new target position is between the player model's final position and the camera's expected target position, the camera's new target position is used as the camera's final position; otherwise, the camera's final position is set to the player's final position. The final position of the model.
本发明第二方面提供一种三维场景中碰撞检测系统,该三维场景中碰撞检测设置包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上所述三维场景中碰撞检测方法的步骤。A second aspect of the present invention provides a collision detection system in a three-dimensional scene. The collision detection setting in the three-dimensional scene includes: a memory for storing a computer program; and a processor for implementing the above-mentioned three-dimensional scene when the computer program is executed. The steps of the collision detection method.
上述的三维场景中碰撞检测方法,通过将玩家模型和相机的目标位置点与可进入区域数据进行求交算法来判断碰撞情况的发生,并完成玩家模型和相机发生碰撞后的相关处理,重新计算玩家模型和相机的最终位置,实现轻量化的物理系统基础的碰撞检测功能。The collision detection method in the above-mentioned three-dimensional scene uses an intersection algorithm between the target position point of the player model and the camera and the data of the accessible area to determine the occurrence of the collision, and completes the relevant processing after the collision between the player model and the camera, and recalculates The final position of the player model and the camera, to implement the collision detection function based on the lightweight physics system.
附图说明Description of drawings
为了说明而非限制的目的,现在将根据本发明的优选实施例、特别是参考附图来描述本发明,其中:For purposes of illustration and not limitation, the present invention will now be described in accordance with preferred embodiments thereof, particularly with reference to the accompanying drawings, wherein:
图1是本发明一实施例提供的三维场景中碰撞检测方法的流程图;1 is a flowchart of a method for collision detection in a three-dimensional scene provided by an embodiment of the present invention;
图2是本发明一实施例提供的三维场景中碰撞检测系统的示意图。FIG. 2 is a schematic diagram of a collision detection system in a three-dimensional scene provided by an embodiment of the present invention.
具体实施方式Detailed ways
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。In order to more clearly understand the above objects, features and advantages of the present invention, the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present invention and the features in the embodiments may be combined with each other under the condition of no conflict.
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In the following description, many specific details are set forth in order to facilitate a full understanding of the present invention, and the described embodiments are only some, but not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The terms used herein in the description of the present invention are for the purpose of describing specific embodiments only, and are not intended to limit the present invention.
图1是本发明一实施例提供的三维场景中碰撞检测方法的流程图。该三维场景中碰撞检测方法通过将玩家模型和相机的目标位置点与可进入区域数据进行求交算法来判断碰撞情况的发生,并完成玩家模型和相机发生碰撞后的相关处理,重新计算玩家模型和相机的最终位置。FIG. 1 is a flowchart of a method for collision detection in a three-dimensional scene provided by an embodiment of the present invention. The collision detection method in the three-dimensional scene judges the occurrence of a collision by performing an intersection algorithm between the target position point of the player model and the camera and the accessible area data, and completes the relevant processing after the collision between the player model and the camera, and recalculates the player model. and the final position of the camera.
请参阅图1,该三维场景中碰撞检测方法包括以下步骤:Referring to Figure 1, the collision detection method in the 3D scene includes the following steps:
S100,获取三维场景中可进入区域,并设置物理系统内部参数。S100, acquiring an accessible area in the three-dimensional scene, and setting internal parameters of the physical system.
在本实施例中,获取三维场景中可进入区域,并设置系统内部参数的具体实现方式如下:In this embodiment, the specific implementation of acquiring the accessible area in the three-dimensional scene and setting the internal parameters of the system is as follows:
S101,获取三维场景中可进入区域。S101, obtain an accessible area in a three-dimensional scene.
获取三维场景中的路网路面的主体模型数据,并判断路网路面的主体模型中所有朝向上方的三角面;然后遍历路网路面的主体模型中所有的三角面,将其收集为一个三角形列表L,将之作为可进入区域。Obtain the main model data of the road network pavement in the 3D scene, and determine all the triangles facing upward in the main model of the road network pavement; then traverse all the triangular surfaces in the main model of the road network pavement, and collect them as a triangle list L, as an accessible area.
其中,判断路网路面的主体模型中三角面朝向上方的具体实现方式如下:Among them, the specific implementation method of judging the upward facing of the triangular surface in the main model of the road network pavement is as follows:
假设当前遍历的三角面所组成的三个顶点按照逆时针顺序分别为P0(x0,y0,z0),P1(x1,y1,z1),P2(x2,y2,z2),可得两条边的向量为:Assuming that the three vertices composed of the currently traversed triangular faces are P0(x0,y0,z0), P1(x1,y1,z1), P2(x2,y2,z2) in counterclockwise order, we can get two edges The vector of is:
L01=P1-P0=(x1-x0,y1-y0,z1-z0)L01=P1-P0=(x1-x0, y1-y0, z1-z0)
L02=P2-P0=(x2-x0,y2-y0,z2-z0)L02=P2-P0=(x2-x0,y2-y0,z2-z0)
将两条边按顺序进行叉乘,得到三角面的法向量Normal(Nx,Ny,Nz)。该三角面的法向量Normal(Nx,Ny,Nz)为:Cross-multiply the two edges in order to get the normal vector Normal (Nx, Ny, Nz) of the triangular face. The normal vector Normal(Nx, Ny, Nz) of the triangular face is:
Normal=cross(L01,L02)=(Normal=cross(L01,L02)=(
(y1-y0)(z2-z0)-(z1-z0)(y2-y0),(y1-y0)(z2-z0)-(z1-z0)(y2-y0),
(z1-z0)(x2-x0)-(z2-z0)(x1-x0),(z1-z0)(x2-x0)-(z2-z0)(x1-x0),
(x1-x0)(y2-y0)-(y1-y0)(x2-x0)(x1-x0)(y2-y0)-(y1-y0)(x2-x0)
))
设定场景中垂直向上的方向向量为U(0,1,0),求取向量U和三角面的法向量Normal的点积Mark。U和Normal的点积Mark为:Set the vertical upward direction vector in the scene to U(0,1,0), and find the dot product Mark of the vector U and the normal vector Normal of the triangular surface. The dot product Mark of U and Normal is:
Mark=Dot(U,Normal)=Ux*Nx+Uy*Ny+Uz*Nz=Ny=(z1-z0)(x2-x0)-(z2-z0)(x1-x0)Mark=Dot(U,Normal)=Ux*Nx+Uy*Ny+Uz*Nz=Ny=(z1-z0)(x2-x0)-(z2-z0)(x1-x0)
由点积的数学含义,当mark大于0时,Normal与U朝向相同,即可判断三角面朝向上。From the mathematical meaning of the dot product, when the mark is greater than 0, the Normal and U are in the same direction, and it can be judged that the triangular face is facing upward.
其中,点积的数学含义:Dot(A,B)=|A||B|cosα,α表示A和B的夹角。Among them, the mathematical meaning of dot product: Dot(A, B)=|A||B|cosα, α represents the angle between A and B.
在实施例中,为了优化性能,只计算(z1-z0)(x2-x0)-(z2-z0)(x1-x0)来判断三角面是否朝向上。In an embodiment, in order to optimize performance, only (z1-z0)(x2-x0)-(z2-z0)(x1-x0) is calculated to determine whether the triangular faces are facing upward.
S102,设定物理系统内部参数。S102, the internal parameters of the physical system are set.
本实施例中,所述设定的系统内部参数包括玩家身位、玩家移动速度及相机距离。In this embodiment, the set internal parameters of the system include the player's position, the player's moving speed, and the camera distance.
其中,玩家身位(body_width):设定玩家的身位宽度为0.4米,该数值会用于发生碰撞时玩家模型做位置调整的步进单位。Among them, the player's body (body_width): Set the width of the player's body to 0.4 meters. This value will be used for the step unit of the player model's position adjustment when a collision occurs.
其中,玩家移动速度(body_speed):设定玩家的移动速度为5米每秒,该数值用于控制玩家模型移动的快慢。Among them, the player's movement speed (body_speed): Set the player's movement speed to 5 meters per second, which is used to control the speed of the player's model movement.
其中,相机距离(camera_dis):设定相机距离为3米,该数值表示在没有碰撞时,相机位置与玩家模型的距离。Among them, the camera distance (camera_dis): set the camera distance to 3 meters, this value represents the distance between the camera position and the player model when there is no collision.
S200,对给定的位置P(x,y,z)和步骤S100获取的可进入区域进行碰撞判定。S200: Perform collision determination on the given position P(x, y, z) and the accessible area obtained in step S100.
在本实施例中,对给定的位置P(x,y,z)和步骤S100获取的可进入区域进行碰撞判定的具体实现方式如下:In this embodiment, the specific implementation manner of performing collision determination on the given position P(x, y, z) and the accessible area obtained in step S100 is as follows:
对给定的位置P(x,y,z)和步骤S100计算得到的可进入区域进行碰撞判定,判定方法为:The collision judgment is performed on the given position P(x, y, z) and the accessible area calculated in step S100, and the judgment method is as follows:
S201,根据给定位置P(x,y,z)和当前三维场景中垂直向下的方向向量Dir(0,-1,0)组成射线Ray(P,dir)。S201, according to the given position P(x, y, z) and the vertical downward direction vector Dir(0, -1, 0) in the current three-dimensional scene, form a ray Ray(P, dir).
S202,遍历可进入区域的三角形列表L,与射线Ray进行求交运算,判断可进入区域的三角形列表L中是否有三角形(p0,p1,p2)与射线Ray相交。S202, traverse the triangle list L of the accessible area, perform an intersection operation with the ray Ray, and determine whether there is a triangle (p0, p1, p2) in the triangle list L of the accessible area that intersects the ray Ray.
本实施例中,判断可进入区域的三角形列表L中有三角形(p0,p1,p2)与射线Ray相交的具体实现方法如下:In this embodiment, the specific implementation method for judging that there is a triangle (p0, p1, p2) intersecting with the ray Ray in the triangle list L of the accessible area is as follows:
(1)假设一个点同时在射线Ray(P,dir)和三角形(p0,p1,p2)上,则满足下面表达式:(1) Assuming a point is on both the ray (P, dir) and the triangle (p0, p1, p2), the following expression is satisfied:
P+t*dir=(1-u-v)*p0+u*p1+v*p2P+t*dir=(1-u-v)*p0+u*p1+v*p2
经转换得到:Converted to:
(p1-p0)*u+(p2-p0)*v-t*dir=P-p0(p1-p0)*u+(p2-p0)*v-t*dir=P-p0
其中,t、u、v分别为系数。Among them, t, u, v are coefficients respectively.
(2)为了将上述转换后的的表达式改写成矩阵形式,设定:(2) In order to rewrite the above converted expression into matrix form, set:
E0=p1-p0E0=p1-p0
E2=p2-p0E2=p2-p0
E3=-dirE3=-dir
A=(E0,E1,E2)A=(E0,E1,E2)
B=P-p0B=P-p0
则有:Then there are:
A*X=BA*X=B
即:which is:
(3)根据克拉姆法则,得到系数u、v、t的表达式为:(3) According to Kram's rule, the expressions of coefficients u, v and t are obtained as:
u=det(B,E1,E2)/det(A)u=det(B,E1,E2)/det(A)
v=det(E0,B,E2)/det(A)v=det(E0,B,E2)/det(A)
t=det(E0,E1,B)/det(A)t=det(E0,E1,B)/det(A)
(4)优化系数(4) Optimization coefficient
根据混合积在三维向量下表示体积与行列式相同的特性,可以优化参数,得到:According to the characteristic that the mixed product represents the same volume as the determinant under the three-dimensional vector, the parameters can be optimized to obtain:
det(A)=dot(E0,cross(E1,E2))det(A)=dot(E0,cross(E1,E2))
u=dot(cross(B,E1),E2)/det(A)u=dot(cross(B,E1),E2)/det(A)
v=dot(cross(E0,B),E2)/det(A)v=dot(cross(E0,B),E2)/det(A)
t=dot(cross(E0,E1),B)/det(A)t=dot(cross(E0,E1),B)/det(A)
(5)根据优化参数,判断射线Ray(P,dir)与三角形(p0,p1,p2)是否相交。(5) According to the optimization parameters, determine whether the ray Ray (P, dir) intersects the triangle (p0, p1, p2).
若u>=0,v>=0,u+v<=1且t>=0时,则判定射线Ray(P,dir)与三角形(p0,p1,p2)相交,否则不相交。If u>=0, v>=0, u+v<=1 and t>=0, it is determined that the ray Ray(P, dir) intersects the triangle (p0, p1, p2), otherwise it does not intersect.
本实施例判断射线Ray(P,dir)与三角形(p0,p1,p2)是否相交的原理如下:The principle of this embodiment for judging whether the ray (P, dir) intersects the triangle (p0, p1, p2) is as follows:
(1)如果一个点在三角形(p0,p1,p2)内,则可以用(1-u-v)*p0+u*P1+v*p2来表示,此时u>=0,v>=0,u+v<=1。(1) If a point is in the triangle (p0, p1, p2), it can be represented by (1-u-v)*p0+u*P1+v*p2, at this time u>=0, v>=0, u+v<=1.
(2)如果一个点在射线上(P,dir),则可以用P+t*dir来表示,t>=0。(2) If a point is on the ray (P, dir), it can be represented by P+t*dir, t>=0.
S203,如果可进入区域的三角形列表L中有三角形(p0,p1,p2)与射线Ray相交,则说明给定位置P在可进入区域,没有发生碰撞;否则发生碰撞。S203 , if a triangle (p0, p1, p2) in the triangle list L of the accessible area intersects with the ray Ray, it means that the given position P is in the accessible area and no collision occurs; otherwise, a collision occurs.
S300,基于上述的碰撞判定方法依次对三维场景中玩家位置和相机位置进行碰撞判定。S300, based on the aforementioned collision determination method, sequentially perform collision determination on the player position and the camera position in the three-dimensional scene.
本实例中,基于上述的碰撞判定方法依次对三维场景中玩家位置和相机位置进行碰撞判定包括以下步骤:In this example, based on the above-mentioned collision determination method, the collision determination of the player position and the camera position in the three-dimensional scene includes the following steps:
S301,玩家位置碰撞判定。S301, player position collision determination.
当玩家模型发生移动时,对玩家模型位置进行碰撞判定的具体实现方法如下:When the player model moves, the specific implementation method of the collision determination on the position of the player model is as follows:
S301-1,获取玩家模型当前位置pos和玩家模型当前朝向dir。S301-1, obtain the current position pos of the player model and the current orientation dir of the player model.
S301-2,根据玩家模型当前位置pos、玩家模型当前朝向dir、设置的玩家移动速度body_speed及当前帧与上一帧的时间差delta,计算得到玩家模型预计的目标位置target。S301-2, according to the current position pos of the player model, the current direction of the player model dir, the set player movement speed body_speed, and the time difference delta between the current frame and the previous frame, calculate and obtain the target position target predicted by the player model.
本实施例中,玩家模型预计的目标位置target的计算方法如下:In this embodiment, the calculation method of the target position target estimated by the player model is as follows:
Target=pos+(delta*body_speed)*dirTarget=pos+(delta*body_speed)*dir
S301-3,根据步骤S200中的碰撞方法,通过玩家模型预计的目标位置target判定玩家模型是否即将发生碰撞。S301-3, according to the collision method in step S200, it is determined whether the player model is about to collide according to the target position target predicted by the player model.
本实施例中,通过玩家模型预计的目标位置target判定玩家模型是否即将发生碰撞的步骤包括:In this embodiment, the step of determining whether the player model is about to collide by using the target position target predicted by the player model includes:
(1)根据玩家模型预计的目标位置target和当前三维场景中垂直向下的方向向量Dir(0,-1,0)组成第一射线Ray1(T,dir)。(1) The first ray Ray1(T, dir) is formed according to the target position target predicted by the player model and the vertical downward direction vector Dir(0,-1,0) in the current three-dimensional scene.
(2)遍历可进入区域的三角形列表L,并与第一射线Ray1进行求交运算,判断可进入区域的三角形列表L中是否有三角形(p0,p1,p2)与第一射线Ray1(T,dir)相交。(2) Traverse the triangle list L of the accessible area, and perform an intersection operation with the first ray Ray1 to determine whether there is a triangle (p0, p1, p2) in the triangle list L of the accessible area and the first ray Ray1 (T, dir) to intersect.
本实施例中,判断可进入区域的三角形列表L中是否有三角形(p0,p1,p2)与第一射线Ray1(T,dir)相交的步骤包括:In this embodiment, the step of judging whether a triangle (p0, p1, p2) intersects with the first ray Ray1 (T, dir) in the triangle list L of the accessible area includes:
(2-1)假设一个点同时在射线Ray(T,dir1)和三角形(p0,p1,p2)上,则满足下面表达式:(2-1) Assuming that a point is on both the ray (T, dir1) and the triangle (p0, p1, p2), the following expression is satisfied:
T+t1*dir1=(1-u1-v1)*p0+u1*p1+v1*p2T+t1*dir1=(1-u1-v1)*p0+u1*p1+v1*p2
经转换得到:Converted to:
(p1-p0)*u1+(p2-p0)*v1-t1*dir=T-p0(p1-p0)*u1+(p2-p0)*v1-t1*dir=T-p0
其中,t1、u1、v1分别为系数。Among them, t1, u1, v1 are coefficients respectively.
(2-2)为了将上述转换后的的表达式改写成矩阵形式,设定:(2-2) In order to rewrite the above converted expression into matrix form, set:
E0=p1-p0E0=p1-p0
E2=p2-p0E2=p2-p0
E3=-dir1E3=-dir1
A1=(E0,E1,E2)A1=(E0,E1,E2)
B1=T-p0B1=T-p0
则有:Then there are:
A1*X1=B1A1*X1=B1
即:which is:
(2-3)根据克拉姆法则,得到系数u1、v1、t1的表达式为:(2-3) According to Kram's rule, the expressions for the coefficients u1, v1, and t1 are:
u1=det(B1,E1,E2)/det(A1)u1=det(B1,E1,E2)/det(A1)
v1=det(E0,B,E2)/det(A1)v1=det(E0,B,E2)/det(A1)
t1=det(E0,E1,B1)/det(A1)t1=det(E0,E1,B1)/det(A1)
(2-4)优化系数(2-4) Optimization coefficient
根据混合积在三维向量下表示体积与行列式相同的特性,可以优化参数,得到:According to the characteristic that the mixed product represents the same volume as the determinant under the three-dimensional vector, the parameters can be optimized to obtain:
det(A1)=dot(E0,cross(E1,E2))det(A1)=dot(E0,cross(E1,E2))
u1=dot(cross(B1,E1),E2)/det(A1)u1=dot(cross(B1,E1),E2)/det(A1)
v1=dot(cross(E0,B1),E2)/det(A1)v1=dot(cross(E0,B1),E2)/det(A1)
t1=dot(cross(E0,E1),B1)/det(A1)t1=dot(cross(E0,E1),B1)/det(A1)
(2-5)根据优化参数,判断第一射线Ray1(T,dir1)与三角形(p0,p1,p2)是否相交。(2-5) According to the optimization parameters, determine whether the first ray Ray1 (T, dir1) intersects the triangle (p0, p1, p2).
若u1>=0,v1>=0,u1+v1<=1且t1>=0时,则判定第一射线Ray(T,dir1)与三角形(p0,p1,p2)相交,否则不相交。If u1>=0, v1>=0, u1+v1<=1 and t1>=0, it is determined that the first ray Ray(T, dir1) intersects with the triangle (p0, p1, p2), otherwise they do not intersect.
(3)如果可进入区域的三角形列表L中有三角形(p0,p1,p2)与第一射线Ray1(T,dir1)相交,则说明玩家模型预计的目标位置target在可进入区域,没有发生碰撞;否则发生碰撞。(3) If there is a triangle (p0, p1, p2) in the triangle list L of the accessible area that intersects the first ray Ray1 (T, dir1), it means that the target position target predicted by the player model is in the accessible area, and no collision occurs ; otherwise a collision occurs.
本实施例通过将玩家模型的目标位置点与可进入区域数据进行求交算法来判断玩家模型碰撞情况的发生,实现了玩家模型碰撞检测。In this embodiment, the collision detection of the player model is realized by performing an intersection algorithm between the target position point of the player model and the data of the accessible area to determine the occurrence of the collision of the player model.
S302,相机位置碰撞判定S302, camera position collision determination
本实施例中,所指的相机为玩家身外的相机。对于玩家模型的相机的碰撞判定结果同玩家位置碰撞判定结果,无需单独处理。In this embodiment, the referred camera is a camera outside the player. The collision judgment result of the camera of the player model and the collision judgment result of the player's position do not need to be processed separately.
当玩家发生移动或者旋转时,对相机位置进行碰撞判定的具体实现方式如下:When the player moves or rotates, the specific implementation of the collision determination of the camera position is as follows:
S302-1,获取步骤S301计算得到的玩家模型预计的目标位置target。S302-1, acquiring the target position target predicted by the player model calculated in step S301.
S302-2,获取相机的目标朝向dir。S302-2, obtain the target orientation dir of the camera.
S302-3,根据玩家的目标位置target、相机的目标朝向dir以及设置的相机距离camera_dis,计算相机预计的目标位置camera_target。S302-3, according to the target position target of the player, the target orientation dir of the camera, and the set camera distance camera_dis, calculate the target position camera_target expected by the camera.
本实施例中,相机预计的目标位置camera_target的计算方法如下:In this embodiment, the calculation method of the target position camera_target estimated by the camera is as follows:
Camera_target=target-camera_dis*dirCamera_target=target-camera_dis*dir
S302-4,根据步骤S200中的碰撞方法,通过相机预计的目标位置camera_target判定相机是否即将发生碰撞。S302-4, according to the collision method in step S200, it is determined whether the camera is about to collide according to the target position camera_target expected by the camera.
本实施例中,通过相机预计的目标位置camera_target判定相机是否即将发生碰撞的具体实现方式如下:In this embodiment, the specific implementation manner of determining whether the camera is about to collide by using the camera_target estimated target position of the camera is as follows:
(1)根据相机预计的目标位置camera_target和当前三维场景中垂直向下的方向向量Dir(0,-1,0)组成第二射线Ray2(C,dir2)。(1) A second ray Ray2(C, dir2) is formed according to the target position camera_target predicted by the camera and the vertical downward direction vector Dir(0,-1,0) in the current three-dimensional scene.
(2)遍历可进入区域的三角形列表L,与第二射线Ray2进行求交运算,判断可进入区域的三角形列表L中是否有三角形(p0,p1,p2)与第二射线(C,dir2)相交。(2) Traverse the triangle list L of the accessible area, and perform an intersection operation with the second ray Ray2 to determine whether there are triangles (p0, p1, p2) and the second ray (C, dir2) in the triangle list L of the accessible area. intersect.
本实施例中,判断可进入区域的三角形列表L中是否有三角形(p0,p1,p2)与第二射线Ray2(C,dir2)相交的步骤包括:In this embodiment, the step of judging whether a triangle (p0, p1, p2) intersects with the second ray Ray2 (C, dir2) in the triangle list L of the accessible area includes:
(2-1)假设一个点同时在第二射线Ray2(C,dir2)和三角形(p0,p1,p2)上,则满足下面表达式:(2-1) Assuming that a point is on both the second ray Ray2 (C, dir2) and the triangle (p0, p1, p2), the following expression is satisfied:
C+t2*dir2=(1-u2-v2)*p0+u2*p1+v2*p2C+t2*dir2=(1-u2-v2)*p0+u2*p1+v2*p2
经转换得到:Converted to:
(p1-p0)*u2+(p2-p0)*v2-t2*dir2=C-p0(p1-p0)*u2+(p2-p0)*v2-t2*dir2=C-p0
其中,t2、u2、v2分别为系数。Among them, t2, u2, v2 are coefficients respectively.
(2-2)为了将上述转换后的的表达式改写成矩阵形式,设定:(2-2) In order to rewrite the above converted expression into matrix form, set:
E0=p1-p0E0=p1-p0
E2=p2-p0E2=p2-p0
E3=-dir2E3=-dir2
A2=(E0,E1,E2)A2=(E0,E1,E2)
B2=C-p0B2=C-p0
则有:Then there are:
A2*X2=B2A2*X2=B2
即:which is:
(2-3)根据克拉姆法则,得到系数u2、v2、t2的表达式为:(2-3) According to Kram's rule, the expressions of coefficients u2, v2 and t2 are obtained as:
u2=det(B2,E1,E2)/det(A2)u2=det(B2,E1,E2)/det(A2)
v2=det(E0,B2,E2)/det(A2)v2=det(E0,B2,E2)/det(A2)
t2=det(E0,E1,B2)/det(A2)t2=det(E0,E1,B2)/det(A2)
(2-4)优化系数(2-4) Optimization coefficient
根据混合积在三维向量下表示体积与行列式相同的特性,可以优化参数,得到:According to the characteristic that the mixed product represents the same volume as the determinant under the three-dimensional vector, the parameters can be optimized to obtain:
det(A2)=dot(E0,cross(E1,E2))det(A2)=dot(E0,cross(E1,E2))
u2=dot(cross(B1,E1),E2)/det(A2)u2=dot(cross(B1,E1),E2)/det(A2)
v2=dot(cross(E0,B2),E2)/det(A2)v2=dot(cross(E0,B2),E2)/det(A2)
t2=dot(cross(E0,E1),B2)/det(A2)t2=dot(cross(E0,E1),B2)/det(A2)
(2-5)根据优化参数,判断第二射线Ray2(C,dir2)与三角形(p0,p1,p2)是否相交。(2-5) According to the optimization parameters, determine whether the second ray Ray2 (C, dir2) intersects the triangle (p0, p1, p2).
若u2>=0,v2>=0,u2+v2<=1且t2>=0时,则判定第二射线Ra2y(C,dir2)与三角形(p0,p1,p2)相交,否则不相交。If u2>=0, v2>=0, u2+v2<=1 and t2>=0, it is determined that the second ray Ra2y(C, dir2) intersects the triangle (p0, p1, p2), otherwise it does not intersect.
(3)如果可进入区域的三角形列表L中有三角形(p0,p1,p2)与第二射线Ray2(C,dir2)相交,则说明相机预计的目标位置camera_target在可进入区域,没有发生碰撞;否则发生碰撞。(3) If there is a triangle (p0, p1, p2) in the triangle list L of the accessible area and the second ray Ray2 (C, dir2) intersects, it means that the camera's expected target position camera_target is in the accessible area, and there is no collision; Otherwise a collision occurs.
本实施例通过将相机的目标位置点与可进入区域数据进行求交算法来判断相机碰撞情况的发生,实现了相机碰撞检测。In this embodiment, the camera collision detection is realized by performing an intersection algorithm between the target position point of the camera and the data of the accessible area to determine the occurrence of the camera collision.
S400,若玩家模型即将发生碰撞,则重新计算玩家模型的目标位置。S400, if the player model is about to collide, recalculate the target position of the player model.
本实施例中,重新计算玩家模型的目标位置的步骤包括:In this embodiment, the step of recalculating the target position of the player model includes:
将步骤S301得到的玩家模型预计的目标位置target向玩家模型方向逐渐步进,进而获得一个新的目标位置temp,步进单位为一个设置的玩家模型身位;每步进一次都进行碰撞判定,如果发生碰撞,则继续步进,否则temp即为玩家模型最终的目标位置。最后,将玩家模型位置设定为temp。Stepping the expected target position target of the player model obtained in step S301 toward the player model gradually, and then obtaining a new target position temp, and the stepping unit is a set player model position; If there is a collision, continue stepping, otherwise temp is the final target position of the player model. Finally, set the player model position to temp.
本实施例在玩家模型即将发生碰撞时,对玩家模型进行碰撞处理,重新计算玩家模型的目标位置,实现基于物理系统基础的玩家模型碰撞检测。In this embodiment, when the player model is about to collide, the collision processing is performed on the player model, and the target position of the player model is recalculated, so as to realize the collision detection of the player model based on the basis of the physics system.
S500,若相机即将发生碰撞,则重新计算相机的目标位置。S500, if the camera is about to collide, recalculate the target position of the camera.
本实施例中,所指的相机为玩家模型外的相机。对于玩家模型的相机无需额外的碰撞处理,只需等待处理完玩家碰撞后,直接将相机赋值为玩家位置和玩家朝向即可。In this embodiment, the camera referred to is the camera outside the player model. There is no need for additional collision processing for the camera of the player model, just wait for the player collision to be processed, and directly assign the camera to the player's position and the player's orientation.
本实施例中,将相机的碰撞处理放置在玩家碰撞处理之后。In this embodiment, the collision processing of the camera is placed after the collision processing of the player.
本实施例中,若相机即将发生碰撞,重新计算相机的目标位置的具体实现方式如下:In this embodiment, if the camera is about to collide, the specific implementation method of recalculating the target position of the camera is as follows:
获取玩家最终位置pos,步骤S302得到的相机预计的目标位置camera_target,相机的目标朝向dir;Obtain the final position pos of the player, the expected target position camera_target of the camera obtained in step S302, and the target of the camera is oriented toward dir;
将相机预计的目标位置camera_target沿着相机的目标朝向dir步进,步进单位为一个设定的玩家模型身位;每步进一次都进行碰撞判定,如果发生碰撞,则继续步进,否则得到相机的新的目标位置temp。Step the camera's expected target position camera_target along the camera's target towards dir, the step unit is a set player model position; each step is a collision judgment, if a collision occurs, continue to step, otherwise get The camera's new target position temp.
判断相机的新的目标位置temp是否位于玩家模型的最终位置pos和步骤S302得到的相机预计的目标位置camera_target之间;Determine whether the new target position temp of the camera is located between the final position pos of the player model and the expected target position camera_target of the camera obtained in step S302;
如果相机的新的目标位置temp位于玩家模型的最终位置pos和步骤S302得到的相机预计的目标位置camera_target之间,则相机最终位置设定为temp,否则将相机最终位置设定为玩家模型最终位置pos。If the new target position temp of the camera is located between the final position pos of the player model and the expected target position camera_target of the camera obtained in step S302, the final position of the camera is set to temp, otherwise, the final position of the camera is set to the final position of the player model pos.
本实施例中,判断相机的新的目标位置temp是否位于玩家模型的最终位置pos和步骤S302得到的相机预计的目标位置camera_target之间的方法如下:In this embodiment, the method for judging whether the new target position temp of the camera is located between the final position pos of the player model and the expected target position camera_target of the camera obtained in step S302 is as follows:
将相机的新的目标位置temp设置为P,玩家模型的最终位置pos设置为A,相机预计的目标位置camera_target设置为B。Set the camera's new target position temp to P, the player model's final position pos to A, and the camera's expected target position camera_target to B.
获取两个位置向量,分别为PA和PB,其中,PA=A-P;PB=B-P。Two position vectors are obtained, namely PA and PB, where PA=A-P; PB=B-P.
计算得到两个位置向量的余弦值Cosα,其中,Cosα的计算方法为:Calculate the cosine value Cosα of the two position vectors, where the calculation method of Cosα is:
Cosα=dot(PA,PB)/(|PA|*|PB|)Cosα=dot(PA, PB)/(|PA|*|PB|)
如果两个位置向量的余弦值Cosα等于1,则说明P在AB之间,即相机的新的目标位置temp位于玩家模型的最终位置pos和相机预计的目标位置camera_target中间。否则,P不在AB之间。If the cosine value Cosα of the two position vectors is equal to 1, it means that P is between AB, that is, the new target position temp of the camera is located between the final position pos of the player model and the expected target position camera_target of the camera. Otherwise, P is not between AB.
本实施例在相机即将发生碰撞时,对相机进行碰撞处理,重新计算相机的目标位置,实现基于物理系统基础的相机碰撞检测。In this embodiment, when the camera is about to collide, the camera is subjected to collision processing, the target position of the camera is recalculated, and the camera collision detection based on the basis of the physical system is realized.
上述的三维场景中碰撞检测方法,通过将玩家模型和相机的目标位置点与可进入区域数据进行求交算法来判断碰撞情况的发生,并完成玩家模型和相机发生碰撞后的相关处理,重新计算玩家模型和相机的最终位置,实现轻量化的物理系统基础的碰撞检测功能。The collision detection method in the above-mentioned three-dimensional scene uses an intersection algorithm between the target position point of the player model and the camera and the data of the accessible area to determine the occurrence of the collision, and completes the relevant processing after the collision between the player model and the camera, and recalculates The final position of the player model and the camera, to implement the collision detection function based on the lightweight physics system.
上述的三维场景中碰撞检测方法,可以在不增加大量物理数据的前提下,提供完备的碰撞检测和玩家模型、相机碰撞处理的相关功能。The above-mentioned collision detection method in a three-dimensional scene can provide complete collision detection and related functions of player model and camera collision processing without adding a large amount of physical data.
上述的三维场景中碰撞检测方法,由于很轻量,同时由于在路网路面主体模型数据通常较为简单,所以不会带来性能上的压力,方便引入各个应用中。The above-mentioned collision detection method in a 3D scene is very lightweight, and because the main model data of the road network is usually relatively simple, it will not bring pressure on performance, and it is convenient to introduce into various applications.
相应于上面的方法实施例,参见图2,图2为本发明另一实施例所提供的三维场景中碰撞检测系统的示意图,该设备100可以包括:Corresponding to the above method embodiments, see FIG. 2 , which is a schematic diagram of a collision detection system in a three-dimensional scene provided by another embodiment of the present invention. The
存储器101,用于存储计算机程序;
处理器102,用于执行上述存储器101存储的计算机程序时可实现如下步骤:The
获取三维场景中可进入区域,并设置系统内部参数;对给定的位置P(x,y,z)和获取的可进入区域进行碰撞判定;基于上述的碰撞判定方法依次对三维场景中玩家位置和相机位置进行碰撞判定;若玩家模型即将发生碰撞,则重新计算玩家模型的目标位置;若相机即将发生碰撞,则重新计算相机的目标位置,实现对玩家模型和相机发生碰撞后的处理。Obtain the accessible area in the 3D scene, and set the internal parameters of the system; perform a collision determination between the given position P(x, y, z) and the acquired accessible area; based on the above collision determination method, sequentially determine the player's position in the 3D scene Determine the collision with the camera position; if the player model is about to collide, the target position of the player model is recalculated; if the camera is about to collide, the target position of the camera is recalculated to realize the processing after the collision between the player model and the camera.
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。The above-mentioned specific embodiments do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210551210.4A CN114926604A (en) | 2022-05-18 | 2022-05-18 | Collision detection method and system in three-dimensional scene |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210551210.4A CN114926604A (en) | 2022-05-18 | 2022-05-18 | Collision detection method and system in three-dimensional scene |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN114926604A true CN114926604A (en) | 2022-08-19 |
Family
ID=82808041
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210551210.4A Pending CN114926604A (en) | 2022-05-18 | 2022-05-18 | Collision detection method and system in three-dimensional scene |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114926604A (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018130135A1 (en) * | 2017-01-13 | 2018-07-19 | 腾讯科技(深圳)有限公司 | Method and device for controlling way-finding of simulation object, and server |
| CN113781655A (en) * | 2020-06-09 | 2021-12-10 | 国网新疆电力有限公司建设分公司 | Virtual reality simulation construction method and device, equipment and storage medium |
-
2022
- 2022-05-18 CN CN202210551210.4A patent/CN114926604A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018130135A1 (en) * | 2017-01-13 | 2018-07-19 | 腾讯科技(深圳)有限公司 | Method and device for controlling way-finding of simulation object, and server |
| CN113781655A (en) * | 2020-06-09 | 2021-12-10 | 国网新疆电力有限公司建设分公司 | Virtual reality simulation construction method and device, equipment and storage medium |
Non-Patent Citations (1)
| Title |
|---|
| 赵锋等: "碰撞检测算法在变电站安全预警中的应用", 电网技术, vol. 2015, no. 3, 30 March 2015 (2015-03-30), pages 1 - 3 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6966588B2 (en) | Intersection drawing methods, devices, servers and storage media | |
| CN109558937B (en) | Neural network system and operation method of neural network system | |
| CN105184855B (en) | Characteristic face construction method based on three-dimensional point cloud and device | |
| CN101388117B (en) | Surface construction method of fluid simulation based on particle method | |
| TWI775210B (en) | Data dividing method and processor for convolution operation | |
| US9824166B2 (en) | Methods, systems, and computer readable media for utilizing parallel adaptive rectangular decomposition (ARD) to perform acoustic simulations | |
| CN116229005B (en) | Geodesic determining method and device for three-dimensional roadway model | |
| Cao et al. | Fast incremental structure from motion based on parallel bundle adjustment | |
| JP2022547873A (en) | Point cloud data processing method and device | |
| KR102454180B1 (en) | Apparatus and method for generating 3d geographical data | |
| CN112802203B (en) | A Feature-Based Spatial Hashing Continuous Collision Detection Method | |
| CN118171542B (en) | Numerical simulation method and storage medium for underwater explosion based on solving multi-media problems | |
| CN114994638A (en) | An obstacle recognition method for autonomous vehicles based on elliptic envelope curve set | |
| CN114926604A (en) | Collision detection method and system in three-dimensional scene | |
| CN111028264B (en) | Rotation-robust three-dimensional object detection optimization method and device | |
| KR101746331B1 (en) | METHOD AND SYSTEM FOR elimination of duplicated polygons of 3-dimensional piping structural models | |
| TWI406189B (en) | Method for constructing triangular grids of point clouds | |
| CN117272716A (en) | Convex polyhedron grid correction method and device, electronic equipment and storage medium | |
| US10628533B2 (en) | Global optimization of networks of locally fitted objects | |
| CN110717297B (en) | Method, system, storage medium and electronic device for establishing fabric simulation model | |
| CN116862923B (en) | Evaluation optimization method and device of texture-oriented 3D printing model | |
| CN108038876B (en) | A method and device for detecting and estimating a space target cube component | |
| CN120071020B (en) | Multi-target analysis method, device, equipment, storage medium and product | |
| CN120145563B (en) | Method, device, equipment and storage medium for judging position relation of point and irregular hexahedral unit | |
| CN120374817B (en) | Dual PVS-based scene data scheduling and rendering method |
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 |