⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
FN_b2GearJoint()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
FN_b2GearJoint()
DESCRIPTION.
La fonction FN_b2GearJoint() définit une liaison mécanique entre deux corps dans un monde physique Box2d.
SYNTAXE.
klien = FN_b2GearJoint( monde , corpsa , corpsb , liaisona , liaisonb , ratio )
REMARQUES.
monde doit être l'identifiant de la variable ayant reçu la valeur retournée par l'appel de la fonction FN_b2CreateWorld() et qui indique donc le monde physique dans lequel on crée le corps.
corpsa et corpsb doivent être les identifiants des variables des deux corps à lier.
liaisona et liaisonb doivent être les identifiants des variables des deux liaisons mécaniques à appliquer à corpsa et corpsb.
corpsa doit être un corps lié à liaisona. corpsb doit être un corps lié à liaisonb. Les liaisona et liaisonb doivent être actifs.
ratio doit être une valeur numérique indiquant le ratio, la proportion, de transmission de liaisona à liaisonb. Par exemple si ration vaut :
- 1, quand corpsa tourne / bouge de tant, corpsb tourne / bouge aussi tant° ;
- -1, quand corpsa tourne / bouge de tant°, corpsb tourne / bouge alors -tant° ;
- -0.5, quand corpsa tourne / bouge de tant°, corpsb tourne / bouge alors -2 x tant° ;
- -2, quand corpsa tourne / bouge de tant°, corpsb tourne / bouge alors -0.5 x tant°.
L'appel de la fonction FN_b2GearJoint() va permettre de créer un lien d’engrenage, liaison mécanique, entre dorps disposant de lien rotatif ou prismatique, en imposant une relation mécanique entre leurs mouvements. Cela permet de simuler : des engrenages mécaniques avec des pignons, une crémaillère convertissant une rotation en mouvement linaire, des poulies avec rapport fixe, une transmission mécanique, un moteur à deux axes synchronisés ...
IMPORTANT : un lien mécanique créér avec la fonction FN_b2GearJoint() ne fonctionne pas seul : il doit obligatoirement connecter deux liens, liaisona et liaisonb, existants.
L'appel de la fonction FN_b2GearJoint() retourne un identifiant du lien qui devra être utilisé comme paramètre dans les procédures et fonctions du module box2dlib.bbc. Il est indispensable de mémoriser cette valeur dans une variable pour pouvoir y faire référence ultérieurement.
Rappel : la procédure PROC_b2Init devra toujours être appelée avant tout autre fonction ou procédure de box2dlib.bbc.
La fonction FN_b2GearJoint() est importée depuis le module box2dlib.bbc.
RUBRIQUES.
Les dessins et les graphismes pour plus de détails sur la création de dessins et de graphismes.
La gestion des couleurs pour plus de détails sur la gestion des couleurs logiques et physiques.
EXEMPLE.
REM --- Importation des modules ---
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "box2dlib.bbc"
REM --- INITIALISATION GENERALE ---
REM --- Initialisation et création du monde ---
PROC_b2Init
kmonde = FN_b2CreateWorld( 0 , -9.81 )
REM --- Creation des corps ---
kmoteur = FN_b2DynamicBody( kmonde , 10 , 5 , .64 , 15 , -.5 , -.25 , .02 , 0 )
kgenerateur = FN_b2DynamicBody( kmonde , 2 , 1 , 0 , 10 , -1 , 0 , .1 , 0 )
kmecaM = FN_b2RevoluteJoint( kmonde , kmoteur , 0 , 10 , 5 )
kmecaG = FN_b2RevoluteJoint( kmonde , kgenerateur , 0 , 10 , 12 )
REM --- Creation d'un lien mecanique ---
klien = FN_b2GearJoint( kmonde , kmoteur , kgenerateur , kmecaM , kmecaG , -.4 )
REM --- Fermeture de box2dlib ---
PROC_b2Exit
REM --- Fin du programme ---
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.