Invité Patrick Posté(e) le 27 janvier 2006 Posté(e) le 27 janvier 2006 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...
(gile) Posté(e) le 27 janvier 2006 Posté(e) le 27 janvier 2006 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
Invité Patrick Posté(e) le 27 janvier 2006 Posté(e) le 27 janvier 2006 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.
bonuscad Posté(e) le 27 janvier 2006 Posté(e) le 27 janvier 2006 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))ouHauteur 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
(gile) Posté(e) le 27 janvier 2006 Posté(e) le 27 janvier 2006 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
(gile) Posté(e) le 27 janvier 2006 Posté(e) le 27 janvier 2006 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
delicad Posté(e) le 28 janvier 2006 Posté(e) le 28 janvier 2006 Salut, Quelques formules utiles ici : http://mathforum.org/dr.math/faq/faq.circle.segment.html Philippe
Invité Patrick Posté(e) le 28 janvier 2006 Posté(e) le 28 janvier 2006 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
Invité Patrick Posté(e) le 28 janvier 2006 Posté(e) le 28 janvier 2006 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.
(gile) Posté(e) le 28 janvier 2006 Posté(e) le 28 janvier 2006 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
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant