Normale à une courbe définie par des points continus - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 48 sur 48

Normale à une courbe définie par des points continus



  1. #31
    zedrummer

    Re : Normale à une courbe définie par des points continus


    ------

    Désolé, je pense que je m'exprime mal: j'ai bien un fichier BMP comme celui mis plus haut. Donc j'ai des points. J'ai déjà fait la programmation du traitement du contour du BMP qui fait que j'ai la structure suivante pour chaque point:

    Code:
    typedef struct
    {
    	// structure pour chaque point du fichier BMP
    	double hauteurvoutein, hauteurvouteout; // hauteur de la voute à l'intérieur et à l'extérieur en ce point 
    	BOOL contour; // est-ce que c'est un contour de la voûte
    	double xnormin, ynormin; // si oui, coordonnée du vecteur normal unitaire orienté vers l'intérieur de la voûte
    	unsigned int xmidpoint, ymidpoint; // si oui, quel est le point milieu entre ce point et le point du contour pointé par ce vecteur au départ de ce point
    	unsigned int xprepoint, yprepoint; // si oui, position du point précédent dans le contour
    	unsigned int xsuipoint, ysuipoint; // si oui, position du point précédent dans le contour
    }pointBMP;
    et que "contour", "xprepoint", "yprepoint", "xsuipoint" et "ysuipoint" sont déjà définis. Etant sur un BMP, le x=0 est à gauche et le y=0 est en bas.

    Donc cette structure me donne les coordonnées des points du contour et quand j'en ai trouvé un je peux faire tout le tour.

    La programmation n'est pas vraiment un problème, je programme depuis que j'ai 8 ans (BASIC, puis assembler 16 bits x86, puis C). J'ai programmé beaucoup avec OpenGL, j'ai codé entièrement un clone de Picross3D (jeu pour Gameboy DS en version Windows) téléchargeable ici https://mega.nz/#!OJQ0EDDQ. C'est plus l'algorithmique et les maths un peu poussées derrière pour lesquelles j'ai du mal, j'ai pourtant fait une prépa, mais hormis pour ma programmation, j'ai certainement quasiment tout perdu, mon activité professionnelle ne demandant pas de pratiquer.

    -----

  2. #32
    goaoute

    Re : Normale à une courbe définie par des points continus

    Suite du mien: Quand tu parles de "défonceuse", on a l'impression que tu travaille sur du plein (bois brut); or il me semble que dans la fabrication des caisses de violons et autres contrebasses, les bois sont formés à la vapeur (pour conserver l'intégrité de la fibre).
    Quelques détails seraient les bienvenus, où: Comment compte-tu interfacer le pc avec la scie, la rappe et la toile abrasive ?.
    Dernière modification par goaoute ; 23/07/2019 à 07h39.

  3. #33
    CM63

    Re : Normale à une courbe définie par des points continus

    Bonjour,

    Ok, super, c'est déjà une bonne chose. Peux-tu nous faire une synthèses des raisons pour lesquelles les solutions que nous t'avons proposées ne conviennent pas (spline, Bezier, polynômes) désolé je suis embêtant mais ça clarifierait bien, et peut-être aussi nous dire pourquoi tu veux calculer la normale, en remontant plus haut dans le besoin peut-être qu'on verrait quelque chose de mieux à faire (enfin si cela ne pose pas de problème sur le plan du secret professionnel). Merci.

  4. #34
    ansset
    Animateur Mathématiques

    Re : Normale à une courbe définie par des points continus

    Citation Envoyé par CM63 Voir le message
    ....... et peut-être aussi nous dire pourquoi tu veux calculer la normale,.....
    c'est aussi ce que je ne comprend pas.
    car je ne vois aucune raison pour que le "bombage" soit géométriquement lié aux normales de la courbe ext.
    car la normale depuis un point de départ arrive à un autre point qui lui n'a pas une normale qui donne cette même ligne de courbe...
    où bien, il y encore un truc qui m'échappe.
    cordialement.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  5. #35
    zedrummer

    Re : Normale à une courbe définie par des points continus

    @goaoute en lutherie de violon/violoncelle/contrebasse, les éclisses (parties latérales de la caisse) sont comme pour les guitares cintrées (mouillées puis pliées en les chauffant) ce qui est faisable, car elle reste droite dans le sans de la largeur de l'éclisse (https://www.youtube.com/watch?v=i7vxqccXdlo). Par contre, la table et le fond sont forcément découpés dans du bois brut au ciseau à bois (à partir de 0:20 ici https://www.youtube.com/watch?v=C44DRV3Xfx4).
    En tant que simple amateur (débutant en plus), je l'ai fait pour un premier essai de contrebasse très étroite et ça m'a pris un temps fou en plus d'être pas bien régulier en épaisseur, même si j'ai du bon matos (je suis inscrit dans un atelier d'ébénisterie associatif avec du matériel pro):

    IMG_20190706_122458.jpg IMG_20190706_103242.jpg IMG_20190625_163643 (Personnalisé).jpg

    Le PC ne servira qu'à créer un autre fichier image avec les lignes de niveaux qui sera soit projeté en taille réelle sur le bois pour être tracé à la main, soit imprimé en taille réelle pour également être reproduit sur le bois. Ensuite la découpe se fera à la défonceuse sur la face extérieure de l'extérieur vers l'intérieur et sur la face intérieure de l'intérieur vers l'extérieur (du plus profond vers le moins profond). Puis ce sera régularisé au ponçage.

    @CM63: Les solutions qui m'ont été proposées me plaisent parfaitement, j'ai demandé par exemple des précisions sur la toute première réponse de minushabens qui m'a semblée très chouette mais au delà de mes compétences.

    Tu pourrais par exemple échantillonner le long te ta courbe un certain nombre de points et interpoler localement la courbe par une spline cubique. Puisque c'est juste un polynôme tu peux calculer la normale en chaque point de façon exacte. Elle va dépendre de ton échantillonnage, s'il est assez fin (mais pas trop fin) ça devrait bien se passer. Je suppose que tu peux faire varier cet échantillonnage et choisir le pas optimal, par une procédure de type variation croisée.
    Si on m'oriente sur comment faire ça à partir de mon point et de ceux autour, je suis hyper preneur!

  6. #36
    zedrummer

    Re : Normale à une courbe définie par des points continus

    @ansset et CM63: La normale c'est un choix pour automatiser la génération des courbes de niveaux. On est d'accord que les 2 points ne renverront pas l'un sur l'autre, mais on parle bien de créer les courbes de niveaux entre le point initial et le milieu donné par ce point opposé.
    De toute façon, même si je ne compute pas le point opposé pour savoir la distance sur laquelle je dois développer ma fonction de profondeur jusqu'au point milieu et que je donne une valeur fixe à cette distance (ce sur quoi j'ai longtemps hésité et j'hésite encore, je le reconnais), il me faut quand même la normale, car c'est bien sur cette normale que je dois projeter ma fonction, ça, ça me semble parfaitement logique.
    Dernière modification par zedrummer ; 23/07/2019 à 08h43.

  7. #37
    CM63

    Re : Normale à une courbe définie par des points continus

    Bonjour,

    Citation Envoyé par zedrummer Voir le message

    Citation Envoyé par je ne sais plus qui
    Tu pourrais par exemple échantillonner le long te ta courbe un certain nombre de points et interpoler localement la courbe par une spline cubique. Puisque c'est juste un polynôme tu peux calculer la normale en chaque point de façon exacte. Elle va dépendre de ton échantillonnage, s'il est assez fin (mais pas trop fin) ça devrait bien se passer. Je suppose que tu peux faire varier cet échantillonnage et choisir le pas optimal, par une procédure de type variation croisée.
    Si on m'oriente sur comment faire ça à partir de mon point et de ceux autour, je suis hyper preneur!
    Ok, ça c'est assez simple, d'ici ce soir je regarde comment le faire à partir de ton code.

  8. #38
    zedrummer

    Re : Normale à une courbe définie par des points continus

    Vous êtes sensass', merci du temps passé sur mon cas.

  9. #39
    polo974

    Re : Normale à une courbe définie par des points continus

    Bonjour,

    je ne comprends pas trop pourquoi tu passes du svg au bitmap.

    par exemple, en reprenant ton image, j'ai re généré un svg (si joint dans un spoil, il suffit de l'enregistrer en x.svg pour pouvoir l'afficher dans firefox):
     Cliquez pour afficher



    la courbe est décrite par la commande d="m 158.22076,-71.335722 c -3.30308,0.162561 -6.71663,0.561579 .... z"
    on trouve la doc svg, et des codes en c pour travailler avec les bezier (cubiques et quadratiques). il est alors assez simple de calculer une normale...
    Jusqu'ici tout va bien...

  10. #40
    zedrummer

    Re : Normale à une courbe définie par des points continus

    D'accord, super, je ne savais pas que les fichiers svg étaient écrits en clair.
    Du coup je vais chercher comment décrypter tout ça et je demanderai sans doute encore un peu d'aide sur comment utiliser tout ça, comme je l'ai dit plus haut, ça me dépasse un peu aujourd'hui.
    Merci beaucoup Polo974

  11. #41
    CM63

    Re : Normale à une courbe définie par des points continus

    J'ai une question: la "défonceuse" c'est une fraise à bois non? C'est-à-dire un outil qui creuse en forme de cylindre, et qu'on déplace.

    Autre chose: est-ce que tu peux commander la trajectoire de l'outil par commande numérique? Et est-ce que le besoin initiale ne serait pas : je veux que l'outil creuse le bois à l'intérieur du contour, sans jamais en sortir, avec une certaine tolérance?

    Si c'est bien ça, est-ce que tu serais preneur d'un algorithme qui travaille uniquement sur les distances entre l'outil et les points du contour, sans calcul de normal, ni spline? J'y ai réfléchi ce midi en taillant mes rosiers (en plein cagnar).

    Si tu es intéressé, je peux le faire en utilisant les noms de variables de ton code, que tu as posté.

    Je détaille un peu: on utiliserait quand même le produit scalaire entre vecteurs, pour savoir dans quel sens tourner, pour longer le contour, etc, donc c'est voisin de la notion de normale, mais c'est plus simple, je trouve, en tout cas pas besoin de régression ni de spline. Et pas besoin de détecter des angles dans le contour.

    Je travaillerai avec les courbes discrétisées, pas le fichier SVG.

  12. #42
    zedrummer

    Re : Normale à une courbe définie par des points continus

    Oui c'est bien ça, mais commandé à la main, raison pour laquelle je fais du plus profond vers le moins profond. Je garde un support plat pour appliquer ma défonceuse.
    Je prévois de faire des écarts de 1 ou 2 mm et de terminer en ponçant pour effacer les "escaliers".

    Pour Polo974, je précise quand même que l'idée de départ n'était pas de passer par un svg, mais de trouver une image de forme qui me plaît sur le net. Mais s'il faut pas de souci.

    Merci encore

  13. #43
    invite73192618

    Re : Normale à une courbe définie par des points continus

    Citation Envoyé par CM63 Voir le message
    on utiliserait quand même le produit scalaire entre vecteurs, pour savoir dans quel sens tourner, pour longer le contour, etc, donc c'est voisin de la notion de normale, mais c'est plus simple, je trouve, en tout cas pas besoin de régression ni de spline. Et pas besoin de détecter des angles dans le contour.
    C'est sympa, ça. Zed, bonne chance et dsl de ne pas avoir bien compris ton problème, tu es entre de bonnes mains.

  14. #44
    zedrummer

    Re : Normale à une courbe définie par des points continus

    J'en suis sûr, c'est très sympa d'avoir essayé.

  15. #45
    goaoute

    Re : Normale à une courbe définie par des points continus

    Citation Envoyé par zedrummer Voir le message
    @ansset et CM63: La normale c'est un choix pour automatiser la génération des courbes de niveaux. On est d'accord que les 2 points ne renverront pas l'un sur l'autre, mais on parle bien de créer les courbes de niveaux entre le point initial et le milieu donné par ce point opposé.
    De toute façon, même si je ne compute pas le point opposé pour savoir la distance sur laquelle je dois développer ma fonction de profondeur jusqu'au point milieu et que je donne une valeur fixe à cette distance (ce sur quoi j'ai longtemps hésité et j'hésite encore, je le reconnais), il me faut quand même la normale, car c'est bien sur cette normale que je dois projeter ma fonction, ça, ça me semble parfaitement logique.
    ce qui semblerait logique, c'est de prendre du papier à l'échelle 1/1, et avec les instruments conventionnels, règle, compas, pistolet à tracer, d'aller droit au but.

  16. #46
    CM63

    Re : Normale à une courbe définie par des points continus

    Ok, si tu dois suivre à la main, mon algorithme serait d'aucune utilité. Mais si tu traces sur tous les points de la courbe discrétisée des cercles de rayon R, où R est le rayon de l'outil, avec une certaine tolérance, la trajectoire à suivre à la main n'est-elle pas la courbe tangente intérieure à tous ces cercles?

  17. #47
    zedrummer

    Re : Normale à une courbe définie par des points continus

    "R est le rayon de l'outil"? Tu veux dire de la fraise de la défonceuse? Je n'ai pas besoin de tracer la courbe suivie par le centre de la défonceuse, juste les courbes de niveaux et après je suis à l’œil que la défonce se fait le long de cette ligne, ça ce n'est pas très compliqué (et dans mon cas pas besoin d'être à un mm près, ce qui est nécessaire pour des défonces de micro guitare par exemple pour qu'il n'y ait pas de jour, mais pas là).

  18. #48
    zedrummer

    Re : Normale à une courbe définie par des points continus

    @goaoute : Je suis bien conscient que je pourrais imprimer en taille réelle, chercher pour de nombreux points le contour ces normales à l’œil, reporter les distances des iso-niveaux, relier tous ces points à la main. Mais je trouve plus efficient de pour l'automatiser (plus rapide, plus précis, réutilisable/réimprimable rapidement sans tout refaire et en modifiant par exemple les valeurs des pas des niveaux à imprimer, etc...)

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. richesses et courbe normale
    Par Christian Arnaud dans le forum Mathématiques du supérieur
    Réponses: 24
    Dernier message: 23/03/2019, 05h52
  2. Trouver l'équation d'une courbe définie géométriquement
    Par Gandhi33 dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 09/10/2016, 11h37
  3. Normale de 2 points ?
    Par roipoussiere dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 12/03/2016, 11h42
  4. Tracer la courbe d'une loi normale avec R.
    Par Falindor dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 05/04/2010, 12h06
  5. Paramétrisation normale d'une courbe
    Par Bleyblue dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 06/07/2006, 20h28