Spirale archimede & Intersection

Olympiades mathématiques, énigmes et défis
ZoR
Messages: 5
Enregistré le: 12 Mai 2020, 19:00

Spirale archimede & Intersection

par ZoR » 12 Mai 2020, 19:34

Bonjour,

J'aurai besoin de trouver une formule mathématique, mais je coince un petit peu.

L'équation d'une spirale d'archimede est donné par . Quelques infos utiles sur les spirales d'archiméde: https://mathcurve.com/courbes2d/archimede/archimede.shtml.

J'ai fait un petit programme pour dessiner cette courbe, ca c'est ok.

Maintenant mon problème. Je vais essayer de vous le faire comprendre avec cette image :

Image

Je connais l'angle vert (et donc le Rayon r vert) et la distance d (noir).

Selon cette distance d, je souhaiterai trouver le point (r'-bleu/'-bleu).

Alors, dans mon programme, je pourrai arriver a trouver une approximation de ' bleu en me rapprochant petit à petit mais je sens bien qu'il y a moyen de trouver cette intersection avec une petite astuce de math.

Par exemple, si on choisi le cercle dont le centre est "au bout de la flèche verte", de rayon "d", alors mon problème serait résolu si je savais déterminer l'intersection entre ce cercle et la spirale.

Une petite précision, "d" représente une distance, pas le vecteur. C'est une valeur numérique, par exemple ca pourrait être 3 cm.

En gros, j'ai un point (r,) sur la spirale, et je cherche les coordonnées polaire du point sur la spirale (en avançant sur la spirale) qui se situe a une distance de "d", en ligne droite, a partir de mon point (r,).

Mais je n'y arrive pas :?

Vous comprenez mon problème ? Suis-je au bon endroit pour poser ma question ?

Merci d'avance a ceux qui m'ont lu et à ceux qui pourraient me répondre !



GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Spirale archimede & Intersection

par GaBuZoMeu » 13 Mai 2020, 11:27

Une réponse simple : est une solution de l'équation


Il y en a deux si est suffisamment petit, mais il peut y en avoir une floppée si est grand.
Modifié en dernier par GaBuZoMeu le 13 Mai 2020, 12:45, modifié 1 fois.

ZoR
Messages: 5
Enregistré le: 12 Mai 2020, 19:00

Re: Spirale archimede & Intersection

par ZoR » 13 Mai 2020, 12:19

Salut GaBuZoMeu,

Ton équation me plait bien. Effectivement, selon la taille de d, on comprend facilement que le nombre d'intersections varie.

Dans mon cas, je peux considérer que d est petit, donc imaginons qu'il y ait 2 solutions : une avec , et une avec .

La ou je me pose encore des questions, c'est comment je les calcul / trouve en pratique avec ta formule. J'avoue que je bloque encore ... S'il n'y avait qu'une seule solution possible, j'essayerai de retourner la formule pour trouver un truc du genre , mais avec plusieurs solution j'ai du mal a voir ou ca va me mener ... Cette fameuse fonction me retournerai plusieurs résultat. Il me manque quelque chose mais j'arrive pas a savoir quoi.

Tu vois ce que je veux dire ?

Merci beaucoup en tous cas !

ZoR

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Spirale archimede & Intersection

par GaBuZoMeu » 13 Mai 2020, 12:44

Non, je ne vois pas bien. Tu n'auras pas de "jolie formule". Tu auras une solution numérique, et tu peux écrire dans un logiciel de calcul scientifique une procédure qui te rendra cette solution quand tu lui fournis et .
J'ai corrigé ma formule où il manquait quelque chose.

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21535
Enregistré le: 11 Nov 2009, 22:53

Re: Spirale archimede & Intersection

par Ben314 » 13 Mai 2020, 13:03

Salut,
Il est clair (graphiquement parlant) que la fonction est croissante sur l'intervalle donc pour trouver la solution de sur cet intervalle une bête dichotomie suffit.
C'est aussi "presque" vrai sur l'intervalle sauf que là, la fonction n'est pas tout à fait décroissante sur tout l'intervalle.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

ZoR
Messages: 5
Enregistré le: 12 Mai 2020, 19:00

Re: Spirale archimede & Intersection

par ZoR » 13 Mai 2020, 13:10

Ok, merci pour la correction.

J'avoue que je ne sais pas trop comment expliquer. Je n'utilise pas de logiciel scientifique. J'ai besoin de ca pour un projet informatique "perso".

C'est moi qui programme ma fonction de dessin de la spirale. Ca c'est ok. Ensuite, sur cette spirale, je voudrai ajouter des choses à certains points. Supposons que j'ai un point P(), je cherche a trouver les coordonnées du suivant en utilisant ma fameuse distance.

Et c'est la ou ca coince, j'ai pas d'autre solution que m’écrire une fonction qui me retourne le point suivant P(), en fonction de ma distance.

J'ai du mal a faire le lien entre une équation mathématique qui peut donner plusieurs résultat et la programmation de cette formule qui servirai a retourner "toute les solutions" de cette équation.

C'est peut être pas clair ce que je raconte ...

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Spirale archimede & Intersection

par GaBuZoMeu » 13 Mai 2020, 16:51

Je n'utilise pas de logiciel scientifique

Eh bien, tant pis pour toi dirais-je. Tu t'es peut-être fixé une tâche au-delà de tes moyens.
Si tu utilisais python par exemple, tu pourrais utiliser la bibliothèque scipy qui propose des résolutions numériques d'équation. À partir de là, tu pourrais sans trop de peine fabriquer une procédure retournant le bon
Sinon, il te reste toujours la possibilité d'écrire toi-même un module de résolution d'équation non linéaire. Bon courage.

ZoR
Messages: 5
Enregistré le: 12 Mai 2020, 19:00

Re: Spirale archimede & Intersection

par ZoR » 13 Mai 2020, 17:36

Par curiosité, je vais regarder a quoi ça ressemble cette librairie.

Il y a quand même quelque chose que j'ai pas bien compris. Si des lib existent pour résoudre ces équations, c'est bien qu'il y a moyen de le faire. C'est "comment" le faire qui m'intrigue. Tu as probablement raison, pour programmer ca, il doit certainement falloir plus de connaissance en math que ce que j'ai. C'est peut être bien le concept d'équation non linéaire qui me manque. Une équation non linéaire signifie que plusieurs résultats sont possible ?

A la place, je vais faire une approximation, simplement en faisant une petite dichotomie sur le que je cherche.

Quand je serai suffisamment proche de "d", je considérai que je l'ai trouvé, ça fonctionnera très bien dans mon cas.

C'est juste que ça m'aurai plu de trouver la formule me permettant de le trouver "exactement". Et je pensais également que ça serait "plus rapide" en terme de consommation cpu que la dichotomie. Je m'attendais vraiment à avoir accès à une formule assez simple du genre

Encore merci pour ta patience et ces infos !

Note: quand j'aurai fais quelques test et ce petit algo, je m'amuserai quand même a vérifier que l’équation que tu proposes est vérifiée par les angles que je trouve :)

danyL
Membre Rationnel
Messages: 681
Enregistré le: 03 Jan 2015, 14:29

Re: Spirale archimede & Intersection

par danyL » 13 Mai 2020, 17:37

GaBuZoMeu a écrit:Une réponse simple : est une solution de l'équation


si c'est pas indiscret, comment on arrive à cette équation ?
(les études sont loin)

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Spirale archimede & Intersection

par GaBuZoMeu » 13 Mai 2020, 18:47

je m'amuserai quand même a vérifier que l’équation que tu proposes est vérifiée par les angles que je trouve

Si elle ne l'est pas, c'est que tu t'es trompé : un bon test.
L'équation, c'est tout bêtement écrire que la distance de à ) est égale à (où est le point .

Une des méthodes de résolution d'équation non linéaire (= équation qui n'est pas linéaire, tout simplement) proposée dans scipy est
scipy.optimize.bisect
Commentaire : "Basic bisection routine to find a zero of the function f between the arguments a and b. f(a) and f(b) cannot have the same signs. Slow but sure."

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Spirale archimede & Intersection

par GaBuZoMeu » 14 Mai 2020, 21:40

Ce fil termine de façon un peu tristounette. Égayons-le.

Image

Le code python :

Code: Tout sélectionner
import numpy as np
import scipy.optimize as op
import matplotlib.pyplot as plt

def Equat(t,r) :
    return lambda s : s**2+t**2-2*s*t*np.cos(s-t)-r**2   

def Prochain(t,r) :
    return op.brentq(Equat(t,r),t,t+6*np.pi)

S=[0]
for i in range(10) :
    S.append(Prochain(S[-1],2*np.pi))

def X(s,a) :
    return s*a*np.cos(s)
def Y(s,a) :
    return s*a*np.sin(s)

ang = np.linspace(0, 4 * np.pi, 200)
plt.plot(X(ang,2),Y(ang,2))
plt.axis("equal")
plt.axis("off")
plt.plot([X(s,2) for s in S],[Y(s,2) for s in S],"o-", color="red",)

plt.show()

danyL
Membre Rationnel
Messages: 681
Enregistré le: 03 Jan 2015, 14:29

Re: Spirale archimede & Intersection

par danyL » 18 Mai 2020, 20:26

merci pour ta réponse

 

Retourner vers ⚔ Défis et énigmes

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 19 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