Structure en nid d'abeille avec Java

Insérer le code qui dessine un hexagone répété dans une structure en nid d'abeille.

Livraison :

Insérer le code qui dessine un hexagone répété dans une structure en nid d'abeille.

Structure en nid d’abeille
Résultat

Code:

Classe Tela

package esagoni; import java.awt.*; import javax.swing.*; public class Tela extends JPanel{ public void paintComponent(Graphics g) { //sert à dessiner dans la fenêtre super.paintComponent(g); //le couleur de l'arrière-plan est définie this.setBackground(Color.WHITE); //le couleur de g, donc la couleur avec laquelle apparaîtront //les dessins faits en utilisant g g.setColor(Color.BLACK); //initialisons les deux vecteurs x et y. le vecteur x contient les abscisses des six points //de l'hexagone, tandis que le vecteur y contient les ordonnées des points. l'hexagone //a 6 points donc les vecteurs ont 6 éléments. int x[] = new int[6]; int y[] = new int[6]; //les vecteurs sont remplis avec les coordonnées des points vettoreX1(x); vettoreY(y); // for (int i = 0; i<10; i++){ //on dessine 10 hexagones distants de 40 horizontalement for (int a = 0; a < 10; a++){ esagoniX(x,y,g); } //le point de départ pour dessiner se déplace vers le bas de 10 cambioY(x,y,g); //on remplit le vecteur x avec d'autres coordonnées donc le point de départ pour //dessiner se déplace de 10 en horizontale, pour éviter que //les hexagones se chevauchent vettoreX2(x); //on dessine d'autres 10 hexagones for (int a = 0; a < 10; a++){ esagoniX(x,y,g); } //le point de départ pour dessiner se déplace vers le bas de 10 cambioY(x,y,g); //on réutilise le premier vecteur, avec les coordonnées x identiques à //celles de la première ligne vettoreX1(x); } } public int[] vettoreX1 (int x[]){ x[0] = -40; x[1] = x[0]+10; x[2] = x[1]+10; x[3] = x[2]+10; x[4] = x[2]; x[5] = x[1]; return x; } public int[] vettoreX2(int x[]){ x[0] = -20; x[1] = x[0]+10; x[2] = x[1]+10; x[3] = x[2]+10; x[4] = x[2]; x[5] = x[1]; return x; } public int[] vettoreY (int y[]){ y[0] = 10; y[1] = y[0]+10; y[2] = y[1]; y[3] = y[0]; y[4] = y[0]-10; y[5] = y[4]; return y; } public void esagoniX (int x[], int y[], Graphics g){ for (int i = 0; i < x.length; i++){ x[i] = x[i]+40; } //x = vecteur qui contient 6 coordonnées horizontales //y = vecteur qui contient 6 coordonnées verticales //6 = nombre de points g.drawPolygon(x, y, 6); } public void cambioY (int x[], int y[], Graphics g){ for (int i = 0; i < y.length; i++){ y[i] = y[i]+10; } } } 

Classe Esagoni

package esagoni; //importer java swing sert à pouvoir utiliser les composants qu'il contient, pour //exemple jframe import javax.swing.*; public class Esagoni { public static void main(String[] args) { //sert à changer l'inscription en haut à gauche JFrame t = new JFrame("Esagoni"); //setDefaultCloseOperation() contient entre parenthèses l'opération //que le programme exécute lorsque l'on clique sur la croix en haut à droite //l'inscription entre parenthèses indique que lorsque l'on clique //sur la croix, l'opération par défaut //est de fermer la fenêtre t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //l'autre classe s'appelle Tela, donc on crée un nouvel objet Tela Tela p = new Tela(); //t est le JFrame, auquel on ajoute l'objet p(tela) t.add(p); //dimensions de la toile (la fenêtre qui s'ouvre lorsque l'on exécute //le programme) t.setSize(1000, 1000); //avant, elle n'avait été que créée, et maintenant elle est rendue visible t.setVisible(true); } } 

Procédure:

Après avoir créé un nouveau projet appelé disegno, nous avons créé deux classes. Celle avec le main est Esagoni, tandis que l'autre est Tela.

Pour dessiner les hexagones avec la structure en nid d'abeille, il faut dessiner des hexagones. C'est possible de deux manières :

•g.drawPolygon(obj Polygon)

•g.drawPolygon(x[], y[], i)

La première méthode permet de dessiner un polygone en mettant entre parenthèses l'objet polygone, tandis que la deuxième permet de le faire avec deux tableaux d'entiers et un nombre entier. Le vecteur x contient les coordonnées x des points et celui y les coordonnées y des points, tandis que i est le nombre de points du polygone, c'est-à-dire des sommets.

Dans la structure en nid d'abeille, il y a de nombreux hexagones de file disposés en plusieurs rangées, donc il faut dessiner des hexagones identiques, dans la même rangée, disposés à une certaine distance horizontale.

Après avoir dessiné la première rangée, on fait la même chose pour la deuxième, mais dans ce cas, la coordonnée x du premier point de l'hexagone n'est pas la même que celle du premier point du premier hexagone de la rangée inférieure, donc il faut partir d'un point x différent. Dans la troisième rangée, cependant, la coordonnée x du premier point du premier hexagone est identique à celle du premier point du premier hexagone de la première rangée, donc les coordonnées x des points sont identiques toutes les deux rangées.