复合圆锥体的碰撞检测
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
碰撞检测问题是计算机仿真、CAD、机器人中的一个基本问题,主要用于提高虚拟场景的真实感或进行机器人的路径规划等。不同的碰撞检测基于不同的应用,因此提供的信息也不同。有的应用需要碰撞检测算法给出两物体沿各自运动路径运动过程中是否发生碰撞,有的应用则需要碰撞检测算法不仅给出两物体运动过程中是否碰撞,还需要提供距离信息,即两物体发生碰撞时它们之间的最短穿刺距离,或者两个在运动路径上没有碰撞的物体,它们之间的最短分离距离。
     目前已有很多种碰撞检测方法,但主要分为两大类:一类是离散的碰撞检测,如基于计算几何的方法、基于分离平面的方法、基于图形硬件的方法等;一类是连续碰撞检测,如扫描卷方法、基于对偶和Minkowski和的方法、代数方法等。离散的碰撞检测方法是对两运动物体在时间轴上采样,在每个采样时刻判断两静态物体是否碰撞。在离散的碰撞检测方法中,如果物体运动速度很快或者物体很小,有可能会检测不到取样时间间隔之内发生的碰撞;缩短采样的时间间隔可以提高精度,但是会降低效率。连续碰撞检测的方法对物体的运动过程进行建模,构造出一条连续的路径,基于路径判断物体间的碰撞情况。本文提出了两个算法,一个是研究利用代数方法进行连续的碰撞检测,对两个运动的复合圆锥体进行碰撞检测,另外一个是用几何方法计算两个运动的复合圆锥体的最近距离并进行碰撞检测。
     代数方法的求解过程是把两个物体静止时的碰撞条件表达成一个代数条件,然后通过对物体的运动进行建模,将物体的运动表示成关于时间的函数,根据静止时碰撞的代数条件和运动函数将两个运动物体的碰撞条件表示成关于时间的代数条件,通过求解这个代数条件得到两个运动物体的碰撞时间。
     代数法可以给出碰撞点的位置信息和发生碰撞的时间等,但是当两物体不发生碰撞时无法给出最近距离信息,也就是在这一段路径下两物体何时距离最近。计算两个物体之间的最近距离在很多领域里有重要的应用,如机器人技术,CAD/CAM,计算机图形学等。在机器人路径规划中,计算相互作用力和补偿函数都需要距离信息。在计算机图形学中,距离信息对于碰撞检测和动态仿真也是非常重要的。已经有很多方法来计算两个多面体之间的距离,对于一般形状的物体,这些方法是用多个多面体来近似模拟,多面体数量很多时就需要很多存储空间,而且难以满足实时的要求。有一些方法是直接考虑两个曲面是否相交,如果相交,则它们之间的距离为零。也有文章直接计算曲面的最近距离[2][3],他们利用了这样一个几何性质:两个曲面上距离最近的两个点,它们的法线方向互相平行,这可以称为几何方法,这些方法最后都需要解一个高次方程或方程组,因而只能求静止的两个曲面的距离,对于运动情况则采用采样的方法,这可能会引起误差。在这篇文章中我们提出了一种用几何的方法计算两个运动的复合圆锥体的最近距离的方法,把最近距离看作随时间变化的连续函数,当圆锥体运动的路径已知时,该方法不仅可以计算每个时刻两圆锥体的距离,还可以计算出它们在整个运动过程中的最近距离。
     本文主要研究内容有:利用有理运动表示物体在三维空间中的运动;通过对控制点处的动力学镜像进行插值计算得到物体的运动方程:提出两个复合圆锥体在有理运动下的碰撞条件:提出直接利用碰撞的代数条件进行碰撞检测的算法并对求出的交点进行可用性检验:利用多项式的Bemstein形式进行求解;利用距离公式将两个复合圆锥体在三维空间的距离转化成3个多项式距离函数,计算这3个多项式函数的最小值,得到发生碰撞的情况中,两个运动复合圆锥体的最近穿刺距离和未发生碰撞情况中,两物体在运动过程中的最近分离距离。
