Aller au contenu

Coupe courbes de niveau


Nicky

Messages recommandés

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 trace
  • Mais 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...

xqQ7R.png

 

 

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

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

  • 2 semaines aprè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 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é