CN101546435B - 物件碰撞检测系统及方法 - Google Patents
物件碰撞检测系统及方法 Download PDFInfo
- Publication number
- CN101546435B CN101546435B CN2008103006856A CN200810300685A CN101546435B CN 101546435 B CN101546435 B CN 101546435B CN 2008103006856 A CN2008103006856 A CN 2008103006856A CN 200810300685 A CN200810300685 A CN 200810300685A CN 101546435 B CN101546435 B CN 101546435B
- Authority
- CN
- China
- Prior art keywords
- value
- coordinate
- sphere
- spheroid
- centre
- 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.)
- Expired - Fee Related
Links
Images
Abstract
一种物件碰撞检测方法,包括:在三维局部坐标系中生成框住待测物件的长方体;根据该长方体生成一个固定在三维局部坐标系上的球体;根据该球体在所述三维局部坐标系上的球心坐标值获取该球体在世界坐标系上的球心坐标值;计算待检测的两个物件所生成球体在世界坐标系中的球心距;判断球心距是否大于待测两个物件所生成球体半径值的和;若所述球心距不大于待测物件所生成球体半径值的和,则该两个物件发生碰撞;及若所述球心距大于待测物件所生成球体半径值的和,则该两个物件没有发生碰撞。另外,本发明还提供一种物件碰撞检测系统。
Description
技术领域
本发明涉及一种检测系统及方法,尤其涉及一种物件碰撞检测的系统及方法。
背景技术
在现有的一些游戏和仿真软件中,存在很多物件,物件之间的碰撞检测非常重要。在游戏软件中,若没有物件碰撞检测,会使得物件穿过彼此,三维画面很不真实。在仿真软件中,物件碰撞检测也是非常必要的,如生产线仿真软件中,人与机台之间的碰撞检测,人与叉车之间的碰撞检测等,都是非常必要的,如果没有上述碰撞检测,会导致仿真画面不真实。
目前,即使存在物件碰撞检测,但是由于实现过程比较复杂,导致视觉上延时比较长,达到的动画效果不流畅,给用户带来的视觉效果不好。
发明内容
鉴于以上内容,有必要提供一种有效的检测物件之间是否有碰撞的系统及方法。
所述物件碰撞检测系统,包括计算机及与该计算机相连的数据库,该数据库中存储有待测物件,所述计算机包括:生成模块,用于在三维局部坐标系中生成框住待测物件的长方体,还用于根据该长方体生成一个固定在三维局部坐标系上的球体;获取模块,用于根据球体在三维局部坐标系上的球心坐标值获取该球体在世界坐标系上的球心坐标值;计算模块,用于计算待检测的两个物件所生成球体在世界坐标系中的球心距;及判断模块,用于判断球心距是否大于待检测的两个物件所生成球体半径值的和,若所述球心距不大于待测物件所生成球体半径值的和,则该两个物件发生碰撞;若所述球心距大于待测物件所生成球体半径值的和,则该两个物件没有发生碰撞。
所述物件碰撞检测方法,该方法包括如下步骤:在三维局部坐标系中生成框住待测物件的长方体;根据该长方体生成一个固定在三维局部坐标系上的球体;根据该球体在所述三维局部坐标系上的球心坐标值获取该球体在世界坐标系上的球心坐标值;计算待检测的两个物件所生成球体在世界坐标系中的球心距;判断球心距是否大于待测两个物件所生成球体半径值的和;若所述球心距不大于待测物件所生成球体半径值的和,则该两个物件发生碰撞;及若所述球心距大于待测物件所生成球体半径值的和,则该两个物件没有发生碰撞。
相较于现有技术,所述物件碰撞检测系统及方法,能够有效快速的进行物件碰撞的检测,使得用户看到的画面流畅。
附图说明
图1是本发明物件碰撞检测系统较佳实施例的硬件架构图。
图2是本发明物件碰撞检测系统较佳实施例的计算机的功能模块图。
图3是本发明物件碰撞检测方法较佳实施例的作业流程图。
具体实施方式
如图1所示,是本发明物件碰撞检测系统较佳实施例的硬件架构图。该系统包括计算机1,与该计算机1相连的数据库2。所述计算机1用于检测物件之间的碰撞,所述数据库2用于存储需要检测的物件模型,本实施例中,是以生产线仿真软件中的物件模型为例进行说明物件之间的碰撞检测,该数据库2中存储有该仿真软件中的物件,如:机台、操作机台的操作人员及叉车等。该数据库2中还有多个链表,用于存储待测物件的信息,于本实施例中,所述待测物件是指机台的一部分或者机台本身,操作人员的身体一部分或者操作人员的本身,叉车的一部分或者叉车本身等。所述计算机1还连接有键盘3、鼠标4及显示器5,作为检测物件碰撞的输入设备和输出设备。
如图2所示,是本发明物件碰撞检测系统较佳实施例的计算机1的功能模块图。在物件碰撞检测之前,首先要对用户需要检测的物件在直角坐标系上进行投影,然后用户对该直角坐标系上的投影进行框选。本实施例中,以对物件的俯视面投影到直角坐标系上,并对该投影框选来说明该发明。所述计算机1包括生成模块10、获取模块12、存储模块14、计算模块16及判断模块18。
生成模块10用于在XY直角坐标系上生成用户所框选物件俯视面的矩形框,并在三维局部坐标系中,根据该物件在Z轴的高度将该矩形框沿着Z轴进行延伸,生成框住该待测物件的长方体。
获取模块12用于获取最大范围点和最小范围点的坐标值,该坐标值不一定位于该长方体上。设坐标值表示为(X,Y,Z),其中,最大范围点的(X,Y,Z)值分别为该长方体上所有点坐标值中最大的Xmax、Ymax、Zmax值。同理,最小范围点的(X,Y,Z)值分别为该长方体上所有点坐标值上最小的Xmin、Ymin、Zmin值。
所述生成模块10还用于生成一个球体,该球在三维局部坐标系上的球心坐标值为最大范围点坐标值与最小范围点坐标值和的一半,该球的半径值为最大范围点与最小范围点之间的距离的一半。
存储模块14用于将所述球体在三维局部坐标系上的球心坐标值及半径值保存至数据库2的链表中。每个链表用于存储一个整体物件中所有组成该整体物件的部分物件所生成球体的球心坐标值与半径值,例如:操作机台和操作人员分别被分成很多待检测的物件,该数据库2中有一个链表用于存储所有组成该操作机台的物件生成的球体球心坐标值和半径值,另有一个链表用于存储所有组成操作人员的物件生成的球体球心坐标值和半径值。
所述获取模块12所述获取模块12还用于在链表中获取待检测物件所生成球体的球心坐标值和半径值,并根据球体在三维局部坐标系上的球心坐标值获取该球体在世界坐标系上的球心坐标值,并获取该三维局部坐标系的原点在世界坐标系中的坐标值(X1,Y1,Z1)。三维局部坐标系中的坐标值(X,Y,Z)转换为世界坐标系(X2,Y2,Z2)的坐标值的公式为:X2=X1+X,Y2=Y1+Y,Z2=Z1+Z。
计算模块16用于计算待检测的两个物件所生成球体在世界坐标系中的球心距。
判断模块18用于判断球心距是否大于待测两个物件所生成球体半径值的和。若所述球心距不大于待测物件所生成球体半径值的和,则该两个物件发生碰撞;若所述球心距大于待测物件所生成球体半径值的和,则该两个物件没有发生碰撞。该判断模块18还用于判断所述链表中是否还存在待检测的物件,若存在待检测的物件,则继续检测链表中剩下的物件是否发生碰撞。
如图3所示,是本发明物件碰撞检测方法较佳实施例的作业流程图。在物件碰撞检测之前,首先要对用户需要检测的物件在直角坐标系上进行投影,然后用户对该直角坐标系上的投影进行框选。本实施例中,以对物件的俯视面投影到直角坐标系上,并对该投影框选来说明该发明。
步骤S30,生成模块10在XY直角坐标系上生成用户所框选物件俯视面的矩形框,并在三维局部坐标系中,根据该物件在Z轴的高度将该矩形框沿着Z轴进行延伸,生成框住该待检测物件的长方体。
步骤S32,获取模块12获取最大范围点和最小范围点的坐标值,该坐标值不一定位于该长方体上。设坐标值表示为(X,Y,Z),其中,最大范围点的(X,Y,Z)值分别为该长方体上所有点坐标值中最大的Xmax、Ymax、Zmax值。同理,最小范围点的(X,Y,Z)值分别为该长方体上所有点坐标值上最小的Xmin、Ymin、Zmin值。
步骤S34,所述生成模块10生成一个球体,该球在三维局部坐标系上的球心坐标值为最大范围点坐标值与最小范围点坐标值和的一半,该球体的半径值为最大范围点与最小范围点之间的距离的一半。
步骤S36,存储模块14将所述球体在三维局部坐标系上的球心坐标值及半径值保存至数据库2的链表中。每个链表用于存储一个整体物件中所有组成该整体物件的部分物件所生成球体的球心坐标值与半径值,例如:操作机台和操作人员分别被分成很多待检测的物件,该数据库2中有一个链表用于存储所有组成该操作机台的物件生成的球体球心坐标值和半径值,另有一个链表用于存储所有组成操作人员的物件生成的球体球心坐标值和半径值。
步骤S38,所述获取模块12根据球体在三维局部坐标系上的球心坐标值获取该球体在世界坐标系上的球心坐标值,并获取该三维局部坐标系的原点在世界坐标系中的坐标值(X1,Y1,Z1)。三维局部坐标系中的坐标值(X,Y,Z)转换为世界坐标系(X2,Y2,Z2)的坐标值的公式为:X2=X1+X,Y2=Y1+Y,Z2=Z1+Z。
步骤S40,计算模块16计算待检测的两个物件所生成球体在世界坐标系中的球心距。
步骤S42,判断模块18判断球心距是否大于待测两个物件所生成球体半径值的和。
步骤S44,若所述球心距不大于待测物件所生成球体半径值的和,则该两个物件发生碰撞。
步骤S46,于上述步骤S42中,若所述球心距大于待测物件所生成球体半径值的和,则该两个物件没有发生碰撞。判断模块18判断链表中是否还有待测的物件。若所述链表中还存在待检测的物件,则转至步骤S38;若所述链表中已经不存在待检测的物件,则结束流程。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (8)
1.一种物件碰撞检测系统,包括计算机及与该计算机相连的数据库,该数据库中存储有待测物件,其特征在于,所述计算机包括:
生成模块,用于在XY直角坐标系上生成用户框选待测物体俯视面投影的矩形框,并在三维局部坐标系中根据待测物体在Z轴的高度将该矩形框沿着Z轴进行延伸,生成框住待测物件的长方体,还用于根据该长方体生成一个固定在三维局部坐标系上的球体;
获取模块,用于根据球体在三维局部坐标系上的球心坐标值获取该球体在世界坐标系上的球心坐标值;
计算模块,用于计算待检测的两个物件所生成球体在世界坐标系中的球心距;及
判断模块,用于判断球心距是否大于待检测的两个物件所生成球体半径值的和,若所述球心距不大于待测物件所生成球体半径值的和,则该两个物件发生碰撞;若所述球心距大于待测物件所生成球体半径值的和,则该两个物件没有发生碰撞。
2.如权利要求1所述的物件碰撞检测系统,其特征在于,所述获取模块,还用于在三维局部坐标系上获取最大范围点坐标值和最小范围点坐标值,最大范围点的(X,Y,Z)值分别为该长方体上所有点坐标值中最大的Xmax、Ymax、Zmax值,最小范围点的(X,Y,Z)值分别为该长方体上所有点坐标值上最小的Xmin、Ymin、Zmin值。
3.如权利要求2所述的物件碰撞检测系统,其特征在于,所述球体在三维局部坐标系上的球心坐标值为最大范围点坐标值与最小范围点坐标值和的一半,该球体的半径值为最大范围点与最小范围点之间的距离的一半。
4.如权利要求1所述的物件碰撞检测系统,其特征在于,所述计算机还包括存储模块,用于将球体在三维局部坐标系上的球心坐标值及半径值保存至数据库的链表中,每个链表用于存储一个整体物件中所有组成该整体物件的部分物件所生成球体的球心坐标值与半径值。
5.一种物件碰撞检测方法,其特征在于,该方法包括如下步骤:
在XY直角坐标系上生成用户框选待测物体俯视面投影的矩形框,并在三维局部坐标系中根据待测物体在Z轴的高度将该矩形框沿着Z轴进行延伸,生成框住待测物件的长方体;
根据该长方体生成一个固定在三维局部坐标系上的球体;
根据该球体在所述三维局部坐标系上的球心坐标值获取该球体在世界坐标系上的球心坐标值;
计算待检测的两个物件所生成球体在世界坐标系中的球心距;
判断球心距是否大于待测两个物件所生成球体半径值的和;
若所述球心距不大于待测物件所生成球体半径值的和,则该两个物件发生碰撞;及
若所述球心距大于待测物件所生成球体半径值的和,则该两个物件没有发生碰撞。
6.如权利要求5所述的物件碰撞检测方法,其特征在于,在步骤在三维局部坐标系中生成框住待测物件的长方体之后还包括:在三维局部坐标系上获取最大范围点坐标值和最小范围点坐标值,最大范围点的(X,Y,Z)值分别为该长方体上所有点坐标值中最大的Xmax、Ymax、Zmax值,最小范围点的(X,Y,Z)值分别为该长方体上所有点坐标值上最小的Xmin、Ymin、Zmin值。
7.如权利要求6所述的物件碰撞检测方法,其特征在于,所述球体在三维局部坐标系上的球心坐标值为最大范围点坐标值与最小范围点坐标值和的一半,该球体的半径值为最大范围点与最小范围点之间的距离的一半。
8.如权利要求5所述的物件碰撞检测方法,其特征在于,在步骤根据该长方体生成一个固定在三维局部坐标系上的球体之后还包括:将该球体在三维局部坐标系上的球心坐标值及半径值保存至数据库的链表中,每个链表用于存储一个整体物件中所有组成该整体物件的部分物件所生成球体的球心坐标值与半径值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008103006856A CN101546435B (zh) | 2008-03-24 | 2008-03-24 | 物件碰撞检测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008103006856A CN101546435B (zh) | 2008-03-24 | 2008-03-24 | 物件碰撞检测系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101546435A CN101546435A (zh) | 2009-09-30 |
CN101546435B true CN101546435B (zh) | 2012-03-28 |
Family
ID=41193554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008103006856A Expired - Fee Related CN101546435B (zh) | 2008-03-24 | 2008-03-24 | 物件碰撞检测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101546435B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111437522B (zh) * | 2020-04-24 | 2023-11-21 | 上海联影医疗科技股份有限公司 | 一种防碰撞方法、装置、设备及存储介质 |
CN116090405B (zh) * | 2023-03-23 | 2023-09-12 | 深圳前海硬之城信息技术有限公司 | 三维仿真方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2227106B (en) * | 1988-11-12 | 1993-05-19 | Toyoda Chuo Kenkyusho Kk | Apparatus for detecting the collision of moving objects |
US5347459A (en) * | 1993-03-17 | 1994-09-13 | National Research Council Of Canada | Real time collision detection |
JP2003109038A (ja) * | 2001-09-27 | 2003-04-11 | Namco Ltd | 高速衝突検出装置 |
JP2003132366A (ja) * | 2001-10-24 | 2003-05-09 | Konami Computer Entertainment Osaka:Kk | 3次元モデル変形プログラム、3次元モデル変形方法及びビデオゲーム装置 |
CN101071515A (zh) * | 2007-06-25 | 2007-11-14 | 北京金山软件有限公司 | 一种在服务器端实现三维游戏碰撞检测的方法 |
JP4283685B2 (ja) * | 2004-01-15 | 2009-06-24 | 株式会社スギノマシン | 消雪ノズルの目詰まり除去装置および目詰まり除去システム |
-
2008
- 2008-03-24 CN CN2008103006856A patent/CN101546435B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2227106B (en) * | 1988-11-12 | 1993-05-19 | Toyoda Chuo Kenkyusho Kk | Apparatus for detecting the collision of moving objects |
US5347459A (en) * | 1993-03-17 | 1994-09-13 | National Research Council Of Canada | Real time collision detection |
JP2003109038A (ja) * | 2001-09-27 | 2003-04-11 | Namco Ltd | 高速衝突検出装置 |
JP2003132366A (ja) * | 2001-10-24 | 2003-05-09 | Konami Computer Entertainment Osaka:Kk | 3次元モデル変形プログラム、3次元モデル変形方法及びビデオゲーム装置 |
JP4283685B2 (ja) * | 2004-01-15 | 2009-06-24 | 株式会社スギノマシン | 消雪ノズルの目詰まり除去装置および目詰まり除去システム |
CN101071515A (zh) * | 2007-06-25 | 2007-11-14 | 北京金山软件有限公司 | 一种在服务器端实现三维游戏碰撞检测的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101546435A (zh) | 2009-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101690917B1 (ko) | 가상 시나리오에서 사운드를 시뮬레이션하는 방법 및 장치, 및 단말기 | |
Lai et al. | Collision detection strategies for virtual construction simulation | |
Cha et al. | Combined discrete event and discrete time simulation framework and its application to the block erection process in shipbuilding | |
CN102841835B (zh) | 硬件性能评测的方法及系统 | |
CN105512377A (zh) | 实时虚拟场景中圆柱碰撞体与凸体碰撞探测的方法和系统 | |
CN111078539B (zh) | 一种测试方法、装置、系统、计算机可读存储介质 | |
EP3097684A1 (en) | Dynamic display layout | |
CN101478581A (zh) | 移动终端的显示控制方法及移动终端 | |
WO2021022573A1 (zh) | 振感相似度评价方法、装置及存储介质 | |
CN101546435B (zh) | 物件碰撞检测系统及方法 | |
CN104270437B (zh) | 分布式混合架构的海量数据处理和可视化系统及方法 | |
CN111030837A (zh) | 一种网络环境现状评估方法、装置、电子设备及存储介质 | |
CN109427097A (zh) | 一种基于虚拟现实的吊装仿真方法和系统 | |
CN106874639B (zh) | 恒变幅加载下机械结构的疲劳寿命可靠度评估方法及装置 | |
EP3295431A1 (en) | Method and system for computer graphics rendering | |
AU2021204525B1 (en) | Generating point cloud completion network and processing point cloud data | |
TWI387473B (zh) | 物件碰撞檢測系統及方法 | |
CN102902858A (zh) | 组合电路板测试结果中故障元器件的关联性标注方法 | |
CN103840979B (zh) | 用于碰撞检测的数据处理装置及方法 | |
CN102970515B (zh) | 一种异形拼接的实现方法及设备 | |
CN105378631A (zh) | 用于远程控制的装置、方法和计算机程序 | |
CN111649897A (zh) | 一种调试方法、调试装置及终端设备 | |
CN108874347B (zh) | 定位标识控制方法及系统 | |
CN107930124B (zh) | 娃娃模型之间配合运动的方法、装置、终端设备及存储介质 | |
CN105159665B (zh) | 一种自动绘制空调机组设备监测界面的方法和绘制系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120328 Termination date: 20150324 |
|
EXPY | Termination of patent right or utility model |