⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
FN_b2DistanceJoint()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
FN_b2DistanceJoint()
DESCRIPTION.
La fonction FN_b2DistanceJoint() relie deux corps par un lien simulant un ressort dans un monde physique Box2d.
SYNTAXE.
kressort = FN_b2DistanceJoint( monde , ancre , satellite , xancre , yancre , xsatellite , ysatellite , 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.
ancre et satellite doivent être les identifiants des variables des deux corps à lier.
xancre et yancre doivent être des valeurs numériques indiquant les coordonnées du point de référence pour ancre.
xsatellite et ysatellite doivent être des valeurs numériques indiquant les coordonnées du point de référence pour satellite.
raideur doit être une valeur numérique indiquant le type de rigidité à respecter pour la distance entre les deux corps. C’est l’équivalent de la raideur, ou constante de rappel, notée k, dans un vrai ressort. Plus la valeur de raideur est grande, plus le ressort tente de revenir rapidement à sa longueur de repos.Si ressort vaut :
- 0, pas d'effet ressort, distance entre les deux corps est toujours la même ;
- 1, donne un effet de ressort très mou, oscillations lentes ;
- de 2 à 4, donne un effet de ressort moyen, rebond naturel ;
- de 5 à 10, donne un effet de ressort raide ;
- de 11 à 15, donne un effet de ressort très rigide ;
- supérieur à 15, donne un effet de presque rigide, très peu d’élasticité.
amortissement doit être une valeur numérique indiquant l’amortissement des oscillations à respecter si raideur est différent de 0, pour revenir à la distance de référence entre les deux corps. C’est l’équivalent du frottement ou de la viscosité dans un système ressort-masse. Par exemple, si amortissement vaut :
- 0, aucune perte, c'est-à-dire que le lien ressort oscille indéfiniment dit rebond flottant ;
- de 0.1 à 0.3, amortissement léger, 85 % des cas ;
- 0.7, amortissement critique, retour rapide, sans rebond ;
- 1, très amorti, mouvement lourd, collant.
Après l'appel de la fonction FN_b2DistanceJoint(), Cette fonction crée un lien de distance, c’est-à-dire une liaison entre deux corps qui maintient une distance constante entre deux points d’ancrage.
L'appel de la fonction FN_b2DistanceJoint() 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_b2DistanceJoint() 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 ---
kvaiseau = FN_b2DynamicBody( kmonde , 10 , 5 , .64 , 15 , -.5 , -.25 , .02 , 0 )
knacelle = FN_b2DynamicBody( kmonde , 2 , 1 , 0 , 10 , -1 , 0 , .1 , 0 )
REM --- Creation d'un lien elastique ---
kressort = FN_b2DistanceJoint( kmonde , kvaiseau , knacelle , 4 , 5 , 2 , 1 , 3 , .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
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.