Inscription / Connexion Nouveau Sujet
Niveau autre
Partager :

Tapis d hexagone

Posté par Brutus (invité) 17-07-05 à 14:42

Bonjour,
Je souhaite faire un tapis d'hexagone et donc déterminer les centre de tous les hexagones autour de l'hexagone au centre de mon tapis.
Pour cela, je connais la position de celui du centre ainsi q'un angle pour la rotation du tapis entier.
Les dimensions du tapis peuvent être quelconque.

Merci

Posté par
caylus
S agit-il du pavage suivant? 17-07-05 à 19:40

Bonjour,
s'il s'agit du pavage suivant, il suffit d'utiliser Pythagore pour connaître les divers rayons.

S agit-il du pavage suivant?

Posté par N_comme_Nul (invité)re : Tapis d hexagone 17-07-05 à 21:39

Salut !

On remarque aussi que les centres des hexagones forment un maillage.
En prenant comme référence le centre de l'hexagone "initial", disons de coordonnées (x_0,y_0), on a que l'hexagone se trouvant à la position (p,q) (où p et q sont des entiers relatifs) a pour coordonnées :
    (x_0+p\frac{3a}{2},y_0+qa)

Tapis d hexagone

Posté par Brutus (invité)re : Tapis d hexagone 18-07-05 à 11:59

Bonjour,
Pouvez vous me faire des examples SVP. Je ne suis qu'en 5ème, j'ai vu pytagore mais la je ne vois pas trop comment l'utiliser.

Merci.

Posté par philoux (invité)re : Tapis d hexagone 18-07-05 à 12:03

>Brutus

Le fait que tu aies pris le forum "autres" t'a fait récupérer des réponses adaptées à ce niveau (post bac souvent).

La prochaine fois, choisis un niveau en regard de celui des réponses que tu attends.

Philoux

Sinon, qu'avec Pythagore, ça risque d'être...limité
As-tu vu les caractéristiques des héxagones (hauteur, angles...) ?

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 13:08

Salut !

Bon alors au niveau 5e (d'ailleurs, on ne voit pas Pythagore en 5e),
on peut faire ainsi :

>> étape 1
On commence par l'hexagone "initial":
tu construis un hexagone (régulier je suppose)
(te rappelles-tu comment on fait ? tu traces un cercle de rayon, disons
2cm, puis tu reportes autant de fois que nécessaire ce rayon sur le cercle;
c'est comme pour construire une rosace à six branches )
(voir figure 1)

>> étape 2
On construit les centres des hexagones autour de l'hexagone "initial".
Pour en construit un, tu peux construire le symétrique du centre de
l'hexagone "initial" par rapport à chacun de ses côtés (j'ai mis les centres construits en bleu sur la figure 2).
(voir figure 2)

>> étape 3
On construit les hexagones autour de l'hexagone "initial".
Tu as les centres (voir étape 2) et le rayon (2cm).
(voir figure 3)

>> étape 4, 5, 6 ...
Il reste à construire les centres des hexagones périphériques en
construisant les centres grâce à une petite "réflexion" des centres
des hexagones déjà construits ( c'est-à-dire une "symétrie axiale",
ou bien encore une "symétrie orthogonale").

Tapis d hexagone

Posté par Brutus (invité)re : Tapis d hexagone 18-07-05 à 14:20

Je te remerci N_comme_Nul mais en faite ce pb est fait pour un prog (je fais de la programation) et en programation on ne peut pas faire comme a la main. Il me faut donc un moyen de déterminer les coordonées x,y de chaque hexagone comme tu avais proposer.
Il est donc vrai que le pb n'est pas adapter à mon niveau et que c pour la raison suivante que g mis 'autre'
Je vous remerci quand même pour vos solutions proposé mais si vous pouvez me donner un example des premières solutions même si je ne comprendrais pas trop la démarche serai sympa.
Merci

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 14:29

Et bien, vas-y, dis-nous ce que tu veux réaliser exactement
    genre : "tapisser" un rectangle de ces hexagones ?
    y-a-t-il une détection de débordements ?
    le pavage final, doit-il être circulaire ?
    où se situe l' "hexagone" initial ? n'importe où ?
    etc.

Sinon, pour faire ça, je résolverais le problème par translations. Il suffit de créer une procédure qui sache construire un hexagone (pour les paramètres ... il y a plusieurs façons de faire, par exemple : définition par (centre,sommet,sens de rotation), (centre,deux points), etc.) puis de "translater" cet hexagone. (tu peux utiliser les formules que je t'ai données)

Posté par Brutus (invité)re : Tapis d hexagone 18-07-05 à 17:55

Je veut réaliser un pavage circulaire ou l'hexagone du centre a pour position (0,0) comme la figure ci-dessous (le pavage peut être bien plus grand)
L'angle "a" peut varié de 0 a 360°
J'ai déja fais la fonction pour tracer les hexagones il me reste plus qu'a faire la fonction pour trouver les coordonnées des autres mais là j'y arrive pas.

Tapis d hexagone

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 17:58

Tu peux me donner son en-tête à ta fonction de dessin d'hexagone ?
Comme ça, si je trouve, on pourra discuter des mêmes choses

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 19:38

Je vais procéder en plusieurs posts, parce qu'il y a pas mal de figures. (d'ailleurs, je n'ai pas eu le temps de m'y appliquer )

Alors, ce que je te propose, c'est d'abord de savoir trouver les centres des hexagones, lorsque ton angle a est égal à 0.
Il suffit alors d'appliquer une rotation d'angle a aux coordonnées des points trouvés via les formules :
    x'=x\cos a-y\sin a
    y'=x\sin a+y\cos a

Bon, d'abord la figure, pour y voir un peu plus clair (désolé pour la qualité, mais pas le temps ) :

Tapis d hexagone

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 19:40

Bon, comme tu peux le remarquer, les hexagones se répartissent autour de manière polygonale : en formant des hexagones à leur tour.
On remarque aussi que chacun des ces "super hexagones" est formé par six morceaux de droites, c'est ce que je vais faire dans mon prochain post , pour "générer" les coordonnées des centres de ses six "super côtés".

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 19:45

Bon alors, d'abord, je vais "générer" les coordonnées du premier segment, en haut. Le premier point sera généré, par contre, le dernier du segment, non. Ce qui permet d'avoir une génération uniforme et qui permet de "boucler" la génération au bout de six "tours".

Tapis d hexagone

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 19:53

Bon , petites conventions ... le premier hexagone sera contruit à l'étape 0, ensuite ceux qui l'encerclent à l'étape 1, etc.

Je vais considérer les "coordonnées" des centres comme je l'ai indiqué dans mon tout premier post, c'est à dire en coordonnées entières.

Les six morceaux dans l'ordre indiqué dans le post précédent sont générés de la manière suivante :

Pour l'étape k, il s'agit, à chaque morceau, de générer k points sur chaque morceau.

premier morceau :
    q=p+2kk est le numéro de l'étape
    (faire p=0,-1,-2,...,-k+1 pour trouver
    les q correspondants)
deuxième morceau :
    p=-k
    q=k,k-2,...,k-2k
troisième morceau :
    q=-p-2k
quatrième morceau :
    q=p-2k
cinquième morceau :
    p=k
    q=k,k-2,...,k-2k
sixième morceau :
    q=-p+2k


ensuite, il faudra appliquer les formules que j'ai données plus haut.
Attention , ton a et mon a ne sont pas les mêmes !
Le mien est le rayon commun des hexagones alors que le tien est l'angle à appliquer

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 19:54

Tu as tous les éléments pour faire ton "prog".

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 20:11

Au fait, les coordonnées que j'ai données dans mon tout premier post vont être un peu simplifiées eu égard au fait que (x_0,y_0)=(0,0).

Posté par Brutus (invité)re : Tapis d hexagone 18-07-05 à 20:13

Merci pour pour ton aide
Je vais esseyer de faire mon prog avec toutes les données que tu m'a fait part. J'espére que je vais y arriver

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 21:01

Correction : dans la toute première formule, c'est (avec la prise en compte de mon dernier post) :
    4$\left(p\frac{3a}{2}\;;\;qa\frac{\sqrt{3}}{2}\right)

dans la plupart des langages, la fonction racine carrée est la fonction
    sqrt()
(square root)

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 21:58

Bon, je l'ai programmé de mon côté ton truc, et cela donne :
(j'ai mis un angle de rotation de 35°)

Tapis d hexagone

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 22:02

Correction aussi d'une erreur de frappe, pour le deuxième morceau, c'est
    p=-k
et
    q=k,k-2,\cdots,k-(k-1)2

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 22:08

C'était assez amusant de le programmer *, merci

*un rien m'amuse

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 22:25

En prenant un angle de 17° et un anneau sur deux (après j'arrête ):

Tapis d hexagone

Posté par Brutus (invité)re : Tapis d hexagone 18-07-05 à 22:33

C marrant que tu est fais le prog en 2,2 alors qu'il me faudra pas mal de temps pour le faire.

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 22:45

"C marrant que tu est fais le prog en 2,2"

Je ne comprends pas ton "2,2"

Posté par
Nightmare
re : Tapis d hexagone 18-07-05 à 22:57

Salut N_comme_Nul

en 2,2 = rapidement (pseudo-language de "jeune" )


Jord

Posté par N_comme_Nul (invité)re : Tapis d hexagone 18-07-05 à 23:13

Ha bon ? je vais ajouter ça à ma base de données
Je cherchais une quelconque indication de temps ...



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1488 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !