CN105719310B - Collision detection method and device - Google Patents

Collision detection method and device Download PDF

Info

Publication number
CN105719310B
CN105719310B CN201410406311.8A CN201410406311A CN105719310B CN 105719310 B CN105719310 B CN 105719310B CN 201410406311 A CN201410406311 A CN 201410406311A CN 105719310 B CN105719310 B CN 105719310B
Authority
CN
China
Prior art keywords
curved surface
collide
triangular
triangular plate
triangular plates
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
Application number
CN201410406311.8A
Other languages
Chinese (zh)
Other versions
CN105719310A (en
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.)
Beijing Bplead Creative Technology Co Ltd
Original Assignee
Beijing Bplead Creative Technology Co Ltd
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 Beijing Bplead Creative Technology Co Ltd filed Critical Beijing Bplead Creative Technology Co Ltd
Priority to CN201410406311.8A priority Critical patent/CN105719310B/en
Publication of CN105719310A publication Critical patent/CN105719310A/en
Application granted granted Critical
Publication of CN105719310B publication Critical patent/CN105719310B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Geophysics And Detection Of Objects (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention provides a collision detection method and device. Wherein, the method comprises the following steps: judging whether the first curved surface and the second curved surface collide or not according to the geometric information of the first curved surface and the second curved surface to be detected; and under the condition that the first curved surface and the second curved surface are judged not to collide, determining that the first group of triangular plates corresponding to the first curved surface and the second group of triangular plates corresponding to the second curved surface do not collide.

Description

Collision detection method and device
Technical Field
The invention relates to the technical field of computers, in particular to a collision detection method and device.
Background
With the rapid development of computer technology in recent years, simulation of the motion of an actual object and detection of a collision situation in the motion process in a software-constructed virtual environment have been more and more widely applied to the fields of scientific research, industrial manufacturing and the like.
The three-dimensional models used for virtual simulation by enterprises have huge data volume and complex position relationship among the models in the motion process. How to rapidly and accurately perform collision detection becomes a key problem whether the technology can be practically applied.
One solution of the prior art is: and judging whether the triangular plates between the models are intersected based on the bounding boxes, and further judging whether the models collide with each other. The bounding box can quickly filter the conditions that must not collide, thereby improving algorithm efficiency.
The apparent shape of the three-dimensional model may be approximated by a set of triangular plates. The intersection operation of the three-dimensional model contour (curved surface) is converted into the intersection operation of the triangular plate. The method effectively reduces the complexity of the algorithm, and can greatly improve the calculation efficiency through methods such as bounding box filtering and the like.
However, since the triangle group cannot perfectly represent the shape characteristics of the three-dimensional model, there is a high possibility that misjudgment may occur in some positional relationships due to collision detection using the above scheme.
For example, in the collision detection shown in fig. 1 in which a shaft is inserted into a hole, the cylindrical surface of the shaft is coaxial with the cylindrical surface of the hole and has the same radius. These two cylindrical surfaces, if represented by triangular plates, will transform into the shape of a polygon prism. When the two cylindrical surfaces rotate relatively along the axis direction, collision is avoided all the time; however, when the two polygonal columns rotate relatively along the central axis, collision occurs, as shown in fig. 2. Therefore, when the axis model and the hole model represented by the triangular plate are used for collision detection, the collision is judged to occur with a high probability.
Disclosure of Invention
The invention provides a collision detection method and device, aiming at the problem that misjudgment possibly exists during collision detection in the related art.
According to an aspect of the present invention, there is provided a collision detection method including: judging whether the first curved surface and the second curved surface collide or not according to the geometric information of the first curved surface and the second curved surface to be detected; and under the condition that the first curved surface and the second curved surface are judged not to collide, determining that the first group of triangular plates corresponding to the first curved surface and the second group of triangular plates corresponding to the second curved surface do not collide.
Optionally, if it cannot be determined whether the first curved surface and the second curved surface collide with each other according to the geometric information of the first curved surface and the second curved surface, the method further includes: and for each triangular plate in the first set of triangular plates, detecting whether the triangular plate and the second curved surface collide or not according to the vertex position information of the triangular plate and the geometric information of the second curved surface, and if not, determining that the triangular plate and all the triangular plates in the second set of triangular plates do not collide.
Optionally, for one of the triangular plates in the first set of triangular plates, if it cannot be determined whether the triangular plate collides with the second curved surface by detecting vertex position information of the triangular plate and geometric information of the second curved surface, the method further includes: and detecting whether the triangular plate in the first set of triangular plates collides with each triangular plate in the second set of triangular plates or not according to the vertex position information of the triangular plate in the first set of triangular plates and the vertex position information of each triangular plate in the second set of triangular plates.
Optionally, detecting whether the triangular plate collides with the second curved surface includes at least one of: the second curved surface is a plane, and if three vertexes of the triangular plate are positioned on the same side of the second curved surface, the triangular plate and the second curved surface cannot collide; the second curved surface is a cylindrical surface, and if the distances between the three vertexes of the triangular plate and the central axis of the second curved surface are smaller than the radius of the second curved surface, the triangular plate and the second curved surface cannot collide; the second curved surface is a spherical surface, and if the distances between the three top points of the triangular plate and the spherical center of the second curved surface are smaller than the radius of the second curved surface, the triangular plate and the second curved surface cannot collide.
Optionally, if the first curved surface and the second curved surface are parallel planes, determining whether a collision occurs between the first curved surface and the second curved surface includes at least one of: if the first curved surface and the second curved surface are not coplanar, the first curved surface and the second curved surface cannot collide; if the first curved surface and the second curved surface are coplanar and the normal vector direction of the first curved surface is opposite to the normal vector direction of the second curved surface, the first curved surface and the second curved surface cannot collide; and if the first curved surface and the second curved surface are coplanar, and the normal vector direction of the first curved surface is the same as that of the second curved surface, determining whether the first curved surface and the second curved surface collide with each other or not according to the geometric information of the first curved surface and the second curved surface.
Optionally, if the first curved surface and the second curved surface are coaxial cylindrical surfaces, determining whether the first curved surface and the second curved surface collide with each other includes at least one of the following: if the radiuses of the first curved surface and the second curved surface are not equal, collision between the first curved surface and the second curved surface cannot occur; if the radii of the first curved surface and the second curved surface are equal and the directions of the first curved surface and the second curved surface are opposite, collision cannot occur between the first curved surface and the second curved surface; and if the radius of the first curved surface is equal to that of the second curved surface and the direction of the first curved surface is the same as that of the second curved surface, determining whether the first curved surface and the second curved surface collide with each other or not according to the geometric information of the first curved surface and the second curved surface.
Optionally, if the first curved surface and the second curved surface are concentric spherical surfaces, determining whether a collision occurs between the first curved surface and the second curved surface includes at least one of: if the radiuses of the first curved surface and the second curved surface are not equal, the first curved surface and the second curved surface cannot collide with each other; if the radii of the first curved surface and the second curved surface are equal and the directions of the first curved surface and the second curved surface are opposite, the first curved surface and the second curved surface cannot collide; and if the radius of the first curved surface is equal to that of the second curved surface, and the direction of the first curved surface is the same as that of the second curved surface, determining whether the first curved surface and the second curved surface collide with each other or not.
According to another aspect of the present invention, there is provided a collision detection apparatus including: the judging module is used for judging whether the first curved surface and the second curved surface collide with each other or not according to the geometric information of the first curved surface and the second curved surface to be detected; and the determining module is used for determining that the first group of triangular plates corresponding to the first curved surface and the second group of triangular plates corresponding to the second curved surface do not collide under the condition that the judging module judges that the first curved surface and the second curved surface do not collide.
Optionally, the apparatus further comprises: and the first detection module is used for detecting whether the triangular plate and the second curved surface collide or not according to the vertex position information of the triangular plate and the geometric information of the second curved surface for each triangular plate in the first set of triangular plates when the judgment module cannot judge whether the first curved surface collides with the second curved surface according to the geometric information of the first curved surface and the second curved surface, and if not, determining that the triangular plate and all the triangular plates in the second set of triangular plates cannot collide.
Optionally, the apparatus further comprises: and the second detection module is used for detecting whether the triangular plate in the first group of triangular plates collides with each triangular plate in the second group of triangular plates or not according to the vertex position information of the triangular plate and the vertex position information of each triangular plate in the second group of triangular plates under the condition that the first detection module cannot judge whether the triangular plate collides with the second curved surface or not according to the vertex position information of one triangular plate in the first group of triangular plates and the geometric information of the second curved surface.
According to the invention, whether the two curved surfaces collide is judged according to the geometric information of the curved surfaces, and when the two curved surfaces do not collide, the triangular plate between the two curved surfaces is judged not to collide, so that the misjudgment probability is reduced, and the detection speed is improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
fig. 1 is a diagram showing an example of collision detection in which a shaft is inserted into a hole;
fig. 2 is a diagram showing a result of collision detection in which a shaft is inserted into a hole;
FIG. 3 is a flow chart of a collision detection method according to an embodiment of the invention;
FIG. 4 is a flow chart of collision detection in an alternative embodiment of the present invention;
fig. 5 is a schematic structural diagram of a collision detection apparatus according to an embodiment of the present invention.
Detailed Description
The invention will be described in detail hereinafter with reference to the accompanying drawings in conjunction with embodiments. It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict.
In the embodiment of the invention, geometric information of a standard curved surface (a plane, a cylindrical surface, a spherical surface and the like) is introduced into the calculation of collision detection on the basis of the prior art, and the curved surface and the triangular plate which are inevitably not collided are directly filtered out according to the shape characteristics of the curved surface, so that the collision detection efficiency is improved on one hand, and the misjudgment condition caused by the fact that the triangular plate cannot perfectly represent the shape of the curved surface is effectively avoided on the other hand.
According to an embodiment of the present invention, there is provided a collision detection method.
Fig. 3 is a flowchart of a collision detection method according to an embodiment of the present invention, and as shown in fig. 3, the method mainly includes the following steps (step S302-step S304):
step S302, judging whether the first curved surface and the second curved surface collide with each other according to the geometric information of the first curved surface and the second curved surface to be detected.
In the embodiment of the invention, before collision detection, not only the triangular plate information of each curved surface of the model to be detected is stored, but also the geometric information of each curved surface is stored. Wherein the geometric information is used to describe the shape of the curved surface. For example, for a plane, the position of a point on the plane and the normal vector direction of the plane can be recorded; for a cylindrical surface, the central axis (a point on the axis and the direction of the axis) of the cylindrical surface and the radius of the cylindrical surface can be recorded; for the spherical surface, the position of the center of the spherical surface, the radius of the spherical surface, and the like can be recorded.
Before step S302 is executed, whether the whole bounding boxes of the two models to be detected intersect or not may be determined by using a bounding box manner, and if the intersection is determined, whether the bounding boxes of the two curved surfaces (i.e. the first curved surface and the second curved surface) of the two models intersect or not may be determined, and if so, step S302 is executed again.
In practical application, most of the matched curved surfaces of objects with the assembly position relation are standard curved surfaces such as planes, cylindrical surfaces, spherical surfaces and the like. Therefore, in the collision detection process, only a limited number of standard curved surfaces need to be judged, and the detection accuracy can be greatly improved.
Therefore, in an alternative embodiment of the present invention, the geometric information of the standard surface may be used to filter the surface in step S304. And grouping the triangular plates of the model according to the curved surface. If the two curved surfaces cannot collide with each other necessarily, the collision condition of the two curved surfaces corresponding to the triangular plates does not need to be calculated, and the two groups of triangular plates cannot collide with each other directly. This is illustrated below by means of several standard surfaces.
(a) Two parallel planes
Two parallel planes, when they are not coplanar, will not collide with each other.
When the two parallel planes are coplanar, if the directions of the two planes (i.e. the normal vector directions of the planes) are opposite, the two planes will not collide with each other.
When the two parallel planes are coplanar, if the directions of the two planes (the normal vector direction of the planes) are the same, it cannot be determined whether the two planes collide, and the determination needs to be performed through the intersection condition of the triangular plates on the two planes.
(b) Two coaxial cylindrical surfaces
When the two coaxial cylindrical curved surfaces have unequal radiuses, the two cylindrical curved surfaces cannot collide with each other;
when the two coaxial cylindrical curved surfaces have equal radiuses, if the directions of the two cylindrical curved surfaces are opposite (the normal vector of a point on one curved surface points to the central axis, and the normal vector of a point on the other curved surface is far away from the central axis), the two cylindrical curved surfaces cannot collide with each other;
when the radii of the two coaxial cylindrical curved surfaces are equal, if the directions of the two cylindrical curved surfaces are the same, whether the two curved surfaces collide with each other cannot be judged, and judgment needs to be carried out through the intersection condition of the triangular plates on the two curved surfaces.
(c) Two concentric spherical surfaces
When the two concentric spherical surfaces have unequal radiuses, the two spherical surfaces cannot collide with each other;
when the two concentric spheres have equal radii, if the two spheres have opposite directions (the normal vector of a point on one sphere points to the center of the sphere and the normal vector of a point on the other sphere is far away from the center of the sphere), the two spheres will not collide;
when the radii of the two concentric spherical surfaces are equal, if the directions of the two spherical surfaces are the same, whether the two spherical surfaces collide with each other cannot be judged, and judgment needs to be performed through the intersection condition of the triangular plates on the two spherical surfaces.
Step S304, under the condition that the first curved surface and the second curved surface are not collided, determining that the first group of triangular plates corresponding to the first curved surface and the second group of triangular plates corresponding to the second curved surface are not collided.
In the specific implementation process, when the collision detection is carried out and the triangular plates are generated by each curved surface to be detected, the triangular plates are grouped according to the curved surface where each triangular plate is located.
In an optional implementation manner of the embodiment of the present invention, if it cannot be determined whether the first curved surface and the second curved surface collide with each other according to the geometric information of the first curved surface and the second curved surface in step S304, the method may further include: and for each triangular plate in the first set of triangular plates, detecting whether the triangular plate and the second curved surface collide or not according to the vertex position information of the triangular plate and the geometric information of the second curved surface, and if not, determining that the triangular plate and all the triangular plates in the second set of triangular plates do not collide.
If one triangular plate and one curved surface can not collide with each other, the collision condition of the triangular plate and all the triangular plates on the curved surface does not need to be calculated, and the triangular plate and all the triangular plates corresponding to the curved surface are directly judged to be not collided with each other. The second curved surface is exemplified by the following typical curved surfaces.
(a) Plane surface
When the three vertices of the triangle are located on the same side of the plane, the triangle and the plane are bound not to collide.
(b) Cylindrical surface
When the distances between the three vertexes of the triangular plate and the central axis of the cylindrical surface are smaller than the radius of the cylindrical surface, the triangular plate and the cylindrical surface cannot collide with each other necessarily.
(c) Spherical surface
When the distances between the three vertexes of the triangular plate and the spherical center of the spherical surface are smaller than the radius of the spherical surface, the triangular plate and the spherical surface are not collided necessarily.
In an optional implementation manner of the embodiment of the present invention, for one of the triangular plates in the first set of triangular plates, if it cannot be determined whether the triangular plate collides with the second curved surface by detecting vertex position information of the triangular plate and geometric information of the second curved surface, the method may further include: and detecting whether the triangular plate in the first set of triangular plates collides with each triangular plate in the second set of triangular plates or not according to the vertex position information of the triangular plate in the first set of triangular plates and the vertex position information of each triangular plate in the second set of triangular plates.
The technical solution provided by the embodiment of the present invention is explained by an alternative embodiment.
Fig. 4 is a collision detection flowchart of the embodiment. As shown in fig. 4, in an alternative embodiment of the present invention, the method for detecting a collision between two models mainly includes the following steps:
step S401, whether the whole bounding boxes of the two models are intersected or not is detected. If the models are not intersected, judging that the two models are not collided; if the two curved surfaces intersect, whether the curved surfaces of the two models collide is detected, and step S402 is executed for every two curved surfaces between the two models.
Step S402, whether the bounding boxes of the two curved surfaces intersect is detected. If the two curved surfaces do not intersect, judging that the two curved surfaces do not collide; if so, continuing to the next step.
In step S403, it is determined whether the two curved surfaces intersect with each other using the geometric information of the standard curved surface. If the two curved surfaces do not intersect, judging that the two curved surfaces do not collide; if so, continuing to the next step.
And S404, filtering triangular plates by using the geometric information of the standard curved surface. Traversing all the triangular plates on the curved surface, filtering out the triangular plates which cannot collide with another curved surface necessarily, and recording the rest triangular plates.
Step S405, whether the remaining triangular plates of the two curved surfaces are intersected or not is detected. If the situation that the triangular plates are intersected exists, judging that the two models collide; otherwise, judging that the two curved surfaces do not collide.
In step S406, if all the curved surfaces do not collide, it is determined that the two models do not collide.
According to the embodiment of the invention, the invention further provides a collision detection device.
Fig. 5 is a schematic structural diagram of a collision detection apparatus according to an embodiment of the present invention, and as shown in fig. 5, the apparatus mainly includes: the judging module 50 is configured to judge whether the first curved surface and the second curved surface collide with each other according to the geometric information of the first curved surface and the second curved surface to be detected; a determining module 52, configured to determine that no collision occurs between a first set of triangular plates corresponding to the first curved surface and a second set of triangular plates corresponding to the second curved surface when the determining module 50 determines that the first curved surface and the second curved surface do not collide with each other.
In a specific implementation process, the determining module 50 may filter the curved surface that does not collide with the standard curved surface according to the geometric information of the standard curved surface, and may specifically determine according to the manner described in the foregoing embodiment, which is not described herein again.
In an optional implementation manner of the embodiment of the present invention, the apparatus may further include: and the first detection module is configured to, when the judgment module 50 cannot judge whether the first curved surface collides with the second curved surface according to the geometric information of the first curved surface and the second curved surface, detect, for each triangular plate in the first set of triangular plates, whether the triangular plate collides with the second curved surface according to vertex position information of the triangular plate and the geometric information of the second curved surface, and if not, determine that the triangular plate does not collide with all the triangular plates in the second set of triangular plates.
In a specific implementation process, the first detection module may use the geometric information filtering triangle of the standard curved surface according to the manner described in the above embodiment, which is not described herein again.
In an optional implementation manner of the embodiment of the present invention, the apparatus may further include: and the second detection module is used for detecting whether the triangular plate in the first group of triangular plates collides with each triangular plate in the second group of triangular plates or not according to the vertex position information of the triangular plate and the vertex position information of each triangular plate in the second group of triangular plates under the condition that the first detection module cannot judge whether the triangular plate collides with the second curved surface or not according to the vertex position information of one triangular plate in the first group of triangular plates and the geometric information of the second curved surface. The second detection module may detect whether a collision occurs between two triangular plates according to a triangular plate detection method in the related art, and specific details of the embodiment of the present invention are not described again.
From the above description, it can be seen that, according to the technical solution provided by one of the above embodiments, geometric information of a curved surface (e.g., a plane, a cylindrical surface, a spherical surface, etc.) is introduced into the calculation of collision detection, and according to the shape characteristics of the curved surface, the curved surface and the triangular plate which are inevitably not collided are directly filtered out, so that on one hand, the efficiency of collision detection is improved, and on the other hand, the misjudgment caused by the fact that the triangular plate cannot perfectly represent the shape of the curved surface is effectively avoided.
It will be apparent to those skilled in the art that the modules or steps of the present invention described above may be implemented by a general purpose computing device, they may be centralized on a single computing device or distributed across a network of multiple computing devices, and alternatively, they may be implemented by program code executable by a computing device, such that they may be stored in a storage device and executed by a computing device, and in some cases, the steps shown or described may be performed in an order different than that described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple ones of them may be fabricated into a single integrated circuit module. Thus, the present invention is not limited to any specific combination of hardware and software.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (8)

1. A collision detection method, characterized by comprising: according to the shape characteristics of the curved surface, the curved surface and the triangular plate which are not necessarily collided are directly filtered;
judging whether the first curved surface and the second curved surface collide or not according to the geometric information of the first curved surface and the second curved surface to be detected;
under the condition that the first curved surface and the second curved surface are judged not to collide, determining that the first group of triangular plates corresponding to the first curved surface and the second group of triangular plates corresponding to the second curved surface do not collide;
if the collision between the first curved surface and the second curved surface can not be judged according to the geometric information of the first curved surface and the second curved surface, the method further comprises the following steps:
and for each triangular plate in the first set of triangular plates, detecting whether the triangular plate and the second curved surface collide or not according to the vertex position information of the triangular plate and the geometric information of the second curved surface, and if not, determining that the triangular plate and all the triangular plates in the second set of triangular plates do not collide.
2. The method of claim 1, wherein if the vertex position information of one of the triangular plates in the first set of triangular plates and the geometric information of the second surface cannot be detected to determine whether the triangular plate will collide with the second surface, the method further comprises:
and detecting whether the triangular plate in the first set of triangular plates collides with each triangular plate in the second set of triangular plates or not according to the vertex position information of the triangular plate in the first set of triangular plates and the vertex position information of each triangular plate in the second set of triangular plates.
3. The method of claim 1, wherein detecting whether the triangle is collided with the second curved surface comprises at least one of:
the second curved surface is a plane, and if three vertexes of the triangular plate are positioned on the same side of the second curved surface, the triangular plate and the second curved surface cannot collide;
the second curved surface is a cylindrical surface, and if the distances between the three vertexes of the triangular plate and the central axis of the second curved surface are smaller than the radius of the second curved surface, the triangular plate and the second curved surface cannot collide;
the second curved surface is a spherical surface, and if the distances between the three top points of the triangular plate and the spherical center of the second curved surface are smaller than the radius of the second curved surface, the triangular plate and the second curved surface cannot collide.
4. The method according to any one of claims 1 to 3, wherein if the first curved surface and the second curved surface are parallel planes, determining whether a collision between the first curved surface and the second curved surface occurs comprises at least one of:
if the first curved surface and the second curved surface are not coplanar, the first curved surface and the second curved surface cannot collide;
if the first curved surface and the second curved surface are coplanar and the normal vector direction of the first curved surface is opposite to the normal vector direction of the second curved surface, the first curved surface and the second curved surface cannot collide;
and if the first curved surface and the second curved surface are coplanar, and the normal vector direction of the first curved surface is the same as that of the second curved surface, determining whether the first curved surface and the second curved surface collide with each other or not according to the geometric information of the first curved surface and the second curved surface.
5. The method according to any one of claims 1 to 3, wherein if the first curved surface and the second curved surface are coaxial cylindrical surfaces, determining whether a collision occurs between the first curved surface and the second curved surface comprises at least one of:
if the radiuses of the first curved surface and the second curved surface are not equal, collision between the first curved surface and the second curved surface cannot occur;
if the radii of the first curved surface and the second curved surface are equal and the directions of the first curved surface and the second curved surface are opposite, collision cannot occur between the first curved surface and the second curved surface;
and if the radius of the first curved surface is equal to that of the second curved surface and the direction of the first curved surface is the same as that of the second curved surface, determining whether the first curved surface and the second curved surface collide with each other or not according to the geometric information of the first curved surface and the second curved surface.
6. The method according to any one of claims 1 to 3, wherein if the first curved surface and the second curved surface are concentric spherical surfaces, determining whether a collision occurs between the first curved surface and the second curved surface comprises at least one of:
if the radiuses of the first curved surface and the second curved surface are not equal, the first curved surface and the second curved surface cannot collide with each other;
if the radii of the first curved surface and the second curved surface are equal and the directions of the first curved surface and the second curved surface are opposite, the first curved surface and the second curved surface cannot collide;
and if the radius of the first curved surface is equal to that of the second curved surface, and the direction of the first curved surface is the same as that of the second curved surface, determining whether the first curved surface and the second curved surface collide with each other or not.
7. A collision detecting apparatus, characterized by comprising:
the judging module is used for directly filtering out curved surfaces and triangular plates which are inevitably not collided according to the shape characteristics of the curved surfaces; judging whether the first curved surface and the second curved surface collide or not according to the geometric information of the first curved surface and the second curved surface to be detected;
the determining module is used for determining that the first group of triangular plates corresponding to the first curved surface and the second group of triangular plates corresponding to the second curved surface do not collide under the condition that the judging module judges that the first curved surface and the second curved surface do not collide;
and the first detection module is used for detecting whether the triangular plate and the second curved surface collide or not according to the vertex position information of the triangular plate and the geometric information of the second curved surface for each triangular plate in the first set of triangular plates when the judgment module cannot judge whether the first curved surface collides with the second curved surface according to the geometric information of the first curved surface and the second curved surface, and if not, determining that the triangular plate and all the triangular plates in the second set of triangular plates cannot collide.
8. The apparatus of claim 7, further comprising:
and the second detection module is used for detecting whether the triangular plate in the first group of triangular plates collides with each triangular plate in the second group of triangular plates or not according to the vertex position information of the triangular plate and the vertex position information of each triangular plate in the second group of triangular plates under the condition that the first detection module cannot judge whether the triangular plate collides with the second curved surface or not according to the vertex position information of one triangular plate in the first group of triangular plates and the geometric information of the second curved surface.
CN201410406311.8A 2014-08-13 2014-08-13 Collision detection method and device Active CN105719310B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410406311.8A CN105719310B (en) 2014-08-13 2014-08-13 Collision detection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410406311.8A CN105719310B (en) 2014-08-13 2014-08-13 Collision detection method and device

Publications (2)

Publication Number Publication Date
CN105719310A CN105719310A (en) 2016-06-29
CN105719310B true CN105719310B (en) 2019-12-20

Family

ID=56145286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410406311.8A Active CN105719310B (en) 2014-08-13 2014-08-13 Collision detection method and device

Country Status (1)

Country Link
CN (1) CN105719310B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110618655A (en) * 2019-10-08 2019-12-27 江西洪都航空工业集团有限责任公司 Method for detecting normal vector direction of three-coordinate measuring point
CN111921202B (en) * 2020-09-16 2021-01-08 成都完美天智游科技有限公司 Data processing method, device and equipment for virtual scene and readable storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1781111A (en) * 2002-11-06 2006-05-31 几何信息学股份有限公司 Analysis of geometric surfaces by comformal structure
CN101615305A (en) * 2009-07-24 2009-12-30 腾讯科技(深圳)有限公司 The method and apparatus of collision detection

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4311391B2 (en) * 2005-10-03 2009-08-12 ソニー株式会社 Contact shape calculation device, contact shape calculation method, and computer program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1781111A (en) * 2002-11-06 2006-05-31 几何信息学股份有限公司 Analysis of geometric surfaces by comformal structure
CN101615305A (en) * 2009-07-24 2009-12-30 腾讯科技(深圳)有限公司 The method and apparatus of collision detection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于特征点的碰撞检测算法的研究;高博;《中国优秀硕士学位论文全文数据库信息科技辑》;20090615(第6期);第1-68页 *

Also Published As

Publication number Publication date
CN105719310A (en) 2016-06-29

Similar Documents

Publication Publication Date Title
JP6480606B2 (en) Method, terminal and storage medium for detecting a collision between a cylindrical collider and a convex body in a real-time virtual scene
US20150109290A1 (en) Device and method for removing noise points in point clouds
CN109949306B (en) Reflecting surface angle deviation detection method, terminal device and storage medium
US9238554B2 (en) Computing device and method of pairing accessories
CN110383336A (en) A kind of rigid body configuration method, device, terminal device and computer storage medium
CN105719310B (en) Collision detection method and device
CN108959753A (en) Collision detection method, system, readable storage medium and computer equipment
CN110530375B (en) Robot adaptive positioning method, positioning device, robot and storage medium
US20150103080A1 (en) Computing device and method for simulating point clouds
CN110321624B (en) 3D object collision detection method and detection system in three-dimensional space
CN110008387A (en) Flow-field visualized implementation method, device and electronic equipment
CN112597662A (en) Method and system for checking correctness and mistakes of building model
CN116047499B (en) High-precision real-time protection system and method for power transmission line of target construction vehicle
US9761046B2 (en) Computing device and simulation method for processing an object
CN116168174A (en) Method and device for repairing point cloud of missing structure of building
US20150082269A1 (en) Cloud server and method for programming three-dimensional measurement of product off-line
CN104802168A (en) Boundary detection method and boundary detection system
JP7483232B2 (en) Information processing device, detection method and program
CN113963028A (en) Collision detection method and device, computer equipment and storage medium
CN113744404B (en) Comparison processing method and system of three-dimensional model
KR20120050642A (en) Method and apparatus for agglomerative hierarchical clustering using initial clustering
Rezaalipour et al. Arselda: an improvement on adaptive random testing by adaptive region selection
CN114660959B (en) Aircraft semi-physical simulation data completeness checking method
Fung et al. A robust line tracking method based on a multiple model Kalman filter model for mobile projector systems
WO2024023950A1 (en) Linear object detection device, linear object detection method, and linear object detection program

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: BEIJING BPLEAD CREATIVE TECHNOLOGY CO., LTD.

Document name: the First Notification of an Office Action

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: BEIJING BPLEAD CREATIVE TECHNOLOGY CO., LTD.

Document name: Notification of Passing Examination on Formalities

GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Building a, 8th floor, No.29, Baiziwan Road, Chaoyang District, Beijing 100020

Patentee after: BEIJING BPLEAD CREATIVE TECHNOLOGY Co.,Ltd.

Address before: 100022, A303, Jintai International Building, No. 1, 11 Canton Road, Beijing, Chaoyang District

Patentee before: BEIJING BPLEAD CREATIVE TECHNOLOGY Co.,Ltd.