/// <summary> /// Determina cuando este Circulo Intersecta o Contiene a otro. /// </summary> /// <param name="circ">El otro circulo a comparar</param> /// <returns>Un bool indicando si hay Intereseccion o no</returns> public bool Intersecta(Circulo circ) { return Distancia(circ) <= Radio + circ.Radio; }
/// <summary> /// Determina cuando este Circulo contiene completamente a otro /// </summary> /// <param name="circ">El Circulo que debe estar contenido</param> /// <returns>Un bool indicando si este Circulo contiene a Circ o no</returns> public bool Contiene(Circulo circ) { return Distancia(circ) + circ.Radio <= Radio; }
/// <summary> /// Determina la distancia entre este el centro de este circulo y otro, /// para ver si se intersectan /// </summary> /// <param name="circ">El otro circulo a comparar</param> /// <returns>Int que indica aproximadamente la distancia</returns> public int Distancia(Circulo circ) { int difX = circ.X - X; int difY = circ.Y - Y; int disC = difX * difX + difY * difY; return (int)Math.Sqrt(disC); }