Site ELEC344/ELEC381

Partie interactive du site pédagogique ELEC344/ELEC381 de Télécom ParisTech (occurrence 2010).

Catégories

Algo de mouvement du serpent

Jeudi dernier j’ai fini de coder la méthode de Brent (virgule flottante) pour mapper le serpent dans une sinusoïde et j’ai commencé à faire l’écriture du code pour les chiffres en virgule fixe. J’avais la multiplication qui marchait bien et la table de valeurs des sinusoïdes.

Aujourd’hui, j’ai continué le codage du calcul en virgule fixe. J’ai fait l’opération de division (qui apparemment marche bien) et aussi deux fonctions qui calculent le zéro d’une f(x), une première fonction par la méthode de la dichotomie et une autre par la méthode de Brent. Je ne sais pas pourquoi, mais la méthode de la dichotomie converge plus vite que celle de Brent (ce qui est bizarre parce que normalement la méthode de Brent sert à accélérer la convergence).

Comme j’ai cité dans le dernier post, on essaie de trouver le zéro de la fonction f(x1) = (x1 – x0)^2 + (sen(x1) -sen(x0))^2 – d^2, sachant que « d » est la taille de chaque vertèbre (une valeur fixe). Si on fixe le premier point à 0, quand le serpent est totalement plat, on arrive à trouver tous les autres points du serpent mappé dans un sinusoïde.

Lorsqu’on a trouvé x1, on peut déjà trouver l’angle de mouvement du moteur de la première vertèbre. C’est là où je me suis arreté pour l’instant.

Commentaires fermés.