Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc

FN_b2RevoluteJoint()

DESCRIPTION.


La fonction FN_b2RevoluteJoint() définit un lien entre deux corps pour les faire tourner autour d'un point dans un monde physique Box2d.




SYNTAXE.


ktour = FN_b2RevoluteJoint( monde , corpsa , corpsb , abscisse , ordonnee , minimum , maximum )




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.


abscisse et ordonnee doivent être des valeurs numériques indiquant les coordonnées, dans monde, du point de d'ancrage, le pivot,  autour duquel corpsa et corpsb vont tourner. 


minimum et maximum doivent être des valeurs numériques indiquant les limites, en radians, de l’intervalle angulaire autorisé pour la rotation de corpsb par rapport au corpsa autour du pivot. L’angle 0, en radian, correspond à la position relative actuelle les deux corps à l'appel de la fonction FN_b2RevoluteJoint(). Donc minimum et maximum sont relatifs à cette angle 0, pas absolus, et ce ne sont pas des angles minimum et maximum par rapport à l’horizontale. Par exemple, par rapport à l'angle 0° : 

- minimum = 0 et maximum = 0, pas de limite ;

- minimum = -PI / 4 et maximum = PI / 2, l'écartement angulaire peut peut aller de -90° à +180° ;

- minimum = 0 et maximum = PI / 6, le déplacement peut aller de 0° à +60°.


L'appel de la procédure FN_b2RevoluteJoint() va donc relier corpsa et corpsb présents dans monde, et les autorisera uniquement à un déplacement rotatif autour d'un pivot commun, ils peuvent tourner l’un par rapport à l’autre autour de ce point, et l’angle relatif de rotation entre leurs orientations est maintenu entre minimum et maximum radians. 


On utilisera la procédure FN_b2RevoluteJoint() pour simuler une roue sur un chassis, porte dans un mur, un bras avec son avant-bras, un pendule, un mécanisme articulé, ...



L'appel de la fonction FN_b2RevoluteJoint() 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, en particulier lors de l'utilisation de la fonction FN_b2GearJoint().



Rappel : la procédure PROC_b2Init devra toujours être appelée avant tout autre fonction ou procédure de box2dlib.bbc.



La fonction FN_b2RevoluteJoint() est importée depuis le module box2dlib.bbc. 



Voir la fonction FN_b2GearJoint() qui permet de déplacer les corps mécaniquement.




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 ---

kmur = FN_b2StaticBox( kmonde , 0 , 0 , .2 , 2 , 0 )

kporte = FN_b2DynamicBody( kmonde , 1 , 0 , 1 , .2 , 1 , 0 , 0 , 0 )


REM --- Creation d'un lien rotatif ---

krotation = FN_b2RevoluteJoint( kmonde , kmur , kporte , .5 , 5 , -PI/2 , PI/2 )


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

vos remarques, vos commentaires et de vos suggestions.

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.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse