Bug sur la vision
Merrick écrit :
> (PS : il se peut que certains calculs de trajectoire, dans
> des cas particuliers, ne soient pas encore parfaits, mais
> on y travaille !)
Bon, là je ne suis pas sur un cas particulier mais sur un cas vraiment élémentaire :
00A
00M
0BM
C0M
A voit B, mais ne voit pas C. Ce n'est clairement pas normal.
Je viens proposer mon aide pour corriger cela. J'ai des références : j'ai fait un cours sur l'algorithme de Bresenham, et j'ai adapté l'algo sur des mailles hexagonales.
Krouhm.
> (PS : il se peut que certains calculs de trajectoire, dans
> des cas particuliers, ne soient pas encore parfaits, mais
> on y travaille !)
Bon, là je ne suis pas sur un cas particulier mais sur un cas vraiment élémentaire :
00A
00M
0BM
C0M
A voit B, mais ne voit pas C. Ce n'est clairement pas normal.
Je viens proposer mon aide pour corriger cela. J'ai des références : j'ai fait un cours sur l'algorithme de Bresenham, et j'ai adapté l'algo sur des mailles hexagonales.
Krouhm.
Merci aux admins, passés, présents, et à venir.
je comprends pas ce que tu proposes
et c'est quoi l'algortithme de bresenham ? je pense que ton cours m'interesserait
et c'est quoi l'algortithme de bresenham ? je pense que ton cours m'interesserait
Si vous pouviez sourrire en lisant mes betises ca me ferait tres plaisir ^^ allez ! faites un effort ! voilaaaaaaa !
merci !
Gros Bill depuis le Vendredi 9 Fevrier 2008 a 20h42
XKCD
merci !

Gros Bill depuis le Vendredi 9 Fevrier 2008 a 20h42
XKCD
- Merrick
- Le Taulier
- Messages : 8883
- Inscription : 18 avr. 2003 14:24
- Localisation : Toulouse
- Contact :
Suis preneur effectivement.
Pour info, je me suis basé sur cet algo : http://www.games-creators.org/wiki/Calc ... _grille_2D
Pour info, je me suis basé sur cet algo : http://www.games-creators.org/wiki/Calc ... _grille_2D
[quote=Merrick]Suis preneur effectivement.
Pour info, je me suis basé sur cet algo : http://www.games-creators.org/wiki/Calc ... _grille_2D[/quote]
Et c'est bien pour cela que cela ne marche pas !
OK, je suppose que c'est du PHP. Tu me postes ta fonction telle qu'elle existe aujourd'hui, et je te la muscle. Si c'est pas du PHP (fonction SQL ?) tu me la postes quand même, et je verrais ce que je peux faire. Au pire, je te poserai des questions pour bien comprendre.
Tu peux poster à : [email protected]
[quote=tul]je comprends pas ce que tu proposes
et c'est quoi l'algortithme de bresenham ? je pense que ton cours m'interesserait[/quote]
google Bresenham, tu devrais trouver ton bonheur.
Je ne vais pas te mailer mes notes de cours. Je peux te les faxer si tu veux.
Je peux te mailer mon Bresenham en maille hexagonale, mais comme c'est du flash, je ne pense pas que tu en ferais grand chose (c'est l'algo de ligne de vue du jeu Morne Plaine http://morneplaine.archeograph.com/)
Krouhm.
Pour info, je me suis basé sur cet algo : http://www.games-creators.org/wiki/Calc ... _grille_2D[/quote]
Et c'est bien pour cela que cela ne marche pas !
OK, je suppose que c'est du PHP. Tu me postes ta fonction telle qu'elle existe aujourd'hui, et je te la muscle. Si c'est pas du PHP (fonction SQL ?) tu me la postes quand même, et je verrais ce que je peux faire. Au pire, je te poserai des questions pour bien comprendre.
Tu peux poster à : [email protected]
[quote=tul]je comprends pas ce que tu proposes
et c'est quoi l'algortithme de bresenham ? je pense que ton cours m'interesserait[/quote]
google Bresenham, tu devrais trouver ton bonheur.
Je ne vais pas te mailer mes notes de cours. Je peux te les faxer si tu veux.

Je peux te mailer mon Bresenham en maille hexagonale, mais comme c'est du flash, je ne pense pas que tu en ferais grand chose (c'est l'algo de ligne de vue du jeu Morne Plaine http://morneplaine.archeograph.com/)
Krouhm.
Merci aux admins, passés, présents, et à venir.
[quote=Merrick]Suis preneur effectivement.
Pour info, je me suis basé sur cet algo : http://www.games-creators.org/wiki/Calc ... _grille_2D[/quote]
Bon, petit point technique :
- L'algo que tu as pris est gourmand en temps de calcul - Bresenham est garanti optimal
- surtout, l'algo que tu as choisi fonctionne en 8-connexité : la vue peut passer en diagonal. Pour une ligne de vue, il faut prendre de la 4 connexité (plus gestion des angles).
- enfin et surtout je pense que l'algo ne trace pas des lignes droites. Je ne vais pas décortiquer la méthode, mais le système basé sur un angle calculé à priori me semble difficile à justifier.
Si tu me confies le boulot, je voudrais quelques précisions sur des situations.
1- si A peut voir B, alors B peut voir A. C'est toujours vrai, n'est-ce pas ?
2- Peut on voir sur le côté d'un angle :
A00
00M
00B
si M est un mur, A et B sont-ils en intervisibilité ?
(pour moi, oui)
3- Peut-on voir dans un angle :
A00
00M
0MB
si les M sont des murs, A et B sont-ils en intervisibilité ?
(pour moi, non, mais si tu réponds oui, cela simplifie le problème)
4- Peut-on voir avec un angle à gauche et un à droite :
A00
M0M
00B
si les M sont des murs, A et B sont-ils en intervisibilité ?
(pour moi, non, mais si tu réponds oui, cela simplifie le problème)
Krouhm.
Pour info, je me suis basé sur cet algo : http://www.games-creators.org/wiki/Calc ... _grille_2D[/quote]
Bon, petit point technique :
- L'algo que tu as pris est gourmand en temps de calcul - Bresenham est garanti optimal
- surtout, l'algo que tu as choisi fonctionne en 8-connexité : la vue peut passer en diagonal. Pour une ligne de vue, il faut prendre de la 4 connexité (plus gestion des angles).
- enfin et surtout je pense que l'algo ne trace pas des lignes droites. Je ne vais pas décortiquer la méthode, mais le système basé sur un angle calculé à priori me semble difficile à justifier.
Si tu me confies le boulot, je voudrais quelques précisions sur des situations.
1- si A peut voir B, alors B peut voir A. C'est toujours vrai, n'est-ce pas ?
2- Peut on voir sur le côté d'un angle :
A00
00M
00B
si M est un mur, A et B sont-ils en intervisibilité ?
(pour moi, oui)
3- Peut-on voir dans un angle :
A00
00M
0MB
si les M sont des murs, A et B sont-ils en intervisibilité ?
(pour moi, non, mais si tu réponds oui, cela simplifie le problème)
4- Peut-on voir avec un angle à gauche et un à droite :
A00
M0M
00B
si les M sont des murs, A et B sont-ils en intervisibilité ?
(pour moi, non, mais si tu réponds oui, cela simplifie le problème)
Krouhm.
Merci aux admins, passés, présents, et à venir.
Pour tul et tous ceux qui ont envie de comprendre ce que raconte Krouhm, il y a quelques infos ici:
http://raphaello.univ-fcomte.fr/IG/Algo ... hmique.htm
Je ne suis pas du tout convaincu qu'une 4-connexité soit appropriée. Pour les petits angles ça risque de donner d'autres perturbations. De toute manière c'est en faisant des tests qu'on verra quel algo est le plus pertinent et le plus performant.
http://raphaello.univ-fcomte.fr/IG/Algo ... hmique.htm
Je ne suis pas du tout convaincu qu'une 4-connexité soit appropriée. Pour les petits angles ça risque de donner d'autres perturbations. De toute manière c'est en faisant des tests qu'on verra quel algo est le plus pertinent et le plus performant.
Non, moi c'est l'autre...
[quote=Merrick]La fonction t'a été envoyée par mail, elle est en pl/pgsql.
pour les réponses :
1 - Oui
2 - A priori oui
3 - Oui aussi.
Si besoin, suis dispo assez souvent sur msn.[/quote]
Bon, je viens de te poster l'algo.
Si les réponses sont oui, c'est serein, l'algo que je viens de te poster devrait suffire.
Krouhm.
pour les réponses :
1 - Oui
2 - A priori oui
3 - Oui aussi.
Si besoin, suis dispo assez souvent sur msn.[/quote]
Bon, je viens de te poster l'algo.
Si les réponses sont oui, c'est serein, l'algo que je viens de te poster devrait suffire.
Krouhm.
Merci aux admins, passés, présents, et à venir.
[quote=Mirreck]Pour tul et tous ceux qui ont envie de comprendre ce que raconte Krouhm, il y a quelques infos ici:
http://raphaello.univ-fcomte.fr/IG/Algo ... hmique.htm
Je ne suis pas du tout convaincu qu'une 4-connexité soit appropriée. Pour les petits angles ça risque de donner d'autres perturbations. De toute manière c'est en faisant des tests qu'on verra quel algo est le plus pertinent et le plus performant.[/quote]
Très bon ce cours, sauf justement la partie sur les droites qui ne prend pas Bresenham. Il faut plutôt regarder la partie sur les cercles et les ellipses. Et tout le reste est très intéressant aussi.
Krouhm.
http://raphaello.univ-fcomte.fr/IG/Algo ... hmique.htm
Je ne suis pas du tout convaincu qu'une 4-connexité soit appropriée. Pour les petits angles ça risque de donner d'autres perturbations. De toute manière c'est en faisant des tests qu'on verra quel algo est le plus pertinent et le plus performant.[/quote]
Très bon ce cours, sauf justement la partie sur les droites qui ne prend pas Bresenham. Il faut plutôt regarder la partie sur les cercles et les ellipses. Et tout le reste est très intéressant aussi.
Krouhm.
Merci aux admins, passés, présents, et à venir.
je ne sais pas si c'est utile que je post si l'algo doit changer avec la proposition de Krouhm, mais voici une petite contribution sur un cas rencontré des fois que ça puisse aider :
"x" est une case avec du brouillard et "." une case visible, P c'est moi
désolé, j'ai oublié de noté la partie gauche du mur.
et après déplacement :
je vous laisse interprêter comme il faut, et si ça été inutile, ben tant pis 
"x" est une case avec du brouillard et "." une case visible, P c'est moi

Code : Tout sélectionner
M . . x .
M . x . .
M . . . .
P . . . .
et après déplacement :
Code : Tout sélectionner
x x x M .
x x x M .
x x x M P
x x x . .
x x . . .
x . . . .

moi, j'avais ca:
P . P
. . P
. . M
P . P
. . P
. . M
Si vous pouviez sourrire en lisant mes betises ca me ferait tres plaisir ^^ allez ! faites un effort ! voilaaaaaaa !
merci !
Gros Bill depuis le Vendredi 9 Fevrier 2008 a 20h42
XKCD
merci !

Gros Bill depuis le Vendredi 9 Fevrier 2008 a 20h42
XKCD
- Merrick
- Le Taulier
- Messages : 8883
- Inscription : 18 avr. 2003 14:24
- Localisation : Toulouse
- Contact :
J'ai mis en place à l'instant un nouvel algo envoyé par Kroum, qui a eu la gentillesse de me faire 90% du boulot en l'adaptant au pl/pgsql. Cet algo à l'air beaucoup plus efficace en terme de rendu, mais aussi en terme de temps de calcul.
Merci infiniment à lui.
PS : c'est pour ça que j'aime internet.
Merci infiniment à lui.
PS : c'est pour ça que j'aime internet.
Mais on t'aime toi aussi au grand maitre qui nous donner des heures et des heures de bonheurs. Tien pour fete m'a premiere memo de sort (en plus de mercu), bisou.

Ilunya

Ilunya
Ilunya - Elf Bleu Choisi du destin - [MRIP, Monstrum Requiescat In Pace]
Garett Jax - Un guerrier téméraire - [MRIP, Monstrum Requiescat In Pace]
Rondum - De Profundis - [MRIP, Monstrum Requiescat In Pace] - DP POWA
Garett Jax - Un guerrier téméraire - [MRIP, Monstrum Requiescat In Pace]
Rondum - De Profundis - [MRIP, Monstrum Requiescat In Pace] - DP POWA