Java Cercle-Cercle De La Détection De Collision
Ici est le cercle de la classe:
public class Circle {
private double radius;
private double x;
private double y;
}
Comment puis-je savoir si deux objets de cette classe (cercles) sont entrés en collision?
P. S. vous Pouvez utiliser la méthode qui évite de prendre une racine carrée?
Cette question a obtenu une réponse détaillée ici: stackoverflow.com/questions/1736734/circle-circle-collision
Une méthode comme circle1.collision(circle2) a besoin d'accéder à circle2 de rayon x et y, mais ceux-ci sont privés.
en supposant que
aussi loin que je peux dire que ce n'est pas la même question à tous. Que d'autres questions liées à la demande à la façon de déterminer où deux cercles de faire entrer en collision. Ici l'OP demande simplement si deux cercles de collision ou pas, ce qui est encore plus simple. Dans beaucoup de jeux, par exemple, il n'a vraiment pas d'importance où deux cercles de collision, mais simplement si elles entrent en collision ou non.
si vous regardez la 2ème réponse: stackoverflow.com/a/1736815/64301 c'est a l'exacte des équations nécessaires. Les réponses offrir des détails supplémentaires, mais ils ne répondre à la question de comment dire si deux cercles qui s'entrechoquent.
Une méthode comme circle1.collision(circle2) a besoin d'accéder à circle2 de rayon x et y, mais ceux-ci sont privés.
en supposant que
circle1
et circle2
sont les deux instances d'un même type d'objet, alors que c'est évidemment pas un problème.aussi loin que je peux dire que ce n'est pas la même question à tous. Que d'autres questions liées à la demande à la façon de déterminer où deux cercles de faire entrer en collision. Ici l'OP demande simplement si deux cercles de collision ou pas, ce qui est encore plus simple. Dans beaucoup de jeux, par exemple, il n'a vraiment pas d'importance où deux cercles de collision, mais simplement si elles entrent en collision ou non.
si vous regardez la 2ème réponse: stackoverflow.com/a/1736815/64301 c'est a l'exacte des équations nécessaires. Les réponses offrir des détails supplémentaires, mais ils ne répondre à la question de comment dire si deux cercles qui s'entrechoquent.
OriginalL'auteur Conner Ruhl | 2011-12-19
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur Hot Licks
Le lien de @instanceofTom dans les commentaires, c'est mieux... avec des photos.
OriginalL'auteur toto2
Les cercles vont toucher lorsque la distance entre leurs centres est égale à la somme de leurs rayons, ou entrer en collision lorsque la distance est de moins en moins.
Puisque nous sommes à l'aide de distance absolue, il est Ok pour comparer le carré de la distance entre les centres avec le carré de la somme des rayons.
OriginalL'auteur Pete Kirkham
Voici la mise à jour de Java solution:
Oui, désolé à ce sujet. J'avais jeté le JavaScript solution là-bas avant de la revoir, et ensuite remarqué qu'il était incorrect, car j'ai été mise à jour Java.
OriginalL'auteur Briguy37