BOIDS DE CRAIG REYNOLDS

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 - 28 mars 2008 à 14:46
cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013 - 29 avril 2011 à 17:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46214-boids-de-craig-reynolds

cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013
29 avril 2011 à 17:48
là, je n'y peux rien.
1 - on ne fait pas de l'algorithmie sur visual basic, mais on applique l'algo au langage basic.
2 - je ne connais pas le VBA
3 - si tu ne comprend pas le VBA ni l'algorithmie, ce n'ai pas de l'aide qu'il te faut mais des cours.

Barbichette
vichetos Messages postés 2 Date d'inscription mardi 5 avril 2011 Statut Membre Dernière intervention 29 avril 2011
29 avril 2011 à 12:29
Oui mais je ne trouve rien qui peut m'aider, le problème c'est que je ne comprends rien en algorithme sur visual basic.
cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013
8 avril 2011 à 19:12
Oui,
en tapant "BOIDS DE CRAIG REYNOLDS" sur google, il y a tout pour comprendre, avec des animations, des mathématiques...
vichetos Messages postés 2 Date d'inscription mardi 5 avril 2011 Statut Membre Dernière intervention 29 avril 2011
8 avril 2011 à 16:24
Bonjour,
J'ai un projet semblable à faire sur VBA . Est ce qu'il est possible de m'aider?
Merci
cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013
14 avril 2010 à 22:42
oui, Delphi
Agro1a Messages postés 1 Date d'inscription dimanche 7 mars 2010 Statut Membre Dernière intervention 14 avril 2010
14 avril 2010 à 21:56
Bonsoir,

J'aurais besoin de télécharger cette simulation dans le cadre de mes études. Néanmoins, étant totalement novice en la matière, je n'y parviens. Y a-t-il un logiciel quelconque à installer préalablement ?

Merci d'avance.
Utilisateur anonyme
31 mars 2008 à 13:19
Sauf que ça fait tout planter
en fait ça fonctionne un fois ils se séparent bien mais ne respecte plus les conditions !!!! et le prog plante violemment.
cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013
31 mars 2008 à 13:05
il me semble que de remplacer
Cursor_attract=300;
par
Cursor_attract=-300;
va provoquer une répulsion de la souris et non une attirance...

A essayer....
Utilisateur anonyme
31 mars 2008 à 12:57
Voilà le genre de code que l'on a l'habitude de voir de ta part.

Bravo que dire de plus .... ben pas grand chose sauf peut être
pour ajouter une touche supplémentaire de réalité il serait bien que la souris joue le rôle de prédateur ce qui permettrait de rentrer dans le tas pour voir une réaction similaire à la réalité (comme un banc de poissons qui se fait chasser)

En tous cas un grand Bravo 10/10
cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013
30 mars 2008 à 23:13
oui, il y a aussi, lors de l'affichage :
bx:=boides[i].x div 16;
by:=boides[i].y div 16;
bvx:=boides[i].vx div 16;
bvy:=boides[i].vy div 16;
et non une division par 10
puis dans formcreate :
x:=random(clientwidth*16);
y:=random(clientheight*16);
Car de compilateur va remplacer les div par des "sar si,4", et un décalage est mieux qu'un div...
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
30 mars 2008 à 23:06
Trés jolie!

juste une petite optimisation a faire de rien du tout :

remplacer les 180/Pi par une constante histoire de gagner quelques cycles par ci par la.

const
DTR = 180/PI;
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
30 mars 2008 à 16:33
Y'a plus qu'à en faire un screensaver...
C'est très intéressant de jouer avec les paramètres en constantes.
Bravo pour cet excellent code!
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
29 mars 2008 à 15:17
Pour ma part, l'effet est trés réaliste avec :
Align_attract=2;
Angle_Vision=180;

bravo barbichette !
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
28 mars 2008 à 23:28
Merci.
...
Et t'as rien prévu pour simuler les bombes en ce qui concerne un bataillon de poilus qui monte à l'assaut en 14-18?
cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013
28 mars 2008 à 22:46
Alors, pour refléter un banc de poissons qui réagi d'un seul homme, mettre les constantes comme suit :
Align_attract=1; // la force d'alignement est la plus puissante
Angle_Vision=180; // un champs de vision à 360°

Sinon pour un essaim de mouche :
Separation_repuls=1;
Angle_Vision=140; // (soit 200° au total)

Enfin, une petite remarque pour ceux qui n'auraient pas compris:
un univers fermé est comme dans le vieux jeu astéroïde, un objet qui sort à droite revient par la gauche (et pareil pour le haut et le bas).
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
28 mars 2008 à 21:36
excellent
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
28 mars 2008 à 18:25
Superbe et étonnant. Comme d'hab avec Barbichette.

Une petite remarque, cependant :
La simulation ne reproduit pas vraiment le comportement d'un banc de poissons ou d'une nuée d'oiseaux. Une observation attentive de ce genre de phénomène nous montre que l'ensemble semble changer de direction "comme un seul homme", si on peut dire.
Pour les oiseaux, je ne sais pas comment ils font. Mais pour un banc de poissons, j'avais lu un article scientifique qui décrivait une découverte récente des biologistes. Les poissons ont une série de capteurs situés sur une ligne le long de leurs flancs. Ces capteurs sensoriels sont sensibles aux champs électro-magnétiques provoqués par la contraction des muscles de leur congénères. Et il semble bien que la cohésion et le comportement du banc soit liée à ces capteurs.

Bref. Si je raconte tout ça, c'est parce qu'il me semble que le code est facilement modifiable pour arriver à un comportement plus conforme à la réalité.
« un boid ne voit pas les boids derrière lui » semble être une erreur.
Peut-être que si tu as le temps et comme tu as "vécu" cet algo, peux-tu tenter de modifier cela et tester...

Ce commentaire "naturaliste" n'enlève rien à l'intérêt de ton post, bien sûr... Et dsl pour la longueur de l'intervention.
cs_Lassal Messages postés 27 Date d'inscription jeudi 7 novembre 2002 Statut Membre Dernière intervention 21 mai 2008
28 mars 2008 à 14:57
Source hypnotique, le rendu est fort sympathique.
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
28 mars 2008 à 14:46
Toujours aussi interessant comme source!
Le code est simple à comprendre mais son ensemble est bien plus difficile.
Bravo, magnifique!
A+
Rejoignez-nous