CN101546435A - 物件碰撞检测系统及方法 - Google Patents
物件碰撞检测系统及方法 Download PDFInfo
- Publication number
- CN101546435A CN101546435A CN200810300685A CN200810300685A CN101546435A CN 101546435 A CN101546435 A CN 101546435A CN 200810300685 A CN200810300685 A CN 200810300685A CN 200810300685 A CN200810300685 A CN 200810300685A CN 101546435 A CN101546435 A CN 101546435A
- 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.)
- Granted
Links
Images
Landscapes
- Length Measuring Devices With Unspecified Measuring Means (AREA)
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】一种物件碰撞检测系统,包括计算机及与该计算机相连的数据库,该数据库中存储有待测物件,其特征在于,所述计算机包括:生成模块,用于在三维局部坐标系中生成框住待测物件的长方体,还用于根据该长方体生成一个固定在三维局部坐标系上的球体;获取模块,用于根据球体在三维局部坐标系上的球心坐标值获取该球体在世界坐标系上的球心坐标值;计算模块,用于计算待检测的两个物件所生成球体在世界坐标系中的球心距;及判断模块,用于判断球心距是否大于待检测的两个物件所生成球体半径值的和,若所述球心距不大于待测物件所生成球体半径值的和,则该两个物件发生碰撞;若所述球心距大于待测物件所生成球体半径值的和,则该两个物件没有发生碰撞。
- 【权利要求2】如权利要求1所述的物件碰撞检测系统,其特征在于,所述获取模块,还用于在三维局部坐标系上获取最大范围点坐标值和最小范围点坐标值,最大范围点的(X,Y,Z)值分别为该长方体上所有点坐标值中最大的Xmax、Ymax、Zmax值,最小范围点的(X,Y,Z)值分别为该长方体上所有点坐标值上最小的Xmin、Ymin、Zmin值。
- 【权利要求3】如权利要求2所述的物件碰撞检测系统,其特征在于,所述球体在三维局部坐标系上的球心坐标值为最大范围点坐标值与最小范围点坐标值和的一半,该球体的半径值为最大范围点与最小范围点之间的距离的一半。
- 【权利要求4】如权利要求1所述的物件碰撞检测系统,其特征在于,所述计算机还包括存储模块,用于将球体在三维局部坐标系上的球心坐标值及半径值保存至数据库的链表中,每个链表用于存储一个整体物件中所有组成该整体物件的部分物件所生成球体的球心坐标值与半径值。
- 【权利要求5】一种物件碰撞检测方法,其特征在于,该方法包括如下步骤:在三维局部坐标系中生成框住待测物件的长方体;根据该长方体生成一个固定在三维局部坐标系上的球体;根据该球体在所述三维局部坐标系上的球心坐标值获取该球体在世界坐标系上的球心坐标值;计算待检测的两个物件所生成球体在世界坐标系中的球心距;判断球心距是否大于待测两个物件所生成球体半径值的和;若所述球心距不大于待测物件所生成球体半径值的和,则该两个物件发生碰撞;及若所述球心距大于待测物件所生成球体半径值的和,则该两个物件没有发生碰撞。
- 【权利要求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 true CN101546435A (zh) | 2009-09-30 |
CN101546435B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111437522A (zh) * | 2020-04-24 | 2020-07-24 | 上海联影医疗科技有限公司 | 一种防碰撞方法、装置、设备及存储介质 |
CN116090405A (zh) * | 2023-03-23 | 2023-05-09 | 深圳前海硬之城信息技术有限公司 | 三维仿真方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2826138B2 (ja) * | 1988-11-12 | 1998-11-18 | 株式会社豊田中央研究所 | 移動体の干渉チェック装置 |
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 | 高速衝突検出装置 |
JP3625201B2 (ja) * | 2001-10-24 | 2005-03-02 | 株式会社コナミコンピュータエンタテインメントスタジオ | 3次元モデル変形プログラム、3次元モデル変形方法及びビデオゲーム装置 |
JP4283685B2 (ja) * | 2004-01-15 | 2009-06-24 | 株式会社スギノマシン | 消雪ノズルの目詰まり除去装置および目詰まり除去システム |
CN101071515A (zh) * | 2007-06-25 | 2007-11-14 | 北京金山软件有限公司 | 一种在服务器端实现三维游戏碰撞检测的方法 |
-
2008
- 2008-03-24 CN CN2008103006856A patent/CN101546435B/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111437522A (zh) * | 2020-04-24 | 2020-07-24 | 上海联影医疗科技有限公司 | 一种防碰撞方法、装置、设备及存储介质 |
CN111437522B (zh) * | 2020-04-24 | 2023-11-21 | 上海联影医疗科技股份有限公司 | 一种防碰撞方法、装置、设备及存储介质 |
CN116090405A (zh) * | 2023-03-23 | 2023-05-09 | 深圳前海硬之城信息技术有限公司 | 三维仿真方法、装置、设备及存储介质 |
CN116090405B (zh) * | 2023-03-23 | 2023-09-12 | 深圳前海硬之城信息技术有限公司 | 三维仿真方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101546435B (zh) | 2012-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cha et al. | Combined discrete event and discrete time simulation framework and its application to the block erection process in shipbuilding | |
Ha et al. | Human motion reconstruction from force sensors | |
CN101458825B (zh) | 显卡中实现3d骨骼动画模型的碰撞检测方法及显卡、系统 | |
CN106182087B (zh) | 基于六维力传感器的碰撞位置感知方法 | |
CN107168539A (zh) | 一种设备唤醒方法、装置及电子设备 | |
CN104461690B (zh) | 一种电力设备运行仿真系统 | |
CN101478581A (zh) | 移动终端的显示控制方法及移动终端 | |
CN113426117A (zh) | 虚拟相机拍摄参数获取方法、装置、电子设备和存储介质 | |
CN104950140B (zh) | 运动检测装置、移动终端装置以及运动检测方法 | |
CN101546435B (zh) | 物件碰撞检测系统及方法 | |
CN108537878B (zh) | 环境模型生成方法、装置、存储介质及电子设备 | |
EP3295431A1 (en) | Method and system for computer graphics rendering | |
TWI387473B (zh) | 物件碰撞檢測系統及方法 | |
CN103840979B (zh) | 用于碰撞检测的数据处理装置及方法 | |
CN102902858A (zh) | 组合电路板测试结果中故障元器件的关联性标注方法 | |
CN116061005A (zh) | 一种工件加工数据的采集方法、装置及电子设备 | |
Dong et al. | Research on overhead crane training system and its construction based on virtual reality | |
CN105378631A (zh) | 用于远程控制的装置、方法和计算机程序 | |
CN115645921A (zh) | 游戏指示器的生成方法、装置、计算机设备及存储介质 | |
CN113345059A (zh) | 动画生成方法、装置、存储介质及电子设备 | |
CN111649897A (zh) | 一种调试方法、调试装置及终端设备 | |
TWI797761B (zh) | 虛擬實境的顯示方法 | |
CN114612620B (zh) | 一种基于三维引擎构建可线性形变链条模型的方法 | |
CN202822738U (zh) | 动作感测装置 | |
CN117079169B (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 |