Nicky Posté(e) le 24 août 2020 Partager Posté(e) le 24 août 2020 Salut la communauté! Je cherche à utiliser une routine permettant de réaliser une coupe de terrain (intersection entre une ligne et des courbes de niveau) afin de visualiser le profil du terrain. Je pense que je ne suis pas trop loin du compte, il y a de nombreuses petites erreurs, mais je me heurte a une problématique majeure : ma liste de point n'est pas dans le bon ordre et lorsque que je trace le profil les points ne s’enchaîne pas comme il faut, je précise:Si l'axe de ma coupe (ligne) intersecte 10 courbes de niveau différentes, le profil est bien traceMais l'axe de ma coupe intersecte 2 fois (ou plus) la même courbes de niveau, les points sont classer dans le désordre. L'exemple ci-dessous explicite le problème rencontre lorsque les courbes de niveau sont couper plusieurs fois... Du coup, je ne sais pas qu'elle méthode serait la mieux pour corriger cette erreur de tracé :Y q t il une erreur dans la récupération des points aux intersections §Faut il simplement reclasser l'ordre de la liste des points (dans le bon sens de l'axe) ?Je vous joins le fichier LISP. Le fichier est bidouillé (composé de création perso et de copier coller de routines existantes), ça risque de faire mal aux yeux des puristes... Je m'en excuse. Coupe sur CN Merci d'avance pour vos réponses et aides! Nicolas Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 25 août 2020 Partager Posté(e) le 25 août 2020 Bonjour, Le plus simple, c'est de calculer la distance entre chaque point et le point de départ de l'axe, puis de trier par distance croissante.Tu balaies tes points, pour chacun, tu calcules la distance et tu ajoutes le couple (paire pointée par ex) "distance point" à ta liste de couple, puis tu tries par distance croissante et tu récupères le second élément de ta liste.pour trier, tu peux regarder du côté de vl-sort (vl-sort ta_liste (function (lambda (e1 e2) (< (car e1) (car e2)) ) ) ) Olivier Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicky Posté(e) le 2 septembre 2020 Auteur Partager Posté(e) le 2 septembre 2020 Super ! Merci Olivier, c'est une très bonne idée et ça tourne maintenant ! Merci. Nicolas 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