⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
FN_b2WeldJoint()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
FN_b2WeldJoint()
DESCRIPTION.
La fonction FN_b2WeldJoint() permet de souder deux corps dans un monde physique Box2d.
SYNTAXE.
ksoudure = FN_b2WeldJoint( monde , corpsa , corpsb , abscisse , ordonnee , raideur , amortissement )
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, du point d’attache servant de référence pour figer les positions relatives de corpsa et de corpsb dans monde.
raideur doit être une valeur numérique indiquant le type de rigidité à respecter pour la distance entre les deux corps. Plus la valeur de raideur est grande, plus la soudure est rigide, peu mobile, sauf pour la valeur 0, qui annule toute élasticité à la soudure en la rendant totalement rigide.
amortissement doit être une valeur numérique indiquant l’amortissement des oscillations à respecter si raideur est différent de 0. Par exemple, si amortissement vaut :
- 0, forte oscillation, pas d’amortissement ;
- de 0.2 à 0.7, amortissement réaliste ;
- 1, amortissement critique, pas d’oscillation.
L'appel de la fonction FN_b2WeldJoint() va créer une articulation virtuelle de type soudure servant à lier deux corps comme s’ils étaient soudés, tout en autorisant éventuellement une légère souplesse (raideur + amortisseur). Ce type de lien va maintient les positions et les orientations relatives des deux corps, en interdisant toute rotation et toute translation entre deux corps. Cependant, on pourra, si besoin lui donner une légère élasticité.
On pourra utiliser la fonction FN_b2WeldJoint() pour assembler des pièces , pour rigidifier une structure, simuler une soudure, un collage, un rivet rigide ou faire un ressort rotatif très dur.
L'appel de la fonction FN_b2WeldJoint() 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_b2RopeJoint() 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 ---
ksocle = FN_b2StaticBody( kmonde , -1 , 0 , .5 , .5 , 1 )
kbloc = FN_b2StaticBody( kmonde , 1 , 0 , .5 , .5 , 1 )
REM --- Creation d'un lien prismatique ---
kpoulie = FN_b2RopeJoint( kmonde , ksocle , kbloc , 0 , 0 , 0 , 0 )
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.