Si un cercle est à l'intérieur d'un cercle

Je vais avoir un peu de mal. J'ai une mission qui m'oblige à trouver si un deuxième cercle se chevauchent à l'intérieur, ou ni l'un second cercle. Cependant, j'ai du mal à vérifier pour le chevauchement et si le second cercle est à l'intérieur de la première.

(variables utilisées sont x1, x2, y1, y2, r1, r2, distance)

Voici ce que j'ai:

if (distance > (r1 + r2)) {
        //No overlap
        System.out.println("Circle2 does not overlap Circle1");
    } else if (distance <= Math.abs(r1 + r2)) {
        //Overlap
        System.out.println("Circle2 overlaps Circle1");
    } else if ((distance <= Math.abs(r1 - r2)) {
        //Inside
        System.out.println("Circle2 is inside Circle1");
}

Je crains que le problème est avec le chevauchement et à l'intérieur des chèques, mais je ne peux pas comprendre comment bien le configurer afin que je puisse vérifier de façon fiable si le second cercle est à l'intérieur de la première.

De l'aide ou des conseils seraient grandement appréciés comme j'ai essayé plusieurs méthodes mais la solution tout simplement m'échappe à chaque fois.

D'abord - quelle est la distance? Est-ce la distance entre les centres des cercles? La deuxième pourrait-elle aider à comprendre, dont le rayon est plus grand?
Toutes les variables sont entrés par l'utilisateur. Oui, la distance est la distance entre les deux centres des deux cercles avec la formule de la distance.
Je viens de googlé pour trouver au sujet de ce problème et a trouvé ce gamedev.stackexchange.com/questions/7172/...
Je pense que la distance entre les centres est la clé.... et l'ordre que vous faites le test...
Génial, merci, cela va aider un peu.

OriginalL'auteur Battleroid | 2012-02-28