Jump to content

VDH-Bruno

Membres
  • Content Count

    1 030
  • Joined

  • Last visited

  • Days Won

    12

VDH-Bruno last won the day on March 30

VDH-Bruno had the most liked content!

Community Reputation

32 Excellent

About VDH-Bruno

  • Rank
    ceinture noire 2em dan

Profile Information

  • Gender
    Not Telling
  1. Bonjour @(gile), Pour le retour (et la petite blague), en détaillant hier soir le fonctionnement de ton QuikHull, je me suis aperçu que tu générais des sommets superposés, graphiquement tu as le bon nombre de coté, mais trop de sommets. Pour t'en convaincre en exemple sur polygone convexe à 11 cotés généré avec la commande test, la ligne de code suivante m'indique 17 sommets.... _$ (cdr (assoc 90 (entget (car (entsel))))) 17 J'ai mis un moment à comprendre, mais c'est tout bête, c'est la variable pt qui fait nous un effet de bord... dans le code tu as omis de la loca
  2. Bonjour @didier Bien que je sois intimement convaincu que tu trouveras (à raison) toujours plus d'inspiration dans les lignes de (gile) que dans les miennes, si des fois il y en a une ou deux qui te conviennent en ce qui me concerne tout ce qui est sur les forums est libre de droit, être repris est toujours une forme de reconnaissance😉 Pour une date de dépôt je suis plus mitigé, l'esprit d'un challenge est un jeu entre vitesse d'écriture et optimisation des lignes de code, personnellement je n'ai pas d'état d'âme à poster rapidement si je pense que la solution n'est pas optimal (car
  3. @(gile) Clap clap clap, chapeau bas, pour la concision je ne crois pas que l'on puisse faire mieux, l'air algébrique (qui donne la position, la surface et le donc point le plus éloigné) "mais c'est bien sur" cela ne m'a même pas effleuré l'esprit, pourtant je le sais et je l'ai écrit donc sur ce coup je m'en amuse (c'est pas faute d'avoir réfléchi pour le faire en un passage, set était bien présent en tête si je trouvais ce moyen😉). Je n'ai aucun regret je m'étais imposé 1h pour écrire le quickHull, j'ai débordé cela m'a pris 1h45, c'est le maximum que je pouvais faire dans le temps impar
  4. @didier, Oui bravo, ça fonctionne, tu as implémenté l’algorithme de Graham's il me semble, il te reste encore a implémenter l'algorithme Quickhull
  5. @(gile)Je ne doute pas de la concision de ta version, que je détaillerai avec sourire en me disant "mais c'est bien sur", pour un second jet c'est compliqué, je suis entrain de pisser du trait en mode dessinateur d’exécution, pour la quarantaine de bonhommes qui attendent lundi dans l’atelier ferraillage/coffrage, les joies du télétravail (le travail qui s'invite à la maison, et non le travaille devant la télé comme certains seraient tenté de croire). @didier Pas de soucis j'ai beaucoup d'humour, je ne me suis pas sentie visé d’ailleurs celle-ci: lu comme ça, cela
  6. Désolé Didier, mais comme je voyais pas mal de commentaires, j'ai cru à tord que le challenge était un peu bloqué... Alors je m'y suis attelé ce matin. Amicalement aussi A+ Bruno
  7. Bonjour, Rapidement un premier jet: (defun Quickhull (lst / P Q position cut-pts getPtH HalfConHull) ;; Position d'un point C par rapport à une droite orienté (AB): 0 = sur la droite; 0 < au-dessus; 0 > au-dessous (defun position (A B C) (- (* (- (car B) (car A)) (- (cadr C) (cadr A))) (* (- (cadr B) (cadr A)) (- (car C) (car A))) ) ) ;; coupe une lite de points en 2 par rapport à un segment ->( (liste des points dessus)(liste des points dessous)) (defun cut-pts (A B lst haut bas) (cond ((null lst) (list haut bas)) ((minusp (position A B (car
  8. Oui tout à fait, merci d'avoir complété et élargie mon propos que j'avais limité aux versions impératives qui ont des versions récursives équivalentes, pour essayé de montrer que passer par un raisonnement par récurrence, peut aussi permettre de reformuler la résolution de façon plus optimal même pour une écriture dans un style plus impératif. (Ps:@(gile): Jolie démonstration pour le append, cons)
  9. Bonjour, @Fraid append est moins efficient que un reverse + cons, j'ai beaucoup de mal à retrouver mes sujets sur ce forum, mais nous en avions déjà fait une démonstration dans de précédent challenges, pour les testes sur de grande liste les versions impératives qui utilisent reverse sont meilleurs que leurs versions récursives. @(gile)Bien que le (eval fun) soit exécuté à chaque appel, je préfère utiliser la "fonction lambda enveloppante" en bibliothèque (pas en challenge) par goût et par clarté avec l'habitude ce style de structure est devenu idiomatique, au premier coup d’œil, je
  10. Bonjour, Visiblement il n’y a pas eu foule, ça ne me semblait pas un exercice trop dur à relever (j’espère tout de même qu’il y en a quelques-uns qui ont tenté de plancher de leurs coté). Dans ce challenge outre le fait que la fonction soit d’ordre supérieur (c’est-à-dire qu’elle accepte une fonction en argument), la fonction en argument comparant les éléments 2 à 2, l’éventuelle difficulté dans le traitement, c’est de vouloir construire la liste en retour par la queue (au moyen d’append), alors qu’une liste se construit plus simplement par la tête (avec cons)… En récursif dans
  11. Re, Oui c'est plus dans cette direction, en trouvant le moyen de tous les supprimer...
  12. Oui c'est mieux, mais dans le traitement tu peux facilement optimiser quant je compare à ma version itérative avec foreach😊
  13. Oui justement, ça me laisse perplexe car j'en ai pas eu besoin dans ma version récursive, mais j'avoue que sa fonction est plus efficiente que ma proposition, ça doit tenir à une question de style, je vais essayer de me dégager un peu de temps d'ici mardi soir pour opter pour une réécriture dans style un peu plus efficient, merci à (gile)
  14. Bravo Fraid, maintenant que ça fonctionne je pense que tu dois pouvoir optimiser le traitement😉
  15. Bonjour Fraid, Pour ma part ce n'était pas un problème de passion, juste que le challenge proposé faisait appel à des connaissances que je n'avais pas sur le sujet, donc j'avoue que pour participer cela m'aurait demandé un peu (beaucoup) de recherche pour que je puisse me mettre au niveau de la difficulté à relever. Sur ce coup, j'ai préféré passer mon tour une prochaine fois peut-être. Personnellement je te remercie tout de même de l'avoir posé car qui sait si un jour je veux jouer avec des url ce post sera une bonne base de départ. Salutations Bruno
×
×
  • Create New...