CN103679751B - 一种基于量子计算的碰撞检测方法 - Google Patents
一种基于量子计算的碰撞检测方法 Download PDFInfo
- Publication number
- CN103679751B CN103679751B CN201310636229.XA CN201310636229A CN103679751B CN 103679751 B CN103679751 B CN 103679751B CN 201310636229 A CN201310636229 A CN 201310636229A CN 103679751 B CN103679751 B CN 103679751B
- Authority
- CN
- China
- Prior art keywords
- quantum
- alpha
- probability
- particle
- prime
- 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
Links
Landscapes
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于量子计算的碰撞检测方法,属于计算机图形学技术领域;包括以下步骤:分别建立两个物体的凸包,同时构建形成凸包的参数集;用随机惯性权重改变粒子的惯性权重;用量子旋转门和量子 门改变量子位概率幅,更新量子状态;根据变异概率,用量子Hadamard门兑换两个概率幅,实现量子变异;跟踪粒子运动轨迹,输出最小距离差;判断两个物体是否发生碰撞;其有益效果是:使用自适应变异惯性权重增强效果,充分考虑了物体运动的复杂性,从而提高了检测精度,用随机惯性权重改变粒子的惯性权重、用量子旋转门和量子门改变量子位概率幅和用量子Hadamard门兑换两个概率幅,三者结合后显著提高了碰撞检测的效率。
Description
技术领域 本发明涉及一种基于量子计算的碰撞检测方法,属于计算机图形学技术领域。
背景技术 近年来,随着计算机图形学(Computer Graphics,CG)产业的飞速发展,碰撞检测技术在从二维层面向三维扩展中日趋成熟,碰撞检测已成为目前广泛应用的能够真实检测运动物体运动相交状态的技术。碰撞检测是检测虚拟空间运动物体相交状况的技术,其基于计算机图形学原理,通过三维建模采集运动物体的图像,之后对该图像的数据进行处理,以判断运动物体的空间相交状况。碰撞检测广泛应用于虚拟现实、机器人运动规划、影视制作、游戏娱乐和计算机动画等领域;传统的碰撞检测方法是采用外形近似于运动物体的包围盒代替物体来判断物体的相交状态,该方法简单,较容易忽略复杂物体的细节,使检测精度低。
发明内容 针对上述技术问题, 本发明提供了一种基于量子计算的碰撞检测方法,以解决现有技术提供的碰撞检测方法因物体复杂度增加导致碰撞检测精度和效率逐渐降低的问题。
为实现上述目的,本发明所采用的技术解决方案是:一种基于量子计算的碰撞检测方法,所述方法包括以下步骤:
1)采集运动物体在当前帧的图像数据,分别建立两个物体的凸包,同时构建形成凸包的参数集;
2)把凸包上的顶点看成是量子粒子群中的粒子,用随机惯性权重改变粒子的惯性权重,扩大搜索空间;
3)用量子旋转门和量子 门改变量子位概率幅,更新量子状态;
4)根据变异概率,用量子Hadamard门兑换两个概率幅,实现量子变异;
5)跟踪粒子运动轨迹,根据参数集计算两个凸包上的距离差,输出最小距离差;
6)根据距离差与设定值的关系,判断两个物体是否发生碰撞。
所述采集运动物体在当前帧的图像数据,分别建立两个物体的凸包,同时构建形成凸包的参数集包括以下步骤:
记录当前帧中所述被检测物体的运动图像数据,形成物体的顶点集;取图像数据边缘的四条边上的四个端点,获取顶点集的包围盒;删除位于该四边形内部的顶点,计算四条边外部距离最远的顶点,若所述点都是垂直于边的端点,将其加入凸包中。
其中,边的两个顶点和一个新的凸顶点形成三角形,删除三角形内部的点;对于凸包上的新边,递归地重复前述的同一个过程,直到没有顶点位于边外时终止;建立凸包的步骤为:
其中,为实数,为n维空间;当且时,为点的凸组合。
构建凸包时形成的参数集的步骤为:
其中,为实数,,为n维空间;当且时,中任意有限个点的所有凸组合成为的凸包,记为,即由所述物体形成两个凸包的实数集。的点集为,即两个凸包所处空间位置构成的点集,其中表示所有正整数集合。
进一步地,用随机惯性权重改变粒子的惯性权重,扩大搜索空间;自适应权重的更新步骤为:
其中是最大惯性权重,是最小惯性权重,是最小适应度值,是当前适应度值,是平均适应度值,为自适应权重。
用量子旋转门和量子 门改变量子位概率幅,更新量子状态的具体步骤为:
1)若 且 ,则:
2)若且,则
3)否则
其中;,,为时刻的量子概率幅,为更新后的量子概率幅,,表示所有正整数集合。为限定的概率值,,取。 为量子位概率幅。为 时刻的量子相位,为下一时刻时刻的量子相位增量。
根据变异概率,用量子Hadamard门兑换两个概率幅的步骤为:
其中 ;,, ,表示所有正整数集合。
为量子Hadamard门, 为量子位概率幅,为变异后的量子概率幅。
根据参数集计算所述凸包间的距离差的具体步骤为:
步骤1)随机初始化粒子群;
步骤2)变换解空间,计算粒子的适应度;
其中为点与点之间的距离,为凸包与之间的最短距离,为,之间的最短距离。为 上的任意一点,为上的任意一点。
比较粒子目前的位置与当前最优位置,若粒子目前的位置比当前的最优位置好,则用目前的位置替换当前的最优位置;若目前全局最优位置比到目前为止搜索到的全局最优位置好,则用目前全局最优位置替换全局最优位置;
步骤3)更新粒子状态,用随机惯性权重更新量子惯性权重,用量子旋转门和更新量子位概率幅;
步骤4)根据变异概率,对粒子用量子Hadamard门实现变异操作;
步骤5)如果适应度值小于或等于设定值,则输出全局最优值,结束程序,否则返回步骤2循环计算,直到达到最大迭代次数或是满足收敛条件为止。
更进一步地,根据距离差与设定值的关系,判断两个物体是否发生碰撞的具体步骤为:
若距离差大于设定值,则两个物体未碰撞;若距离差小于或等于设定值,则两个物体发生碰撞。
一种基于量子计算的碰撞检测方法,其有益效果是:
1 )使用自适应变异惯性权重增强效果;2 )将用随机惯性权重改变粒子的惯性权重、用量子旋转门和量子门改变量子位概率幅和用量子Hadamard门兑换两个概率幅三者结合;应用本发明实施例提供的碰撞检测方法对复杂物体进行检测时,同时改变粒子运动的速度和方向,而不是使其速度与方向分别改变,充分考虑了物体运动的复杂性,从而提高了检测精度;本发明对比已有技术具有以下显著优点:用随机惯性权重改变粒子的惯性权重、用量子旋转门和量子门改变量子位概率幅和用量子Hadamard门兑换两个概率幅,三者结合后显著提高了碰撞检测的效率。
附图说明
图1是本发明实施例提供的碰撞检测方法的流程图;
图2是采用本发明实施例1提供的碰撞检测方法与现有碰撞检测方法的效果对比图;
图3是采用本发明实施例2提供的碰撞检测方法与现有碰撞检测方法的效果对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的基本思想是:采集运动物体的顶点在当前帧的位置数据,分别建立被测物体的凸包,同时构建形成凸包的参数集。用基于量子计算的方法计算两个凸包间的距离差来判断两个物体是否碰撞。
图1示出了本发明实施例提供的碰撞检测方法的流程。
实施例1
在步骤S101中,采集运动物体的顶点在当前帧的位置数据,分别建立两个物体的凸包,同时构建形成凸包的参数集。
其中的运动图像数据可以是多个标记点在运动图像上的位置,具体可以是物体顶点的 、 、轴的坐标。记录当前帧中所述凸包顶点的运动图像数据。取图像数据边缘的四条边上的四个端点,获取顶点集的包围盒。删除位于该四边形内部的顶点,计算四条边外部距离最远的顶点,若所述点都是垂直于边的端点,将其加入凸包中,其中边的两个顶点和这一个新的凸顶点形成了一个三角形。删除三角形内部的点。对于凸包上的新边,递归地重复前述的同一个过程,直到没有顶点位于边外时终止,形成凸包。该参数集包括:由两个凸包所处空间位置构成的点集、以及由所述物体形成两个凸包的实数集。
在步骤S102中,把凸包上的顶点看成是量子粒子群中的粒子,用随机惯性权重改变粒子的惯性权重,以扩大粒子的搜索空间。用量子旋转门和量子门改变量子位概率幅。用量子Hadamard门兑换两个概率幅,使量子位能同时改变粒子运动的速度和方向。跟踪粒子运动轨迹,以寻找最快速使距离差取得最小值的粒子;假设量子幅角为,经过量子旋转门变化后,量子幅相位为。有时量子位概率幅会限定在一个小范围内,量子门改变量子位概率幅的范围。令变异概率为,为每个粒子均设定一个随机数,,若,则随机选择该粒子上个量子位,用量子Hadamard门变换两个概率幅,实际上是对量子位幅角的一种旋转,使量子位绕轴和轴分别旋转,增加位幅角,增加了种群多样性。如设某一量子位幅角为,则变异后的幅角为,即下一时刻的量子位幅角与前一时刻量子位幅角有关,减少冗余计算。假定有两多面体 和,且和位于同一参考坐标系(否则可将转换至的空间内),则两凸多面体之间的的距离为:
其中凸多面体中任意一点,凸多面体中任意一点,为形成凸体的系数,为形成凸体的系数, ;,,,表示所有正整数集合。为和之间的距离。
在步骤S103中,根据距离差与设定值的关系,判断两个物体是否发生碰撞,
若距离差大于设定值,则两个物体未碰撞。若距离差小于或等于设定值,则两个物体发生碰撞。即寻找参数,,使取最小值。若,则凸多面体和发生碰撞,否则凸多面体分离。
实施例2
在步骤S101中,采集运动物体的顶点在当前帧的位置数据,分别建立两个物体的凸包,同时构建形成凸包的参数集。
其中的运动图像数据可以是多个标记点在运动图像上的位置,具体可以是物体顶点的 、 、轴的坐标。记录当前帧中所述凸包顶点的运动图像数据。取图像数据边缘的四条边上的四个端点,获取顶点集的包围盒。删除位于该四边形内部的顶点,计算四条边外部距离最远的顶点,若所述点都是垂直于边的端点,将其加入凸包中,其中边的两个顶点和这一个新的凸顶点形成了一个三角形。删除三角形内部的点。对于凸包上的新边,递归地重复前述的同一个过程,直到没有顶点位于边外时终止,形成凸包。该参数集包括:由两个凸包所处空间位置构成的点集、以及由所述物体形成两个凸包的实数集。
在步骤S102中,把凸包上的顶点看成是量子粒子群中的粒子,用随机惯性权重改变粒子的惯性权重,以扩大粒子的搜索空间。用量子旋转门改变量子位概率幅。用量子Hadamard门兑换两个概率幅,使粒子运动的速度和方向能同时改变。跟踪粒子运动轨迹,以寻找最快速使距离差取得最小值的粒子;假设量子幅角为,经过量子旋转门变化后,量子幅相位为,从而改变量子概率幅。令变异概率为,为每个粒子均设定一个随机数,,若,则随机选择该粒子上个量子位,用量子Hadamard门变换两个概率幅,实际上是对量子位幅角的一种旋转,使量子位绕轴和轴分别旋转,增加位幅角,增加了种群多样性。如设某一量子位幅角为,则变异后的幅角为,即下一时刻的量子位幅角与前一时刻量子位幅角有关,减少冗余计算。假定有两多面体 和,且和位于同一参考坐标系(否则可将转换至的空间内),则两凸多面体之间的的距离为:
其中凸多面体中任意一点,凸多面体中任意一点,为形成凸体的系数,为形成凸体的系数, ;,,,表示所有正整数集合。为 和之间的距离。
在步骤S103中,根据距离差与设定值的关系,判断两个物体是否发生碰撞,
若距离差大于设定值,则两个物体未碰撞。若距离差小于或等于设定值,则两个物体发生碰撞。即寻找参数,,使取最小值。若,设置则凸多面体和发生碰撞,否则凸多面体分离。
图2示采用本发明实施例1提供的碰撞检测方法与现有碰撞检测方法的效果对比图;图3示采用本发明实施例2提供的碰撞检测方法与现有碰撞检测方法的效果对比图;图示用在相同的最大迭代次数下对比两种方法计算的距离差值(单位为毫米)方法显示本发明实施例提供的碰撞检测方法和现有碰撞检测方法的效果对比。图示中叠加显示了每次迭代计算的距离差。星型线条为现有碰撞检测方法产生的实验结果,直线条为本发明实施例提供的碰撞检测方法产生的实验结果。为明确显示算法效果,将现有碰撞检测的效果值都增加了0.1毫米。
应用本发明实施例提供的碰撞检测方法对复杂物体进行检测时,用物体上的点作为基本图元进行计算,充分考虑了物体运动的复杂性。在寻找最小距离差的计算过程中,同时改变了粒子运动的速度和方向,而不是分步改变其运动速度与方向,从而提高了检测速度。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (4)
1.一种基于量子计算的碰撞检测方法,其特征是所述方法包括以下步骤:
1)采集运动物体在当前帧的图像数据,分别建立两个物体的凸包,同时构建形成凸包的参数集,记录当前帧中被检测物体的运动图像数据,形成物体的顶点集;取图像数据边缘的四条边上的四个端点,获取顶点集的包围盒;删除位于四边形内部的顶点,计算四条边外部距离最远的顶点,若所述顶点都是垂直于边的端点,将其加入凸包中;
构建所述凸包时形成的参数集的步骤为:
P(A)={x1,x2,x3,...,xn,n∈N+}
其中x1,x2,...xn∈Rn,λi为实数,A∈Rn,Rn为n维空间;当λ1+λ2+...+λn=1且λ1,λ2,...,λn≥0时,A中任意有限个点x1,x2,...xn的所有凸组合成为A的凸包,记为H(A),即由所述物体形成两个凸包的实数集,A的点集为P(A),即两个凸包所处空间位置构成的点集,其中N+表示所有正整数集合;
2)把凸包上的顶点看成是量子粒子群中的粒子,用随机惯性权重改变粒子的惯性权重,扩大搜索空间;
所述权重的更新步骤为:
其中ωmax是最大惯性权重,ωmin是最小惯性权重,Fmin是最小适应度值,Fi是当前适应度值,Favg是平均适应度值,ω为自适应权重;
3)用量子旋转门和改进的量子旋转门改变量子位概率幅,更新量子状态;
更新所述量子状态的具体步骤为:
31)若|p′|2≤ε且|q′|2≥1-ε,则:
32)若|p′|2≥1-ε且|q′|2≤ε,则
33)否则
其中i=1,2,...,m;j=1,2,...,n,m∈N+,[p′ q′]为t时刻的量子概率幅,[p″ q″]为更新后的量子概率幅,n∈N+,N+表示所有正整数集合ε为限定的概率值,0≤ε≤1,取ε=0.01;[cos(αij(t)) sin(αij(t))]为量子位概率幅;αij(t)为t时刻的量子相位,Δαij(t+1)为下一时刻t+1时刻的量子相位增量;
4)根据变异概率,用量子Hadamard门兑换两个概率幅,实现量子变异;
5)跟踪粒子运动轨迹,根据参数集计算两个凸包上的距离差,输出最小距离差;
6)根据距离差与设定值的关系,判断两个物体是否发生碰撞。
2.根据权利要求1所述的一种基于量子计算的碰撞检测方法,其特征是用量子Hadamard门兑换两个概率幅的步骤为:
其中i=1,2,...,m;j=1,2,...,n,m∈N+,n∈N+,N+表示所有正整数集合;
为量子Hadamard门,[cos(αij(t)) sin(αij(t))]为量子位概率幅,[cos(4/π+αij(t)) sin(4/π+αij(t))]为变异后的量子概率幅。
3.根据权利要求1所述的一种基于量子计算的碰撞检测方法,其特征是根据参数集计算所述凸包间的距离差的具体步骤为:
步骤1)随机初始化粒子群;
步骤2)变换解空间,计算粒子的适应度;
distance(A,B)=min{||a-b||:a∈A,b∈B}
其中||a-b||为点a与点b之间的距离,distance(A,B)为凸包A与B之间的最短距离,min{||a-b||:a∈A,b∈B}为A,B之间的最短距离,a为A上的任意一点,b为B上的任意一点;
比较粒子目前的位置与当前最优位置,若粒子目前的位置比当前的最优位置好,则用目前的位置替换当前的最优位置;若目前全局最优位置比到目前为止搜索到的全局最优位置好,则用目前全局最优位置替换全局最优位置;
步骤3)更新粒子状态,用随机惯性权重更新量子惯性权重,用量子旋转门和更新量子位概率幅;
步骤4)根据变异概率,对粒子用量子Hadamard门实现变异操作;
步骤5)如果适应度值小于或等于设定值,则输出全局最优值,结束程序,否则返回步骤2循环计算,直到达到最大迭代次数或是满足收敛条件为止。
4.根据权利要求1所述的一种基于量子计算的碰撞检测方法,其特征是根据所述距离差与设定值的关系,判断两个物体是否发生碰撞的具体步骤为:若距离差大于设定值,则两个物体未碰撞;若距离差小于或等于设定值,则两个物体发生碰撞。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310636229.XA CN103679751B (zh) | 2013-12-03 | 2013-12-03 | 一种基于量子计算的碰撞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310636229.XA CN103679751B (zh) | 2013-12-03 | 2013-12-03 | 一种基于量子计算的碰撞检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103679751A CN103679751A (zh) | 2014-03-26 |
CN103679751B true CN103679751B (zh) | 2016-08-17 |
Family
ID=50317201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310636229.XA Active CN103679751B (zh) | 2013-12-03 | 2013-12-03 | 一种基于量子计算的碰撞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103679751B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851110A (zh) * | 2015-04-21 | 2015-08-19 | 南京邮电大学 | 基于量子粒子群优化的视觉跟踪方法 |
CN110162536B (zh) * | 2019-04-10 | 2021-07-16 | 深圳大学 | 一种量子搜索方法、系统、电子装置及存储介质 |
CN111467796B (zh) * | 2020-04-02 | 2023-05-02 | 北京代码乾坤科技有限公司 | 分布式物理结算方法和装置 |
CN114254546B (zh) * | 2022-02-11 | 2023-04-18 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种稀薄气体粒子碰撞模拟计算方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999661A (zh) * | 2012-11-16 | 2013-03-27 | 上海电机学院 | 基于粒子群优化的并行碰撞检测系统及方法 |
-
2013
- 2013-12-03 CN CN201310636229.XA patent/CN103679751B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999661A (zh) * | 2012-11-16 | 2013-03-27 | 上海电机学院 | 基于粒子群优化的并行碰撞检测系统及方法 |
Non-Patent Citations (4)
Title |
---|
Research on Collision Detection Algorithm Based on Particle Swarm Optimization;Wei Zhao等;《Springer Berlin Heidelberg》;20101231;602-609页 * |
具有自适应随机惯性权重的PSO算法;延丽平等;《计算机工程与设计》;20061231;第27卷(第24期);参见第4678页 * |
基于非线性规划的凸多面体间碰撞检测算法;赵伟等;《吉林大学学报 (工学版)》;20080531;第38卷(第3期);参见第676-677页 * |
求解连续空间优化问题的量子粒子群算法;李士勇等;《量子电子学报》;20070930;第24卷(第5期);参见第569-572页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103679751A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Szeliski et al. | Surface modeling with oriented particle systems | |
CN103679751B (zh) | 一种基于量子计算的碰撞检测方法 | |
CN104408774B (zh) | 一种基于gpu加速的实体面片模型间碰撞检测方法 | |
CN102609992A (zh) | 基于三角网格变形体的自碰撞检测方法 | |
CN103679271B (zh) | 基于Bloch球面坐标及量子计算的碰撞检测方法 | |
CN106934192A (zh) | 一种参数优化的浅水方程模型水体建模方法 | |
Wang et al. | Real-time snowing simulation | |
CN104778737B (zh) | 基于gpu的大规模落叶实时渲染方法 | |
Hermann et al. | Ray-traced collision detection for deformable bodies | |
Nuić et al. | Algorithms for procedural generation and display of trees | |
CN101889753B (zh) | 非刚性肢体手工围度测量的交互式变形与测量仿真方法 | |
Im et al. | Visual simulation of rapidly freezing water based on crystallization | |
CN112991539B (zh) | 一种基于离散元的爆堆及块度分布的三维模拟方法 | |
Kim et al. | Efficient collision detection among moving spheres with unknown trajectories | |
CN107545596A (zh) | 一种点云模型最优切割平面的提取方法 | |
Kulkarni et al. | Development of a parallel lagrangian particle tracking code for 3d multi-block curvilinear grids | |
Ding | Research on collision detection algorithm based on combined bounding box | |
Oh et al. | Practical simulation of hierarchical brittle fracture | |
US8170813B2 (en) | Determining effects of turbine blades on fluid motion | |
CN104616337A (zh) | 一种基于纵向切分的风吹无叶树的摇曳模拟方法 | |
Xu et al. | A fast sweeping method for computing geodesics on triangular manifolds | |
Sulaiman et al. | Bounding-volume hierarchies technique for detecting object interference in urban environment simulation | |
Hinks et al. | Wind-driven snow buildup using a level set approach | |
Wang et al. | A method for 3D rock fracturing simulation based Havok | |
Waszak | Limbless movement simulation with a particle‐based system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |