Prenons par exemple le cas des courbes à rayon sinusoïdal.

 fleur 01

Ces courbes sont définies par l'équation intrinsèque : \(R=a(b+cos(\dfrac{s}{a}))\)

R est le rayon de courbure, s l'abscisse curviligne, a et b deux paramètres.

La tortue de CaRMetal permet d'étudier cette famille de courbes.

R=ds/dΘ où Θ est l'angle du vecteur tangent avec la droite (Ox).

Pour 3 000 itérations, le script tortue sera le suivant :

AttacherTortue("A");
pour i allant de 1 à 3000 {
    Avancer("ds");
    TournerGauche("ds/(a*(b+rcos("+i+"*ds/a)))*180/pi");
}

La chaîne de caractère est interprétée comme une expression.
Dans chaque boucle, la sous-chaîne i+"*ds" correspond à s.
Il faut travailler en radians, donc :

  • on utilise rcos plutôt que cos
  • on tient compte du fait que la CaRCommande TournerGauche est en degrés (coef 180/pi)

La méthode est applicable à toute famille de courbes définies par une équation intrinsèque avec paramètres.

On trouvera des exemples dans cet article mathémaTICE (prélude à l'apparition de la tortue dynamique mutante dans CaRMetal).

Pièce(s) jointe(s):
Télécharger ce fichier (RayonSinus.zirs)RayonSinus.zirs[ ]1 Ko