VDH-Bruno Posté(e) le 6 août 2022 Partager Posté(e) le 6 août 2022 Le 04/08/2022 à 11:34, (gile) a dit : Pour donner quelque chose d'un peu différent des précédentes réponses, je voudrais juste montrer comment on peut calculer les sommets de la polyligne sans utiliser la fonction polar. Dans les routines suivantes, les variables ou arguments n et m stockent deux termes consécutifs de la suite de Fibonacci, les variables ou arguments x et y stockent les signes (+1 ou -1) utilisés pour déplacer le sommet. Bonsoir, Petite variation du code de (gile) pour le plaisir de montrer la souplesse du langage, donc si on ne voulait pas passer par le calcul en coordonnée polaire, et préférer passer par le calcule des coordonnées cartésiennes. La variante suivante travaille directement sur les d'opérateurs mathématiques, les arguments fx et fy stockent les opérandes de déplacement (+ -), dans le même esprit que la proposition de BonusCAD, ceci en remplacement des coefficients directeurs +1 ou -1 utilisé dans le code d'origine. (defun fibSpiral (p i / loop b) (setq b (- (sqrt 2.) 1.)) (defun loop (i px py n m fx fy) (vl-list* (list 10 px py) (cons 42 b) (if (< 0 i) (loop (1- i) (fx px m) (fy py m) m (+ n m) (if (= fy -) + -) fx) ) ) ) (entmakex (append (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 90 (+ i 1)) ) (loop i (car p) (cadr p) 0 1 - +) ) ) ) Apprendre => Prendre => Rendre Lien vers le commentaire Partager sur d’autres sites More sharing options...
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