Ejemplo n.º 1
0
 // Finds out if the two given circles are intersecting
 public bool intersects(ref BVCircle collider)
 {
     return (Math.Abs(Mathx.calcLength(pPos.x-collider.pPos.x, pPos.y-collider.pPos.y))<= (pRadius+collider.pRadius));
 }
Ejemplo n.º 2
0
 public bool intersects(BVCircle collider)
 {
     return intersects(ref collider);
 }
Ejemplo n.º 3
0
        // Finds if the rectangle and the circle collide together
        public bool intersects(ref BVCircle collider)
        {
            // Variables
            float	n=	0f;
            Point3f[]	p=	points;

            for(int i= 0; i< p.Length; i++)
            {
                if(collider.contains(ref p[i]))
                    return true;
            }

            if(collider.pPos.x< pMin.x)
                n+=	(collider.pPos.x-pMin.x)*(collider.pPos.x-pMin.x);
            else if(collider.pPos.x> pMax.x)
                n+=	(collider.pPos.x-pMax.x)*(collider.pPos.x-pMax.x);
            if(collider.pPos.y< pMin.y)
                n+=	(collider.pPos.y-pMin.y)*(collider.pPos.y-pMin.y);
            else if(collider.pPos.y> pMax.y)
                n+=	(collider.pPos.y-pMax.y)*(collider.pPos.y-pMax.y);

            if(n<= (collider.radius*collider.radius))
                return true;

            return false;
        }