Honnêtement, j'utiliser l'API 2D Graphics de formes, ils vous permettent de "dessiner" une forme, ce qui est plus simple (à mon humble avis), puis en utilisant le polygone. L'avantage est qu'ils sont faciles à peindre et à transformer
Cela dit, le problème que vous rencontrez actuellement est le fait que vous ne transmettez pas les bonnes informations à la méthode fillPolygon
.
Si vous jetez un oeil à l'JavaDocs for Graphics#fillPolygon
, vous remarquerez que le dernier paramètre est le nombre de points:
NPOINTS - un nombre total de points.
Mais vous passez 5
, où il y a effectivement des points 11
dans votre tableau
Quelque chose comme ...
shapes.setColor(color);
int[] x = {42,52,72,52,60,40,15,28,9,32,42};
int [] y = {38,62,68,80,105,85,102,75,58,20,38};
shapes.fillPolygon(x, y, 11);
devrait maintenant tirer tous les points, mais certaines de vos coordonnées sont légèrement éteints, donc vous voudrez peut-être vérifier que
Honnêtement, j'utiliser le ([Graphics 2D] https://docs.oracle.com/javase/tutorial/2d /) formes API, ils vous permettent de "dessiner" une forme, ce qui est plus simple (IMHO), puis en utilisant un polygone. L'avantage est, ils sont faciles à peindre et à transformer – MadProgrammer
Je trouve que cette question est plus sur les mathématiques que la programmation. –