[PHP] Déterminer le prochain point d'une spirale carrée dans une grille - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [PHP] Déterminer le prochain point d'une spirale carrée dans une grille (/showthread.php?tid=5640) |
RE: [PHP] Déterminer le prochain point d'une spirale carrée dans une grille - Maz - 30-09-2011 +1 Xenos. Pour moi la "non-récursivité" dans ce cas était évidente. J'ai retranscris le code de ma fonction en Ruby pour ceux que ça intéresses, je la posterais dans quelques jours. RE: [PHP] Déterminer le prochain point d'une spirale carrée dans une grille - niahoo - 30-09-2011 Les fonctions récursives sont plus simples à écrire et pour moi c'est ce qui importe le plus. Ensuite, des calculs de spirale sur 10 000 points j'espère que tu ne le fais pas à chaque requête, donc optimiser à mort me semble moins important qu'un code simple et lisible. Par contre, j'ai pas vraiment saisi pourquoi utiliser de l'objet induisait la récursivité. Le langage dans lequel j'utilise le plus la récursivité est erlang, où les objets n'existent pas dans la syntaxe. RE: [PHP] Déterminer le prochain point d'une spirale carrée dans une grille - Xenos - 30-09-2011 Oui, plus simples à écrire, mais dans certains cas, il vaut mieux passer 2 jours sur une fonction qui sera 100x plus rapide. Imagine qu'il failles 3 secondes pour éxécuter la fonction récursive, et qu'on veuille executer cette fonction environ 100.000 fois (dans mon cas, ce n'est pas pour du php, mais pour un compilateur de map c++), soit, au total, 300.000 secondes d'éxecution (3,5 jours en gros). En y passant 2 jours pour tomber à 0.03s / execution (total: 3000 secondes, 1h), on est franchement gagnant. De plus, dans mon cas, le compilateur sera lancé sur plusieurs ordinateurs (le programme s'éxécute en local: chaque utilisateur lance son instance), donc, si le programme dure N secondes et qu'il y a P utilisateurs, je vais faire perdre l'équivalent de N*P secondes aux utilisateurs, et cela commence à faire beaucoup quand le nombre d'utilisateur augmente! Bref, je suis d'accord que, dans certains cas (peut-être le cas présent), un récursif suffit peut-être, mais disposer d'un non-récursif permet non seulement à ceux qui avaient le récursif d'avoir une autre piste, mais cela ouvre la porte à ceux qui avaient besoin d'un non-récursif. En gros, c'est que du bonus. & +1, pourquoi l'objet impliquerait le récursif? A moins que tu n'ai, en tête, l'idée d'un objet = 1 point de spirale, et que la classe de cet objet dispose d'une méthode "creer_prochain_point()". RE: [PHP] Déterminer le prochain point d'une spirale carrée dans une grille - niahoo - 01-10-2011 Bon je viens de lire la doc et php n'est pas optimisé pour une récursion sur plus de 200 itérations donc en effet ça serait pas une bonne idée pour 10 000 points ! RE: [PHP] Déterminer le prochain point d'une spirale carrée dans une grille - Wells - 06-10-2011 Pourait on s'en servir pour generer une galaxie de planete en spirale? RE: [PHP] Déterminer le prochain point d'une spirale carrée dans une grille - Maz - 06-10-2011 Oui, il est tout à fait possible de générer une galaxie de planète. Le seul "hic" est que la galaxie serais carrée ,) RE: [PHP] Déterminer le prochain point d'une spirale carrée dans une grille - Xenos - 06-10-2011 Une galaxie en spirale possède plusieurs branches courbes qui aprtent d'un point central, or, la présente spirale n'a qu'une seule branche partant de son centre... Une galaxie en spiral aurait plus la forme d'une croix gammée finalement, qui continuerait en s'enroulant sur elle-même RE: [PHP] Déterminer le prochain point d'une spirale carrée dans une grille - Maz - 06-10-2011 Oui, c'est sur qu'avec ce script ta galaxie en plus d'être carrée, elle n'aurait qu'une seule "branche". Ou alors en modifiant un peu, tu pourrais généré 4 branches. Maintenant je penses que c'est vraiment poussé le vice que de vouloir recréé à l'identique une galaxie proprement dite pour un jeu web. Et pourtant je suis du genre à vraiment peaufiner pour pas grand chose ,p RE: [PHP] Déterminer le prochain point d'une spirale carrée dans une grille - Xenos - 06-10-2011 Dans le cas présent, pour une spirale (qui est quand meme pas franchement matricielle, c'est à dire pas facile à caser dans une grille de carrés), il vaudrait mieux avoir des coordonnées X et Y à virgule, et non forcément entières. Là, ce sera possible de créer un algo qui placera la planète sur une branche de la spirale, avec plus de chances d'être proche du centre que d'en être éloigné. RE: Php: déterminer le prochain point d'une spirale carrée dans une grille - jo_link_noir - 13-10-2011 (desole pour les accent, clavier qwerty :/) (30-09-2011, 09:11 AM)niahoo a écrit : Pourquoi vous tenez absolument à ne pas utiliser la récursivité, alors que ça semble très indiqué dans ce cas précis ?Je pense qu'il vaut mieux le faire a coup d'iterateur, c'est plus fun a utiliser L'algo que j'ai fait part d'une position aleatoire dans la map (par defaut le centre) et s'arrete a une position donne (par defaut un coin de la carte (depend de la direction de la spirale: droite, bas, gauche, haut)) C'est un complement des 2 autres ^^
|