Collision detection problem is a basic problem in computer simulation, CAD; robotics .It is mainly used to enhance the reality of virtual scene or applied for robot Path planning. Collision Detection algorithms are different for different applications, providing different information. Some applications require collision detection algorithm to give information of whether the collision occurred along their respective moving course of these two objects. Other applications require collision detection algorithm not only to give whether the collision occurred, but also to provide distance information: the shortest puncture distance between these two objects when there is a collision along their moving course and the minimum separation distance between these two objects when there is no collision.
     Currently, there are many collision detection methods. Usually, they are divided into two major categories: one is discrete collision detection, like algorithms based on computational geometry, based on separation plane, based on graphics hardware etc.; the other is continuous collision detection, such as swept volume algorithm based on duality and Minkowski Sum, and algebraic methods. Discrete Collision Detection Methods of two moving objects use time sampling. In each sampling time we judge whether the two static objects collide. In this kind of method, if the speed of moving objects is very high, or objects are very small, collision during inter zone of two sampling time may be missed. We can improve accuracy through shortening the time sampling interval, but this will reduce efficiency. Continuous Collision Detection methods constructed a continuous path. Based on the path between objects we judge whether these two objects collision. We studies continuous collision detection using algebraic methods.There are two algorithms in this article: one is collision detection of two moving composite cone using algebraic method, another is computing minimum distance of two moving composite cones.
     In algebraic method a collision condition using algebraic expression of two stationary objects is proposed, and then the movement of objects modeled as a function of time. Based on these former two factors, collision condition between two moving objects is proposed.
     Algebraic method can give information about collision position and collision time,but when the two object don't collide with each other,this method can't return the minimum distance and the time when they are closest.Computing minimum distance of two object is important for many applications,such as robotics, CAD/CAM, computer graphics.In robotic path design,distance information is need in force computing and compensate function.Distance information is important for collision detection and computer simulation. There are many algorithm to compute the distance of polyhedra,to a object with free surface we can also use this method using polyhedra simulate the object,but when the number of polyhedra using to simulating is large,it is difficult to use for realtime application.There are also some method direct detect two surface is collide or not,if so,the distance if zero.There are also some method computing the distance between surfaces,these method use such a geometry character:the direction of nomor on the closest point on two surface are colliner.These method can called geometry method,they all need to solve a equation or equations with a high degree.so they only suit to immobile objects.To moving object a sampling is needed,and this could be all right.This article we propose a method computing minimum distance of two moving compesite cone using algebraic method,we see the distance as a function of time,when the path of cone is determined,this method can return the minimum distance and the time when they are closest.
     Contents of this paper: use Rational movement as motion of objects in three dimensional space; calculated equations of motion through interpolation of the dynamic image control points of motion trajectory; propose collision detection of two composite cone under rational motion; propose collision detection algorithm of two moving composite cone using direct computation of curves; Bernstein polynomial form of the solution; distance formula is used in collision detection between two composite cone, which is formulated into three polynomials; Bernstein polynomial form of the solution;compute distance information: the shortest puncture distance between these two objects when there is a collision along their moving course and the minimum separation distance between these two objects when there is no collision.
