8791 sujets

Développement web côté serveur, CMS

Bonjour, je construis une carte pour un jeu ligne et j'ai besoin de faire calculer des distance/temps (il s'agit de px/h:m:s).

Donc en gros, je vais avoir plein de repères (indiqués par des <a></a>) il faudrait que ça calcule la distance en px entre chaque repères puis qu'il les divise par la valeur 3.54143646.

Je vous illsutre ceci:
<a id="898769">repère sélectionné par l'utilisateur, php calcule les distances aux autres repères depuis celui-ci</a>


<a id="203752">"valeur calculée en h:m:s par la requête php"</a>

<a id="867865">"valeur calculée en h:m:s par la requête php"</a>


le moyen pour php de savoir quels est le repère sélectionné sera le fait qu'il est indiqué dans l'url par un hasch de type #i898769 ou d'un hasch de type #t898769.

C'est assez complexe, mais voilà l'idée Smiley lol

Je ne sais absolument pas coder en php. Pour faciliter les choses...
Modifié par xXjujo002Xx (14 Sep 2012 - 12:54)
Tu ne peux pas lire le hasch tag depuis PHP. C'est une donnée qui n'existe que coté client.

Et sinon c'est quoi la question ?
C'est un projet, effectivement, sauf que là il s'agit de quelque chose d'assez pressant, et je ne pense pas être capable d'effectuer un travail de ce genre avant un bon moment d'apprentissage...
Si ça peu aider, j'ai déjà réfléchi au calcul nécessaire:

a écrit :
Smiley center
[u]Relation distance/temps entre deux coordonnées:[/u]

Soient deux points a et b, ils ont comme coordonnées respectives ( 3 ; 8 ) et ( 7 ; 5 ).
Soit le point c qui pour coordonnées comprend l'abscisse de a et l'ordonnée de b.
Dans le cas présent, c a alors pour coordonnées ( 3 ; 5 ).

a et c ayant le même abscisse, (ac) est parallèle à tous les autres abscisse et
est perpendiculaire à toutes les ordonnées.

b et c ayant la même ordonnée, (bc) est parallèle à toutes les autres ordonnées et
est perpendiculaire à tous les abscisses.

Donc (ac) est perpendiculaire à (bc), donc abc est un triangle rectangle en c.

Nous pouvons calculer les longueurs ac et ab:
ac correspond à la soustraction de l'ordonnée de a par celui de c.
[font=monospace]ac = 8 - 5 = 3[/font] Donc [u][font=monospace]ac = 3[/font][/u]
bc correspond à la soustraction de l'abscisse de b par celui de c.
[font=monospace]bc = 7 - 3 = 4[/font] Donc [u][font=monospace]bc = 4[/font][/u]

Comme abc est un triangle rectangle en c, nous pouvons appliquer le théorème de pythagore:

[font=monospace]ab = &#8730; ac^2 + bc^2
ab = &#8730; 3^2 + 4^2
ab = &#8730; 9 + 16
ab = &#8730; 25

ab = 5[/font]

http://www.imac-serv.alwaysdata.net/shema.png

À présent, nous pouvons écrire la formule grâce à laquelle nous obtenons la distance ab,
nous noterons les coordonnées de a [font=monospace]( Xa ; Ya )[/font] et celles de b [font=monospace]( Xb ; Yb )[/font], et encadrerons
les longueurs par les caractères " { " et " } " :

[font=monospace]ab = &#8730; {( Xb ; Ya ) a}^2 + {( Xb ; Ya ) b}^2[/font]

Maintenant que nous avons la distance, il faut faire le quotient avec le temps pour obtenir notre résultat final donc:

[font=monospace](&#8730; {( Xb ; Ya ) a}^2 + {( Xb ; Ya ) b}^2) : ( 181 : 641 )[/font]
[/center]


Voilà, juste un peu de pythagore ^^. En l'occurrence, les coordonnées correspondrons au valeurs de la propriété margin (margin:top right bottom left --> marin:).
Alors pour les calculs tu as + pour l'addition, - pour la soustraction, / pour la division et * pour la multiplication. Pour calculer la puissance tu as la fonction pow() et pour l'utilisation des parenthèses c'est comme les cours de math à l'école. Et pour le reste c'est . Voilà tu sais faire des maths en PHP.
Modifié par jb_gfx (16 Sep 2012 - 02:18)