Aller au contenu

Trouver le milieu d\'un arc


Messages recommandés

Posté(e)

Je connais la position des deux extrémités d'un arc et sa longueur. Puis-je en déduire le milieu et comment?

 

merci...

Posté(e)

Si une corde (définie par ses extrémités) et une longueur d'arc suffisent à définir un arc (en fait, deux, un de chaque côté de la corde), pour déterminer les autres grandeurs (rayon, flèche), j'ai toujours buté sur une équation que je ne sais pas résoudre du type :

longueur d'arc / corde = demi angle de l'arc / sinus du demi angle de l'arc

 

Bonuscad a trouvé un LISP : Factor qui calcule le demi-angle de l'arc par approximations successives à partir des longueurs de l'arc et de la corde.

 

Si çà peut t'aider.

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Ca me donne une piste mais je suppose que puisqu'il existe deux solutions et forcément deux au problème, le problème doit pouvoir se formaliser par une équation. Je précise également que seule la forme de l'arc m'intéresse, donc que je trouve celui qui est d'un coté ou de l'autre coté de la corde est équivalent.

Posté(e)

Voici les formules que je connais, en espérant que cela te soit utile:

Avec alpha comme angle au centre en RADIANS:

 

 

Longueur développé de la Corde = 2 * PI * Rayon * alpha

 

Hauteur de la flèche = R * (1 - (cos alpha/2))

ou

Hauteur de la flèche = R - (racine carré ( R² - (1/2corde)²))

 

 

Longueur de la Corde = 2 * R * (sin alpha/2)

 

Rappel: Pour un rayon d'unité 1, l'angle au centre en radians est égale à la longueur d'arc développé.

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Re,

 

Un petit LISP vite fait (pas de contrôles, uniquement 2D) qui retourne les coordonnées du point au centre de l'arc en fonction des points de départ, de fin, et de la longueur de l'arc.

Le LISP utilise la routine FACTOR citée plus haut.

L'arc (unique) est déterminé par son départ et sa fin en fonction du sens de rotation des angles (trigonométrique).

 

;;; MID_ARC Retourne les coordonnées du point au centre de l'arc

(defun c:mid_arc (/ dep ext arc cord ang ray mid cen)
 (setq	dep  (getpoint "\nDépart de l'arc: ")
ext  (getpoint "\Fin de l'arc: ")
arc  (getdist "\Longueur de l'arc: ")
cord (distance dep ext)
ang  (factor arc cord)
ray  (abs (/ cord 2 (sin ang)))
mid  (mapcar '/ (mapcar '+ dep ext) '(2.0 2.0 1.0))
 )
 (if (equal (/ pi 2) ang 1e-009)
   (setq cen mid
  ray (/ cord 2)
   )
   (setq
     cen (polar mid (+ (angle dep ext) (/ pi 2)) (* ray (cos ang)))
   )
 )
 (polar cen
 (- (angle dep ext) (/ pi 2))
 ray
 )
)

;;; Détermination du demi angle de l'arc à partir de sa corde et de sa longueur

(defun factor (arclen chordlen / k n c e)
 (setq k (/ chordlen arclen))
 (setq n 0)
 (repeat 6
   (if	(= n 0)
     (setq c (sqrt (- 6 (* 6 k))))
     (setq c (- c (/ (- (sin c) (* k c)) (- e k))))
   )
   (setq e (cos c))
   (setq n (1+ n))
 )
 c
) 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

On peut faire encore plus simple, sachant que l'angle entre la corde et la ligne entre le départ et le sommet de la flèche (le point recherché) est égal au quart de l'angle de l'arc.

 

Toujours avec FACTOR

 

;;; MID_ARC Retourne les coordonnées du point au centre de l'arc

(defun c:mid_arc (/ dep ext arc ang cord)
 (setq	dep  (getpoint "\nDépart de l'arc: ")
ext  (getpoint "\Fin de l'arc: ")
arc  (getdist "\Longueur de l'arc: ")
ang  (angle dep ext)
cord (distance dep ext)
 )
 (command "_point"
   "_non"
   (polar dep
	  (- ang (/ (factor arc cord) 2))
	  (/ cord 2 (cos (/ (factor arc cord) 2)))
   )
 )
) 

 

Oups !!! j'avais effacé des définitions de variables.

[Edité le 27/1/2006 par (gile)]

 

[Edité le 27/1/2006 par (gile)]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

J'ai trouvé de l'info sur un site traitant de mathématiques, il semble que les formules suivantes donnent la longueur de la flèche d'un arc dont on connait la corde et la longueur:

 

Soit c la corde et s la longueur:

 

on a sin(x)/x = c/s où x est une inconnue.

 

On trouve x (équation à une inconnue), que l'on utilise dans la formule suivante:

 

h = s(1-cos(x))/(2x)

 

On trouve h qui est la longueur de la flèche et donc le milieu de l'arc qui est l'extrémité de cette longueur.

 

PS: x doit être exprimé en radians dans l'expression cos(x)

 

Je vérifie dès que possible cette formule, mais un point m'interpelle, comme on dit, pourquoi serait-il nécessaire de procéder par itérations et approximations si une formule donne la solution exacte?

 

Les formules qui nous intéressent pour cette discussion se trouvent

sur cette page

Posté(e)
Salut,

 

Quelques formules utiles ici : http://mathforum.org/dr.math/faq/faq.circle.segment.html

 

Philippe

 

Tu m'a précédé de quelques instants...

 

Par contre l'équation sin(x)/x = c/s est soluble avec la méthode de Newton et n'est pas comme je le disais une simple équation à une inconnue, nous en revenons donc à une méthode par itération, qui fonctionne d'ailleurs bien puisque le LISP Factor mentionné sur ce forum remplit bien sa fonction dans AutoCAD.

Posté(e)

Merci à Patrick et Delicad pour ce lien fort intéressant, je vais pouvoir essayer de comprendre cette fameuse "méthode de Newton" tout en perfectionnant mon piètre anglais :)

 

J'ai mis ici un mémo pour pouvoir jongler avec les dimensions d'un arc.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité