Aller au contenu

Liste de points 2D en 3D


Messages recommandés

Posté(e)

Bonjour à tous,

 

Je cherche à convertir une liste de points 2d en 3d avec l'ajout d'un z constant à chaque point de ma liste 2D. J'ai essayé donc de faire une petite fonction mais bug...

 

(defun tri2d3d (lst1 ze / lst2 first xe ye)
 (while lst1
   (setq first (car lst1))
   (if  (= (length first) 2)
     (progn
     (setq xe (nth 0 first))
     (setq ye (nth 1 first))
     (setq lst2 (cons (list xe ye ze) lst2))
     )
     (setq lst2 (cons first lst2))
     )
     (setq lst1 (cdr lst1))
   )
) 

 

J'ai tout essayé et serieux je ne vois pas mon erreur ou mon oubli.

Je précise que ma liste de départ contient des points 3D et des points 2D

Merci par avance de votre aide.

 

John

 

[Edité le 13/10/2009 par chris_mtp]

Posté(e)

Salut

 

(defun tri2d3d (lst1 ze)
 (mapcar '(lambda(a)(append a (list ze))) lst1)
)

 

Exemple

(tri2d3d '((1.0 1.0)(5.0 3.0)(8.0 6.0)) 45.0) --> ((1.0 1.0 45.0) (5.0 3.0 45.0) (8.0 6.0 45.0))

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)
coucou

 

pour créer une LISTE

il faut utiliser la fonction LIST

 

CONS sert à fabriquer des paires pointées ...

 

amicalement

 

[Edité le 13/10/2009 par didier]

 

Ce n'est pas tout à fait aussi simple : dans tous les langages LISP (AutoLISP, Common LISP, Scheme...) cons est la fonction primitive de construction des paires pointée, donc des listes.

Et car et cdr les fonctions primitives d'accès aux éléments des paires pointées et des listes.

 

Une liste LISP telle qu'on a l'habitude de la voir est en fait construite à partir d'instances d'un type plus primitif : les "cellules cons" (cons cells), qu'on représente sous forme de paires pointées.

Pour plus de précisions voir ici et

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é