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 :
Bonjour,
Il y a sûrement des logiciels de dessins qui pourraient réaliser ton application.
Mais avec les moyens du bord...., Il me semble avoir compris que tu ne sais tracer que des arcs de cercle.
Je te propose une solution par approche discrète qui consiste à reculer ou à avancer le centre de l'arc sur le rayon du cercle de déplacement pour diminuer ou augmenter la courbure puisque
plus précisement le "centre" de ta spirale
ton point de départ , DS le rayon de départ,
la variation d'angle
Tu traces l'arc de centre S de rayon DS et d'angle , M1 le point d'arrivée, tu définis une variation de courbure
,
le nouveau rayon
Sur la ligne tu places le nouveau centre S1 de manière à avoir
et tu poursuis ainsi.
Je ne sais si tu connais les nombres complexes, je pourrais t'expliquer plus mathématiquement le processus
tout d'abord merci de me répondre.
alors oui je connais les nombres complexes et oui mes moteurs ne savent que faire des arcs de cercle.
concernant ta proposition j'avoue que j'ai un peu de mal a visualisé la chose comme ça.
Oui je sais que la spirale d'Archimède n'est pas une réunion d'arc, mais j'essai d'en faire une approche la plus fiable possible en "discrétisant" ma spirale en arc de cercle selon un pas angulaire paramétrable, donc théoriquement plus se pas angulaire est petit plus je devrais être proche d'une vrai spirale d'Archimède.
En se qui concerne les spirales à deux centres, je ne connais pas trop bien le sujet : cette spirale sera-t-elle un réel équivalent à une spirale d'Archimède?
Les deux spirales semblent quand même avoir une différence significative.
Mon application devant permettre de faire des spirales très précises (au micron près) cette solution ne pourra pas être envisagé
Au micron près avec un truc capable seulement de tracer des arcs de cercles ? Tu galèjes ?
Tu peux avoir aussi des spirales à n+1 centres (sommets d'un polygone régulier de côté 1/n), qui ont un pas de 1 et se rapprochent de la spirale d'Archimède pour n tendant vers l'infini.
Mais, avec un pas de 1cm, pour avoir une précision de 1 micron il faudrait prendre n de l'ordre de 10 000.
Je répète : tu galèjes !
Il s'agit d'un logiciel permettant de réaliser des microlentilles.
Donc forcement il faut être assez précis c'est pourquoi j'était parti sur une discrétisation de ma spirale en arc de cercle afin de garder le maximum de précision.
J'était parti sur un pas angulaire variant entre PI/16 et PI/64
Proposition :
Rho = b + a.theta
est l'équation de la spirale.
x = Rho.cos(theta)
y = Rho.sin(theta)
x = (b + a.theta).cos(theta)
y = (b + a.theta).sin(theta)
dx/dt = a.cos(theta) - a.theta.sin(theta)
dy/dt = a.sin(theta) + a.theta.cos(theta)
d²x/dt² = -2a.sin(theta) - a.theta.cos(theta)
d²y/d²t = 2a.cos(theta) - a.theta.sin(theta)
R(theta) = [(a.cos(theta) - a.theta.sin(theta))² + (a.sin(theta) + a.theta.cos(theta))²]^(3/2) /[(a.cos(theta) - a.theta.sin(theta)).(2a.cos(theta) - a.theta.sin(theta)) - (a.sin(theta) + a.theta.cos(theta)).(-2a.sin(theta) - a.theta.cos(theta))]
R(theta) = [a²(1+theta²)]^(3/2)/[a².(2+theta²)]
R(theta) = a.(1+theta²)^(3/2)/(2+theta²)
C'est le rayon de courbure en fonction de theta. (Calculs non vérifié ... c'est à faire)
-----
Exemple numérique :
Supposons qu'on veut relier 2 points, l'un à theta = 15° et l'autre à theta = 20°
Pour la courbe Rho = 1 + 2*theta (theta en radians)
Point A : Theta = 15*Pi/180 rad ; Rho = 1 + 2 *15*Pi/180 = 1,5236
Point B : Theta = 20*Pi/180 rad ; Rho = 1 + 2 *20*Pi/180 = 1,6981
R(pointA) = 2 * (1 + (15*Pi/180)²)^3/2 / (2 + (15*Pi/180)²) = 1,068
R(pointB) = 2 * (1 + (20*Pi/180)²)^3/2 / (2 + (20*Pi/180)²) = 1,120
Rmoyen = (1,068+1,120)/2 = 1,094
Le centre du cercle à tracer se trouve sur la médiatrice de [AB] et à la distance 1,094 de A (ou de B, c'est pareil).
Le centre du cercle est donc déterminé et son rayon est 1,094.
-----
Le tout à vérifier.
Bonjour,
Comme le dit GaBuZoMeu, une spirale d'Archimède n'est pas une réunion d'arcs de cercle, alors puisque ton outillage te permet de construire des arcs de cercle, il doit aussi savoir faire des segments!
Autant construire des points réels de ta spirale d'Archimède.
Tu choisis un pas d'angle
Puis tu choisis les paramètres de ta spirale d'Archimède formule
Les points seront définis par leur coordonnées
avec
Ensuite tu traces les segments c'est sûrement aussi bien que des arcs de cercle
Si t est petit, tu approches la spirale convenablement il me semble, évidement plus t est petit plus il te faut de points, mais je pense que tu disposes d'outils informatiques.
J'ai fais l'essai avec un logiciel , une chose est sûre, tes points appartiennent à la vraie spirale, les segments ne sont là que pour le décor, la ligne brisée obtenue colle assez bien à la spirale avec un t qui n'est pas si faible que cela.
Pourquoi est-ce que les microlentilles seraient en forme de spirale d'Archimède ? Y a-t-il une raison pour ça ? Une lentille a aussi une épaisseur, quid de cette épaisseur ?
S'il s'agit de microlentilles, c'est me semble-t-il une très petite portion d'une telle spirale, en admettant que ce soit une spirale. Je vois difficilement l'utilité de lentilles comme celle du dessin que j'ai fait plus haut.
Si tu étais plus précise sur les spécifications réelles de ton problème ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :