IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lisp Discussion :

Calcul distance entre un point et une poly3D


Sujet :

Lisp

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 44
    Points : 11
    Points
    11
    Par défaut Calcul distance entre un point et une poly3D
    Bonjour,

    Je suis débutant en Lisp et je recherche pour un projet à créer ou récupérer un code lisp permettant de calculer la distance 3d entre un point (XYZ) et une poly 3D...

    Sauf que je ne trouve pas grand chose...

    Merci pour votre aide,

    Cordialement,

    Loic

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    Dans l'hypothèse très probable, que tu veuilles réaliser tout cela sous AutoCAD, nous ne sommes plus vraiment dans un problème de programmation Lisp, mais dans un problème d'accès à la base de données AutoCAD et de l'utilisation de fonctions AutoLisp spécifiques (là nous nous éloignons de CLisp et de la programmation fonctionnelle)..

    Tout d'abord tu souhaites calculer pas "la" mais "une" distance entre un point 3D (XYZ) et une polyligne 3D.
    Extrait de l'aide AutoCAD:
    Une polyligne 3D est une séquence de segments de ligne droite reliés entre eux créés comme un objet unique. Les polylignes 3D peuvent être non coplanaires, mais ne peuvent pas contenir de segments d'arc.
    Donc la première question est: la distance entre un point 3D et quel élément de ta polyligne 3D (un segment de droite, un sommet spécifique)?

    Pour accéder en AutoLisp aux données de la polyligne 3D, on peut cliquer par pointage avec la fonction:

    (entsel) en faisant une sélection unique qui retourne une liste composé du nom d'entité et du point de sélection. Le nom d'entité étant le nom d'entité de la poly3D (entité principal) et non le nom de l'entité constituante (sous –entité) qui a été cliqué.

    Avec la fonction (nentsel) au lieu (entsel) sur une entité complexe comme la poly3D, tu accèdes directement à la sous-entité cliqué nommé vertex dans le cas des polyligne.

    En AutoLisp avec les entités complexes pour accéder à l'ensemble des entités constituantes à partir de là définition principal, tu récupère les noms des entités constituantes (0 . "VERTEX") avec des appels successif à de la fonction (entnext [arg]) ayant pour argument le nom de l'entité précédente, jusqu'à rencontrer une entité (0 . "SEQUEND"), vertex et sequend étant spécifique aux Polylignes.


    Une fois tes éléments récupéré, il existe la fonction (distance pt1 pt2), qui renvoie la distance 3D ou 2D suivant que tes points sont définie par une liste de 3 nombres ou une liste de 2 nombres


    En espérant t'avoir un peu éclairé sur le sujet.
    Cordialement,

    (Ps: Pour débuter en AutoLisp, une fois les bases de la syntaxe lisp maîtrisé, la difficulté principal est de comprendre l'organisation des données sous AutoCAD pour cela il ne faut pas hésiter à lire l'aide de la référence DXF, puis il faut se familiariser avec des fonctions propre à AutoLisp pour cela il existe des forums plus spécifique tel que ceux d'Autodesk, ou sur celui de CADxp forum francais et réactif)

  3. #3
    Membre éprouvé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Points : 1 060
    Points
    1 060
    Par défaut
    Citation Envoyé par Bruno-Vdh Voir le message
    Donc la première question est: la distance entre un point 3D et quel élément de ta polyligne 3D (un segment de droite, un sommet spécifique)?
    Par défaut, on raisonne sur les ensembles de points décrit par les géométries pour les distances (et autres opérations géométriques). Il faut alors prendre le minimum des distances entre le point et chaque segment de la polyligne 3D.

    Pour la distance point/segment, tu devrais trouver plus facilement des formules sur le net.

Discussions similaires

  1. [9.3] distance entre deux points par une polyligne
    Par Gronimo dans le forum SIG : Système d'information Géographique
    Réponses: 3
    Dernier message: 04/06/2014, 11h48
  2. Calcul de distance entre deux points sur une carte ( openlayers)
    Par Atika90 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/08/2013, 16h27
  3. Calcule distance entre 2 points
    Par abir001 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 08/04/2010, 11h12
  4. mesure de distance entre 2 points dans une figure
    Par sdecorme dans le forum MATLAB
    Réponses: 4
    Dernier message: 04/07/2008, 19h51
  5. Mesure distance entre 2 points d'une image
    Par vexal dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/05/2005, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo