header
Accueil
Règles
Les 5 Races
Histoire
Classements
Forums
Taverne du Chat
Inscriptions
Jouer son Trõll
Packs Graphiques
Goodies
Nous Contacter
Soutenir le Jeu.
Notre Boutique.
Liens
Webring
Crédits
 
  Ze Calendrier
calendar
 MountyHall
Référencé sur
Tour de Jeu
Ludimail
Jeux Alternatif
 
HG
Nous sommes le 13° jour du Gnu du 22° cycle après Ragnarok [Jour de la Sainte Malchance]
HM HD
 
 
BG     BD
 Bienvenue Invité     S'enregistrer    Connexion Search the Forum   Display List of Forum Members
Forums Tous les Forums
ligne Forum Hors Jeux - Les autres Jeux
DON MountyHall
Modérateurs de ce forum : Aghabeu, Dabihul, Grankausto, Loinvu, Madère, Mamoune, Modérateur 6, Modérateur1, Modérateur2, Modérateur3, Modérateur4, Modérateur5, Mr x, Rouletabille, Schtroumpf, TilK, VYS, Xaruth
Préfixez toujours vos titres de message du nom du jeux. Par exemple :"[Bombix]" ou "[Taupedelire]" S'il s'agit d'une présentation d'un site, n'oubliez pas d'en donner l'URL.

Attention : les liens d'affiliation et autre parrainage sont formellement interdits.


Printer Friendly Version Post reply  Post New Topic

#. Message de Raistlin le 21-12-2007 à 15:55
  [Appelez-moi Google]  [Ami de MountyHall]
112873 - And You Will Know My Name Is The Trõll (Kastar 41)
- StriKe TeAm [Damnés] -
Pays: France (35 - Ille-et-Vilaine)  Inscrit le : 17-04-2005  Messages: 26820 (Demi-dieu)   Citer Citer
salut

dans le cadre d'un petit projet qui me trotte dans la tête, je réfléchissais l'autre jour à un pavage différent pour un jeu se déroulant sur un plan

j'aimerais paver le plan de triangles équilatéraux au lieu des habituels carrés ou triangle (afin également de permettre jusqu'à 12 cases adjacentes).

sauf que j'ai un peu de mal à trouver un système efficace de coordonnées X/Y

autant avec un pavage carré c'est trivial
avec un pavage hexagonal, c'est simple (on incline l'axe a 60°)

par contre pour un pavage triangulaire, la seule solution que je vois pour l'instant, c'est de rajouter un z (si on met 2 directions, les intersections comportent 2 triangles, c'est pas pratique. alors qu'en en rajoutant une 3e, un triplet x y z permet de réduire à une case)




du coup si quelqu'un a une idée plus pratique, je suis preneur

Raistlin

#. Message de Leus le 21-12-2007 à 16:12
107623 - Meltabor (Skrim 60)
- Dragons ! -
Pays: France  Inscrit le : 13-01-2006  Messages: 2137 (Djinn Tonique)   Citer Citer

en utilisant le 1/2 sur une des coordonnees

x=0, y=0, 1er triangle, on va dire base en bas

x=1/2, y=0, 2eme triangle, base en haut, un cote commun avec le 1er

x=1, y=0, 3eme triangle, base en bas, un cote commun avec 1/2,0

et enfin le dernier triangle ayant un cote commun avec 1/2, 0, c'est 1/2, 1

bref les coordonnees du triangle c'est le x sommet le plus a gauche et le y du sommet le plus bas

ca doit le faire, par contre je sais si ca simplifie la vie pour des calculs et autres

 


#. Message de Agulla le 21-12-2007 à 20:00
77514 - Agulla (Tomawak 43)
- Atra Caterva -
Pays: France (47 - Lot-et-Garonne)  Inscrit le : 27-04-2006  Messages: 2369 (Djinn Tonique)   Citer Citer

Un pavage isométrique (triangles equilatéraux) peut se coder sur 2 données si on raisonne en circulaire (étant donné que les isobarycentres de chaque triangles sont situés sur des cercles concentriques par rapport au "centre du monde" si on prend les pointes des 6 triangles de base comme point de repère)

La première donnée peut être le rayon dudit cercle, la seconde la position de l'isobarycentre du triangle sur ce cercle)

Pour les 6 triangles de base on a donc les coordonnées (1:0) à (1:6) pour les triangles suivant (avec les coté adjacents aux premiers (2:0) à (2:6), ensuite les pointes (3:0) à (3:12) puis les adjacents (4:0) à (4:12) etc...

Ensuite le problème qui se pose est la "cohérence" pour définir d'éventuels mouvements et passer d'un triangle à l'autre.

On peut aussi raisonner en Demi-cercles... voire quart si l'on intègre des signes

Par exemple les 3 triangles de "droite" (1:-1) (1:0) (1:1) et ceux de "gauche" (-1:-1) (-1:0) (-1:1) etc...


#. Message de Raistlin le 21-12-2007 à 22:42
  [Appelez-moi Google]  [Ami de MountyHall]
112873 - And You Will Know My Name Is The Trõll (Kastar 41)
- StriKe TeAm [Damnés] -
Pays: France (35 - Ille-et-Vilaine)  Inscrit le : 17-04-2005  Messages: 26820 (Demi-dieu)   Citer Citer
hmmm pas bête. je vais y cogiter. ça me semble effectivement plus simple que la solution de Leus, mais il faut que je cogite aux mouvements...

Raistlin, pas pensé aux coordonnées cylindriques

#. Message de Raistlin le 22-12-2007 à 10:34
  [Appelez-moi Google]  [Ami de MountyHall]
112873 - And You Will Know My Name Is The Trõll (Kastar 41)
- StriKe TeAm [Damnés] -
Pays: France (35 - Ille-et-Vilaine)  Inscrit le : 17-04-2005  Messages: 26820 (Demi-dieu)   Citer Citer
(tiens question annexe, imaginons un pavage tétraedrique de l'espace... combien de coordonnées faut-il?)

Raistlin

#. Message de knacki le 22-12-2007 à 11:55
53597 - ( )
Pays: France  Inscrit le : 30-12-2004  Messages: 2785 (Djinn Tonique)   Citer Citer
Dans le plan : coordonnée polaires

Dans l'espace ça marche aussi, suffit de rajouter une coordonnée hauteur -> coordonnées cylindriques.
(sinon comme dit l'article t'as aussi les coordonnées sphériques, c'est plus classe mais plus sportif aussi :p)

En revanche oublie de faire renter les coordonnées de la destination pour un DE, y en a deja qui se trompent avec le bon vieux repère cartésien donc bon

#. Message de Raistlin le 22-12-2007 à 13:10
  [Appelez-moi Google]  [Ami de MountyHall]
112873 - And You Will Know My Name Is The Trõll (Kastar 41)
- StriKe TeAm [Damnés] -
Pays: France (35 - Ille-et-Vilaine)  Inscrit le : 17-04-2005  Messages: 26820 (Demi-dieu)   Citer Citer
knacki, je sais ce que sont des coordonnées polaires (j'ai fait Sup et spé, hein).

par contre je conçois bien que les coordonnées polaires sont utilisables, mais je vois pas trop comment faire. a grande distance du centre, un changement d'une case se traduit par un angle tellement faible que j'ai du mal a voir comment ce serait utilisable

bon sachant que dans le plan c'est 3 coordonnées "cartésiennes", il me semble que dans l'espace ça doit être 4

Raistlin, pas gagné

#. Message de knacki le 22-12-2007 à 13:28
53597 - ( )
Pays: France  Inscrit le : 30-12-2004  Messages: 2785 (Djinn Tonique)   Citer Citer
Quote: Posté par Raistlin @ 22-12-2007 à 13:10
bon sachant que dans le plan c'est 3 coordonnées "cartésiennes", il me semble que dans l'espace ça doit être 4

n'ghé ?
(dans l'espace temps oué, mais dans un espace a 3 dimensions, voyons... comment dire .... )

Edith ne connait pas ton niveau en math, elle ne faisait que mettre un nom sur la solution d'agulla.

#. Message de Raistlin le 22-12-2007 à 14:18
  [Appelez-moi Google]  [Ami de MountyHall]
112873 - And You Will Know My Name Is The Trõll (Kastar 41)
- StriKe TeAm [Damnés] -
Pays: France (35 - Ille-et-Vilaine)  Inscrit le : 17-04-2005  Messages: 26820 (Demi-dieu)   Citer Citer
reprenons

normalement c'est 2 coordonnées dans le plan

sauf que pour un pavage triangulaire, c'est pas simple. il est plus simple de faire 3 coordonnées (cf mon dessin plus haut) :

un triangle est l'intersection de trois "bandes"

dans l'espace, j'ai un peu de mal a visualiser, mais je pense qu'avec 4 "bandes", ca doit marcher

Raistlin

#. Message de Valfëan le 22-12-2007 à 17:36
54669 - Valfëan (Tomawak 60)
- le réveil du Dragon -
Pays: France  Inscrit le : 10-03-2005  Messages: 4719 (Djinn Tonique)   Citer Citer
Pour un pavage triangulaire avec ton repère, oui sur un plan il faut 3 coordonées. Donc 4 si on fait dans l'espace (voir plus hein, si ça amuse de pas mettre le dernier axe perdpendiculaire au plan).

Mais dans les coordonée cylindrique (pour le plan), ya besoin que de 2.
Donc pour l'espace, 1 de plus, soit 3.

r (distance au projeté du point dans le plan horyzontal).
téta (angle par rapport à un axe fixe du plan horizontal).
z : hauteur.


#. Message de Vivalzar le 23-12-2007 à 11:09
16354 - Vivalzar (Skrim 35)
- Vachement Troll -
Pays: France  Inscrit le : 9-08-2003  Messages: 2938 (Djinn Tonique)   Citer Citer
Et sinon, je pense à quelque chose comme ça :



2 dimensions cartésiennes (x, y). Avec l'axe bleu des X comme tu l'as représenté dans ton premier exemple, mais l'axe jaune des Y seulement 1 triangle sur 2.

Dans ce systeme, chaque triangle possede un couple de coordonnees unique, et à chaque couple de coordonnees correspond un unique triangle.

Exemples (pour trouver les coordonnees visuellement, il est plus facile de commencer par le Y, puis le X) :
- la case verte a pour coordonnées (6,-2)
- la case violette a pour coordonnées (-5,2)


La notion de voisin (pour des déplacements autorisés aux cases adjacentes par exemple) est un peu plus compliqué, mais reste plus simple que des coordonnées polaires pour moi (le voisin de la case (R, theta) j'ai du mal à voir ce que c'est...)

Dans ce systeme, les 3 cases immédiatement adjacentes par leur coté de la case (X, Y) sont :
->  (X-1, Y), (X+1, Y) et (X-1, Y+1) si X est pair
->  (X-1, T), (X+1, Y) et (X+1, Y-1) si X est impair

Voilà, j'espere que ça peut aider. J'ai pensé à ça, mais si ça se trouve c'est n'importe quoi... mais dans mon esprit ça marche bien.


#. Message de astaroth le 23-12-2007 à 13:30
74938 - Kastatêtakoud'pel (Durakuir 60)
- Confédération du Calvok et Associés -
Pays: France  Inscrit le : 11-05-2006  Messages: 512 (Shaï Epileptique)   Citer Citer

Je ne m'aventurerais pas à parler mathématiques avec vous, car j'ai bien conscience que votre niveau me dépasse sensiblement. Mais une seule chose m'intrigue : quelle idée précise as-tu derrière la tête, Raistlin ? Tout cela, c'est pour créer un jeu ? Ou pour autre chose ?

Si c'est pour créer un jeu, à mon avis, le pavage hexagonal est la meilleure solution (avec le pavage traditionnel en carrés). C'est en tout cas le système le plus largement employé dans les wargames.

Tiens, un petit lien sympa : http://www.boardgamegeek.com/

C'est un site archi-complet (par contre, c'est en anglais) référençant tous les jeux de plateau et wargames existants avec pour chacun d'entre eux un petit aperçu du système et quelques photos. Si tu veux créer un jeu, pourquoi ne pas t'inspirer de ce qui a déjà été fait ?

Sinon, je pensais un autre truc : si tu souhaites utiliser malgré tout un pavage triangulaire, pourquoi t'encombrer absolument de coordonnées ? Tu pourrais juste te contenter de numéroter les triangles, et un déplacement s'effectuerait simplement en entrant le numéro du triangle de destination. Même chose si tu utilises un pavage hexagonal. Ce serait à mon avis une bonne manière de ne pas trop te compliquer la vie.

Autre considération avec le pavage triangulaire : quand un objet se trouve sur un triangle, on pourrait imaginer que l'un des côtés du triangle représente le dos de l'objet et que les deux autres côtés représentent sa gauche et sa droite. A partir de là, un déplacement pourrait s'effectuer soit vers la gauche, soit vers la droite, mais pas vers l'arrière. Par contre, il y aurait la possibilité de pivoter à l'intérieur d'un même triangle, afin de changer le côté qui représente le dos.

Voilà juste quelques idées, en espérant que ça pourra vous servir.

Sur ce, noyeux joël à tous, car je ne sais pas si je vais reposter d'ici demain.


#. Message de nuke_z le 23-12-2007 à 16:45
68348 - nuke_z (Durakuir 57)
- X-Trolls -
Pays: France  Inscrit le : 12-09-2005  Messages: 3093 (Djinn Tonique)   Citer Citer
Sinon j'ai une idée de fou : tu rajoutes un angle de plus à ton triangle, ça te fait un QUATRIEME côté et l'idée GENIALE c'est de faire les côtés perpendiculaires entre eux et là on pourrait imaginer un système de coordonnées, genre 2 axes perpendiculaires, un truc comme ça.

Nuke_z, non non ne me remercie pas, c'est tout naturel

#. Message de Raistlin le 25-12-2007 à 22:46
  [Appelez-moi Google]  [Ami de MountyHall]
112873 - And You Will Know My Name Is The Trõll (Kastar 41)
- StriKe TeAm [Damnés] -
Pays: France (35 - Ille-et-Vilaine)  Inscrit le : 17-04-2005  Messages: 26820 (Demi-dieu)   Citer Citer
nuke_z, spice d'andouille... darth vient de me dire la même chose

astaroth, j'ai besoin de coordonnées parce que j'ai besoin de savoir a partir d'un triangle à quels triangles j'ai accès.

sinon le système de Vivalzar (qui correspond à celui de Leus, d'ailleurs) après réflexion est utilisable, par contre ça va être la mort pour calculer les déplacements...

je cherche un système triangulaire pour une raison simple : un pavage hexagonal a 6 cases adjacentes à chaque case. ça monte à 8 dans le cas d'un carré. dans le cas d'un triangle, c'est 12 cases. ce qui permet des choses assez sympa



Raistlin, petite idée supplémentaire

#. Message de Raistlin le 26-12-2007 à 10:29
  [Appelez-moi Google]  [Ami de MountyHall]
112873 - And You Will Know My Name Is The Trõll (Kastar 41)
- StriKe TeAm [Damnés] -
Pays: France (35 - Ille-et-Vilaine)  Inscrit le : 17-04-2005  Messages: 26820 (Demi-dieu)   Citer Citer
question annexe mais amusante :
à partir de la case 0,0, quelqu'un peut-il me dire une manière simple de savoir si la case X,Y est accessible en un mouvement?

pour mémoire : si le triangle est pointe en bas, les coordonnées accessibles sont :
(-3,1) | (-2,0), (-2,1) | (-1,0), (-1,1) | (0,-1), (0,1)) | (1,-1), (1,0), (1,1) | (2,-1), (2,0)

si le triangle est pointe en haut,
(-2,0), (-2,1) | (-1,-1), (-1,0), (-1,1), (0,-1), (0,1) | (1,-1), (1,0) | (2,-1), (2,0) | (3, -1)

vous pouvez remarquer qu'il suffit de trouver l'un et de savoir si le triangle est pointe en bas ou pointe en haut, puisque les deux sont exactement opposés

d'où encore une question annexe : comment savoir à partir de ses coordonnées si le triangle est pointe en haut ou pointe en bas (ou pour être exact s'il est dans le même sens que l'origine ou non)

Raistlin

[Edit]pour la 2e question, j'ai la solution : un triangle est dans le même sens que l'origine si x est pair[/Edit]

#. Message de Malachite le 26-12-2007 à 15:24
20848 - ( )
Pays: France  Inscrit le : 15-08-2004  Messages: 860 (Shaï Epileptique)   Citer Citer
Cela dit le défaut des 12 cases adjacente de ton triangle, c'est que c'est que les mouvements sont de valeurs encore moins régulières qu'avec des carrés. Le pavage hexagonal est celui qui, topologiquement, a le plus de bonnes propriétés (et a une transcription assez claire dans un système à deux coordonnées, la distance n'est pas euclidienne cela dit, faut pas rêver non plus, mais elle est moins dégueue qu'une norme infinie).

A première vue le système de Vilvazar et Leus semble correct. Mais pas forcément utilisable. Les triangles sont tels qu'il y a toujours une notion de "le triangle au dessus/au dessous/à droite/à gauche" . Ca a l'air de donner des coordonnées sur ton plan (avec un axe vertical et un horizontal). A ce moment là, ça coûte un point de distance de se déplacer de zéro ou une case en verticale en direction de la base et jusqu'à 2 cases en horizontal, ou d'une case en verticale par la pointe et une horizontal (on voit quand même que ce n'est pas affreusement satisfaisant comme formule, ce n'est pas clair comment tu généralises ça à n cases à ce stade, mon impression c'est que chaque case ajoute 2 cases (dans chaque direction) accessible en horizontale aux lignes déjà atteinte, et 1 case en vertical aux lignes nouvellement (1 case par rapport à la ligne précédente)).

C'est déjà bien bordélique, mais probablement plus clair qu'avec les coordonnées parallèles à deux axes des triangles.


PS : dans ces coordonnées, chaque pas fait changer la direction du triangle, donc bien sûr, x+y pair donne un triangle de la même orientation.

Malachite

#. Message de Vivalzar le 26-12-2007 à 17:59
16354 - Vivalzar (Skrim 35)
- Vachement Troll -
Pays: France  Inscrit le : 9-08-2003  Messages: 2938 (Djinn Tonique)   Citer Citer
Raistlin > c'est plus simple pour les histoires de "pointe vers le haut / bas" : un triangle est dans le meme sens que l'origine si X est pair, et inversé si X est impair, c'est tout (dans l'hypothese d'axes comme nous les avons définis).

En outre je rejoins Malachite, les déplacements sur 12 adjacents n'ont pas l'air d'etre très équidistants (déplacement par la pointe plus "avantageux" que par un "coté").

#. Message de Raistlin le 26-12-2007 à 18:40
  [Appelez-moi Google]  [Ami de MountyHall]
112873 - And You Will Know My Name Is The Trõll (Kastar 41)
- StriKe TeAm [Damnés] -
Pays: France (35 - Ille-et-Vilaine)  Inscrit le : 17-04-2005  Messages: 26820 (Demi-dieu)   Citer Citer
pour les 12 adjacents pas équidistants, ça n'a jamais posé de problème pour les jeux à pavage carré comme mountyhall, et autres. l'hexagonal a effectivement l'avantage que les déplacements sont tous équidistants, mais comme inconvénient qu'il n'y a que 6 cases adjacentes, donc moins de chemins possibles. mon but étant de multiplier les interactions et les surprises.

Raistlin, effectivement x+2y pair ca fait aussi x pair, forcément

#. Message de Avnohfir le 26-12-2007 à 21:09
101662 - Калинка (Tomawak 39)
- Peuplade de les Ouestrolls -
Pays: Neutral Zone  Inscrit le : 16-02-2003  Messages: 4674 (Djinn Tonique)   Citer Citer
Dans le cadre d'un jeu que je codéveloppes avec pas mal de personnes (Battle for Wesnoth pour ceux qui ont entendu parler), on utilise un pavage hexagonal, pour se déplacer dans un plan suivant les exes nord sud, sud-est nord-ouest et sud-ouest nord-est.
Cependant pour s'y retrouver sur la carte on utilise des coordonées qui ressemblent plus à celles d'un pavage carré, ça permet de retouver plus "naturellement" où se trouve un hexagone de la carte quand on a ses coordonnées.
Ça donne des formules pour les déplacement avec la même tronche que celles de Vivalzar :
Pour un hexagone en (x,y) :
- L'hexagone adjacent nord est en (x,y-1)
- L'hexagone adjacent sud est en (x,y+1)
- L'hexagone adjacent nord-est est en (x+1,y) si x est pair et (x+1,y-1) si x est impair
- L'hexagone adjacent nord-ouest est en (x-1,y) si x est pair et (x-1,y-1) si x est impair
- L'hexagone adjacent sud-est est en (x+1,y+1) si x est pair et (x+1,y) si x est impair
- L'hexagone adjacent sud-ouest est en (x-1,y+1) si x est pair et (x-1,y) si x est impair
Bref si on manipule des données entières on est pas obligé de suivre les axes du pavage pour les coordonnées ...

#. Message de ZZelle le 26-12-2007 à 21:43
89664 - ZZelle (Durakuir 50)
- Les Trollos Flingueurs -
Pays: France  Inscrit le : 4-08-2007  Messages: 32 (P'tit Gob')   Citer Citer
Ici, ya des trolls qui se font des noeuds au cerveau

Si ton objectif est juste de connaitre les voisins de chaque triangle sans forcément connaître le distance entre 2 triangles quelconques, tu peux repérer les triangles par leurs sommets : tu numérotes tous les sommets de ton pavage triangulaire et tu repères les triangles par les numéros de ses sommets.

Avec ce repérage, il est très facile de savoir si tu peux aller d'un triangle à un autre en un mouvement : il suffit qu'il est un sommet en commun ... donc tu vérifies si parmi les numéros des sommets de chaque triangle yen a au moins 1 qui coïncide !

Donc connaître les voisins directs d'un triangle ayant pour sommets a,b,c est simple : ces voisins sont tous ceux qui ont a,b ou c comme sommets. Par contre connaître la distance entre 2 triangles est très couteux vu que tu ne peux mesurer les distances que de proche en proche. Par exemple pour connaître les triangles à 3 cases, il faut :
- Calculer ceux à 1 case via le test : "triangle ayant a,b ou c comme sommet (mais pas les 3)" => 12 triangles obtenus
- On déduit 9 nouveaux sommets correspondant à tous les sommets autre que a,b,c utilisés par les 12 triangles
- Calculer ceux à 2 cases via le test: "triangle ayant un des 9 sommets précédents parmi les siens sans avoir a,b ou c" => un certain nbre de triangle obtenus
- On déduit 15 nouveaux sommets
- Calculer ceux à 3 cases via le test:" triangle ayant un des 15 sommets précédents parmi les siens sans avoir un des 9 sommets définis avant" .... vite fait très couteux ! (si vous comprenez pas la méthode faites un dessin, c'est très naturel ...Dsl je peux pas le faire, j'ai pas trop le matos sous la main)

[Pages : 1, 2, 3]

Pour poster une réponse sur ce Forum, vous devez d'abord vous connecter

Si vous n'êtes pas encore enregistré, vous devez d'abord vous inscrire.

 Changer de Forum Post reply  New post
[ Contact : ] - [ Heure Serveur : 02:16:23 le 19/04/2024 ] - [ Page générée en 0.004 sec. ]