Aller au contenu

Messages recommandés

Posté(e)

Salut!

 

dans mon lisp, je cherches à calculer l'angle entre 3 points, j'utilise le produit scalaire,

AB.AC = ||AB||*||AC||*cos(AB,AC).

Il existe la focntion cos en LISP, mais son inverse acos non :(

Quelqu'un connaitrait le nom de la fonction, ou mieux, une biblio mathématiques arx?

 

Merci d'avance.

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Posté(e)

regarde ce sujet .

 

Il y a d'ailleurs dans ce sujet un autre renvoi fait par (gile) sur les vecteur il me semble.

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

Posté(e)

Ok, merci.

 

C'est justement ce que je cherchais: angle entre 3 points.

C'est mieux et plus court que mon truc.

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Posté(e)

Arrghhhhhh :mad:

 

Ca marche pas si deux points ont juste le Z différent.

il me dit points 2D confondus, et la cotation angulaire me renvoie ligne de longueur nulle:

c toi la nulle!!

 

Donc je vais quand même faire un truc à ma sauce.

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Posté(e)

Salut,

 

Pour avoir l'angle défini par 3 points 3D, en utilisant le "théorème de Carnot"

 

(defun angle_3pts (som p1 p2 / d1 d2 d3)
(setq d1 (distance som p1)
d2 (distance som p2)
d3 (distance p1 p2)
)
(if (and ((acos (/ (+ (* d1 d1) (* d2 d2) (- (* d3 d3)))
(* 2 d1 d2)
)
)
)
)

(defun acos (num)
(cond
((equal num 1 1e-9) 0.0)
((equal num -1 1e-9) pi)
(((atan (sqrt (- 1 (expt num 2))) num)
)
)
) 

 

Tu peux trouver d'autres petites routines de ce genre ici.

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

Posté(e)

Merci Gile ;) !

 

Ton code marche nickel. Le but du calcul d'angle et que je dois tester si l'angle formé entre deux lignes est bien règlementaire.

 

En tout cas, en visitant un peu plus ce forum, j'ai pu constater que t'es l'équivalent du yoda du lisp :cool: .

 

pour ma part, je suis encore qu'un jeune padawan (cela fait 4 mois que j'ai commencé)

 

Merci encore.

 

 

bseb

 

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

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é