引文
[1]W.Wang,J.Wang and M-S.Kim,An algebraic condition for the separation of two ellipsoids,Computer Aided Geometric Design 18(2001)(6),pp.531-539
    [2]Ku-Jin Kim,Minimum distance between a canal surface and a simple surface,Computer Aided Design,Volume 35,Issue 10,September 2003,Pages 871-879
    [3]Xiao-Diao Chen,Jun-Hai Yong,Guo-Qin Zheng,Jean-Claude Paul and Jia-Guang Sun,Computing minimum distance between two implicit algebraic surfaces,Computer Aided Design,Volume 38,Issue 10,October 2006,Pages 1053-1061
    [4]Shoemake,K.Animating Rotation with Quaternion Curves.Computer Graphics 19,245-254,1985
    [5]Bhatia,R.,1997.Matrix Analysis,Graduate Textbook of Mathematics,Vol.169.Springer,New York.
    [6]Bromwich,T.,1906.Quadratic Forms and Their Classification by Means of Invariant-factors,
    [7]Cambridge Tracts in Mathematics and Mathematical Physics,Vol.3.Dickson,L.,1914.Elementary Theory of Equations.Wiley,New York.
    [8]W.Wang,J.Wang,and M.-S.Kim,"An algebraic condition for the separation of two ellipsoids," Comput.Aided Geom D.,vol.18,pp.531-539,2001.
    [9]Farouki,R.,Neff,C.,O'Connor,M.,1989.Automatic parsing of degenerate quadric-surface intersections.ACM Trans.on Graphics 8(3),174-203.
    [10]Lin,X.,Ng,T.,1995.Contact detection algorithms for three-dimensional ellipsoids in discrete element modeling.International Journal for Numerical and Analytical Methods in Geomechanics 19,653-659.
    [11]Levin,J.,1979.Mathematical models for determining the intersections of quadric surfaces.Computer Graphics and Image Processing 11,73-87.
    [12]Perram,J.,Wertheim,M.S.,1985.Statistical mechanics of hard ellipsoids.I.Overlap algorithm and the contact function.J.Comput.Phys.58,409-416.
    [13]Perram,J.,Rasmussen,J.,Prastaard,E.,Lebowitz,J.,1996.Ellipsoids contact potential:Theory and relation to overlap potentials.Phys.Rev.E 54(6),6565-6572.
    [14]Sommerville,D.,1947.Analytical Geometry of Three Dimensions.Cambridge University Press.
    [15]Strang,G.,1988.Linear Algebra and its Applications,3rd edn.
    [16]Harcourt Brace Jovanovich,Forth Worth.Wilf,I.,Manor,Y.,1993.Quadric-surface intersection curves:Shape and structure.Computer-Aided Design 25(10),633-643.
    [17]K.-J.Kim,Minimum distance between a canal surface and a simple surface,Computer-Aided Design 35(2003)(10),pp.871-879
    [18]T.J.I'A.Bromwich,Quadratic Forms and Their Classification by Means of Invariant-Factors.New York:Hafner Publishing Co.,1906.
    [19]R.Bhatia,Matrix Analysis,Graduate Textbook of Mathematics,Vol.169.New York:Springer,1997.
    [20]S.Cameron,"Collision Detection by Four-Dimensional Intersection Testing," IEEE Trans.Robot.Automat.,vol.6,no.3,pp.291-302,1990.
    [21]Y.K.Choi,W.Wang and M.-S.Kim,"Exact Collision Detection of Two Moving Ellipsoids under Rational Motions," in Proc.IEEE Int.Conf Robotics and Automation,2003,pp.349-354.
    [22]Lennerz C,Schomer E.Efficient distance computation for quadratic curves and surfaces.In:Proceeding of geometric modeling and processing.2002.p.60-9.
    [23]L.Dickson,Elementary Theory of Equations.New York:Wiley,1914.
    [24]G.Elber and M.-S.Kim,"Geometric constraint solver using multivariate rational spline functions," in Proc.of the 6th ACM Symposium on Solid Modeling and Applications,Ann Arbor,Michigan,USA,June 4-8,2001,pp.1-10.
    [25]R.T.Farouki and V.T.Rajan,"On the numerical condition of polynomials in Bernstein form," Comput.Aided Geom.D.,vol.4,pp.191-216,1987.
    [26]R.T.Farouki,"On the stability of transformations between power and Bernstein polynomial forms," Comput.Aided Geom.D.,vol.8,pp.29-36,1991.
    [27]T.Horsch and B.J"uttler,"Cartesian spline interpolation for industrial robots,"Comput.Aided Design,vol.30,no.3,pp.217-224,1998.
    [28]P.Jim'enez,F.Thomas,and C.Torras,"3D Collision Detection:A Survey," Comput.Graph.,vol.25,no.2,pp.269-285,2001.
    [29]B.Juttler and M.G.Wagner,"Computer-aided design with spatial rational B-spline motions," ASME Journal of Mech.Design,vol.116,1996,pp.193-201.
    [30]B.Juttler and M.G Wagner,"Kinematics and Animation," in G Farin,J.Hoschek,and M.-S.Kim,editors,Handbook of Computer Aided Geometric Design.North-Holland,2002,pp.723-748.
    [31]H.Levy,Projective and Related Geometries.New York:Macmillan,1964.
    [32]H.M.Moiler,"Counting zeros of polynomials by their Bezier ordinates,"Ergebnisbericht,Nr.251,Universit at Dortmund,2004.
    [33]S.Ehmann and M Lin,Accurate and Fast Proximity Queries Between Polyhedra Using Convex Surface Decomposition,Proc.of Eurographics (Computer Graphics Forum),2001.
    [34]F.P.Preparata and M.I.Shamos,Computational Geometry:An Introduction.New York:Springer-Verlag,1985.
    [35]O.R oschel,"Rational motion design-a survey," Comput.Aided Design,vol.30,no.3,pp.169-178,1998.
    [36]T.W.Sederberg,"Applications to computer aided geometric design," in Proc.of Symposia in Applied Mathematics,53,American Mathematical Society,1998,pp.67-89.
    [37]J.M.Selig,Geometric Methods in Robotics.New York:Springer-Verlag,1996.
    [38]J.T.Scwhartz,M.Sharir and J.Hopcroft,Planning,Geometry,and Complexity of Robot Motion.Ablex Publishing Corporation,1987.
    [39]Sohn K-A,Juttler B,Kim M-S,Wang W.Computing distances between surfaces using line geometry.In:Pacific conference on computer graphics and applications.2002.p.236-45.
    [40]M.Sharir,"Intersection and closest-pair problems for a set of planar discs,"SIAMJ.Comput.,vol.14,no.2,pp.448-468,May 1985.
    [41]M.G.Wagner,"Planar Rational B-Spline Motions," Comput.Aided Design,vol.27,no.2,pp.129-137,1995.
    [42]B.Juttler and M G Wagner:Kinematics and Animation,in G Farin,J.Hoschek,and M-S.Kim editors,Handbook of Computer Aided Geometric Design.North-Holland2002,pp.723-748.
    [43]Canny JF.Collision Detection for Moving Polyhedra.IEEE Transactions on Pattern Analysis and Machinery Intelligence 1986;8(2):p.200-209
    [44]Cameron SA.Collision Detection by Four-dimensional intersection testing.IEEE Transaction on Robotics Automation 1990;6(3):p.291-302.
    [45]Cameron SA,A Comparison of Two Fast Algorithm for Computing the Distance Between Convex Polyhedral,in IEEE Transactions on Robotics and Animation,13(6):915-920,1997.
    [46]P.M.Hubbard,Collision Detection for Interactive Graphics Application,IEEE Trans.Visual.Comput.Graph.1(3):218-230,Sept 1995.
    [47]P.M.Hubbard,Approximating Polyhedral with Sphere for Time Critical Collision Detection,ACM Trans.Grahp,15(3):179-210,July 1996.
    [48]申立勇,刘洋.椭圆与抛物线及双曲线位置关系的代数条件,系列仿真学报,2002 Vol.14 No.9 p.1208-1211.
    [49]刘洋,申立勇.判别平面上两个椭圆位置关系的代数条件,计算机辅助设计与图形学学报.2003 Vol.5 No.5 p.555-560.
    [50]Yang Liu,Fa-Lai Chen.Algebraic conditions for classifying the positional relationships between two conics and their applications.Journal of Computer Science and Technology,Volume 19,Issue 5,September 2004,p 665-673.
    [51]David H.Eberly,3D Game Engine Design-A Practical Approach to Real-time Computer Graphics,Morgan Kaufmann Publishers,p.69

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700