
Je développe un jeu (sur Android) où l'on gère des cellules que l'on peut diviser et recombiner et dans lequelle on doit "manger" les autres joueurs en allant sur eux avec des cellules plus grosses ou en se divisant ce qui scinde la plus grosse de nos cellules en deux et envoie une des deux cellules filles rapidement dans la direction voulue. Bref je ne vais pas vous expliquer ça en détails, nous ne sommes pas là pour ça

En fait je me heurt à un petit problème géométrique : j'aimerais connaître le point qui est à la même distance de tout les sommets de mon polygone (ces sommets sont représentés par mes petites cellules) en ayant en plus cette distance minimale. J'ai utiliser la formule donner par wikipedia à cette adresse : ICI
Mais regardez ce que cela me donne (le point rouge correspond au centre de gravité, les verts à mes cellules) : LA PHOTO ICI
J'ai utiliser le code suivant pour calculer ce point juste pour information:
- Code: Tout sélectionner
if(myCells.size()>2){
float A = 0;
for(int i = 0; i < myCells.size()-1; i++){
MyCell temp = myCells.get(i);
MyCell temp2 = myCells.get(i+1);
A += (temp.body.getPosition().x*temp2.body.getPosition().y - temp2.body.getPosition().x*temp.body.getPosition().y);
moyX += (temp.body.getPosition().x + temp2.body.getPosition().x)*(temp.body.getPosition().x*temp2.body.getPosition().y - temp2.body.getPosition().x*temp.body.getPosition().y);
moyY += (temp.body.getPosition().y + temp2.body.getPosition().y)*(temp.body.getPosition().x*temp2.body.getPosition().y - temp2.body.getPosition().x*temp.body.getPosition().y);
}
A /= 2;
moyX /= (6*A);
moyY /= (6*A);
}
Ce qui correspond bien au code de wikipedia (toutes les coordonnées des que je récupère avec getPosition() sont bonnes).
Voilà j'espère que j'ai posté au bon endroit et que vous pourrez m'aider!
Merci d'avance
