Transformation d'une spirale d'archimède en un ensemble d'ar

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 15:47

Transformation d'une spirale d'archimède en un ensemble d'ar

par FlaMMe34 » 12 Aoû 2013, 16:28

Bonjour,

je ne sais pas si je suis dans la bonne section ou non mais je fait confiance au admin pour me rediriger si besoin.

Voila je suis développeuse et je coince sur un algorithme me permettant de transformer une spirale d'Archimède en un ensemble d'arc.
Je coince sur l'aspect mathématique du problème.

Voila je m'explique un peu plus clairement dans le cadre d'un logiciel de pilotage machine je souhaiterais pouvoir réaliser des spirales, or mes moteurs ne comprennent que des arcs ou des lignes. Je coince un peu sur la façon d'envoyer ces spirales sous forme d'un ensemble d'arc, sachant que pour envoyer un arc il me faut l'angle de départ de mon arc, l'angle de parcours, le rayon de courbure et sa position à l'une des extrémités de l'arc.

je n'ai aucun mal a récupéré les positions que je souhaiterais être les extrémités de ma spirale avec les formules :



Code: Tout sélectionner
rayon = (pas_variationSpire/(2*))*angle;
  x = cos(angle)*rayon + x_duMilieuDeLaSpirale;         
  y = sin(angle)*rayon + y_duMilieuDeLaSpirale;



Je prend alors deux angles différents pour récupérer les extrémités de mon futur arc, mon angle de parcours est alors la différence entre ces deux angles.

mais a partir de ça j'ai du mal à comprendre ( ou du moins m'a façon de calculé de marche pas totalement) comment obtenir le reste des informations c'est a dire l'angle de départ, le rayon de courbure, et la position ajusté de la première extrémité de l'arc.

j'ai supposé que le rayon de courbure était le rayon de courbure de la moyenne des rayons entre chacun des point et le centre de la spirale mais je n'en suis pas sûr.

Voila si vous pouvez m'aider je vous en serais extrêmement reconnaissante.



Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 12 Aoû 2013, 17:16

Bonjour,
A ma connaissance, une machine informatique (langage, dessin etc.) ne sait tracer que des segments de droite.
Les fonctions de tracé d'arcs de cercles calculent l'angle au centre tel que l'écart le plus grand entre la corde et l'arc soit inférieur à la tolérance.

Dans votre cas, la méthode qui me parait la meilleure est de calculer une succession d'arc de parabole. La parabole a la propriété intéressante suivante :
Soit un arc de parabole AB de sommet de tangence T. On appelle M le milieu de AB, alors la parabole passe par le point C, milieu de MT.
De cette façon là on divise un arc de parabole par dichotomie, et en ne calculant que des moyennes, donc aucune ligne trigonométrique.
Donc, vous divisez votre spirale en succession d'arc, par exemple PI/4 ou PI/6 (à tester suivant votre goût) et chaque arc sera dessiné comme indiqué.
Si vous voulez, je vous donnerai volontiers la fonction en C.

FlaMMe34
Membre Naturel
Messages: 25
Enregistré le: 01 Oct 2012, 15:47

par FlaMMe34 » 13 Aoû 2013, 08:42

Mes moteurs ne peuvent réalisé que les arc de cercle et non des arc de parabole.

Mon idée était de discrétiser ma spirale en arc de cercle avec des pas angulaires très petit et paramétrable ( entre PI/16 et PI/64).

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 13 Aoû 2013, 12:22

Bonjour,
Je crois plutôt que vos moteurs ne peuvent réaliser que des segments de droite.
Comme l'arc de cercle est très connu et très utilisé, les auteurs de la machine ont ragouté cette fonction.
Donc, vous allez approcher un arc de spirale avec un arc de cercle qui lui même est certainement géré comme une ligne brisée, laquelle est peut-être crée en assimilant d'arc de cercle à un arc de parabole.
Pour mémoire, vers les années 75, il y en a qui se sont cassé les dents avec des pas "paramétrables". Il faut calculer le pas de telle façon que la distance entre la corde et l'arc soit intérieur à la tolérance.
Je pose le problème sous un autre angle. Sachant qu'une machine ne sait tracer que des segments de droite, comment tracer une spirale ?

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5478
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 13 Aoû 2013, 17:35

FlaMMe34 a écrit:
Code: Tout sélectionner
rayon = (pas_variationSpire/(2*))*angle;
  x = cos(angle)*rayon + x_duMilieuDeLaSpirale;         
  y = sin(angle)*rayon + y_duMilieuDeLaSpirale;

(...)
j'ai supposé que le rayon de courbure était le rayon de courbure de la moyenne des rayons entre chacun des point et le centre de la spirale mais je n'en suis pas sûr.

Bonjour

Si je comprends bien, en plus de votre supposition sur le rayon du cercle, vous avez également supposé que le centre du cercle est égal au centre de la spirale. Or rien ne prouve que cela soit exact.

Personnellement, je ne ferais aucune supposition et je calculerais le centre C du cercle passant par trois points A,B,C choisis sur l'ellipse. Ensuite viendra le calcul du rayon du cercle (distance entre le centre C et les points A,B,C), puis finalement un arc de cercle approchant le bout d'ellipse car passant les trois points A,B,C.
En ce qui concerne la précision, je pense qu'il faut faire des essais (choisir A,B,C proches mais pas trop) et voir si cela convient...

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 13 Aoû 2013, 18:12

Pourquoi se compliquer la vie à vouloir à tout prix calculer des arcs de cercle qui seront de toute façon transformés en ligne brisé.
Pour un arc de cercle de rayon R il est facile de calculer la flèche. C'est l'erreur qui sera commise. Inversement, il est facile de calculer l'angle au contre tel que la flèche sera inférieure à l'erreur acceptable.
Cet angle permettra de calculer 3 points successifs, ABC tels que la ligne brisée AB-BC sera aussi proche que l'on veut, de l'arc de spirale correspondant.
L'intérêt d'utiliser la parabole ne réside que dans le rapidité de calcul.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 40 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite