Plan de face
-
Salut à tous !
Petite question : J'essaie de retrouver le plan 3D d'une face via le ruby. Il faut juste faire face.plane ! Bref c'est pas important. Le problème est que ça retourne une liste de quatre points !!
Est-ce qqn sait ce que signifient ces quatre points ???
Si qqn est balaise en géométrie, ça m'aiderait vachement (ou en tout cas plus fort que moi, ce qui ne doit pas être bien compliqué...) !!Merciii
-
Bien, d'abord cela retourne un tableau de 4 valeurs et non 4 points, puisqu'un point c'est un tableau de 3 valeurs X,Y,et Z. Bref on s'en fout, seulement un plan est l'ensemble de tous les points dont les coordonnées X,Y,Z satisfont l'équation aX+bY+cZ+d=0. Donc les 4 valeurs retournées sont les coéficients a,b,c, et d de cette équation.
Dans ton premier exemple, c'est une face dans le plan XoY passant par z=0. La normale au plan c'est les 3 premières valeurs 0,0,1 (vecteur normé en Z positif) et la quatrième valeur est le point de passage en Z d ce plan (soit 0 ici).
Fais l'essai de déplacer ta face sur Z de 1m par exemple, je parie que face.plane te renverra [0,0,1,39.3700787401575] (39.3700787401575 = 1m en inches).
Une face verticale parallèle au plan YZ, tournée vers les X positifs et passant par X=10cm donnerait un plan défini par [-1,0,0,3.937] (normale pointée vers les X négatifs)Comme la normale à un plan c'est le produit scalaire de 2 vecteurs du plan, si tu prends 3 points du plan (des extrêmités de lignes de la face par exemple) A,B,C et que tu fais le produit scalaire vecteurAB x vecteurAC, tu retombes sur la normale.
Cool, la géométrieMais au fait, qu'est-ce que tu entends par "retrouver le plan 3D d'une face", puisque face.plane te le donnes ???
-
Salut Didier !
Merci pour cette excellente réponse, ça va beaucoup m'aiguiller !@unknownuser said:
Mais au fait, qu'est-ce que tu entends par "retrouver le plan 3D d'une face", puisque face.plane te le donnes ???
Oui, c'est pour ça que j'ai posé cette question. Je ne savais pas que faire de ce résultat.
Le but étant une demande de Remus pour le plugin PolarLine. il aimerait pouvoir créer une ligne polaire sur une face. Mais ça me parait un peu trop balaise pour moi...Merci encore Didier !
-
Je n'ai pas trop réfléchi à la question mais ça serait peut-être assez facile de le faire virtuellement sur le plan XoY puis de reprojetter sur la face considérée.
Ce qui serait cool ça serait d'implémenter la syntaxe Autocad dans le Linetool à la place de la boite de dialogue:
*x,y,z coordonnées absolues
@x,y,z coordonnées relatives
@distance<angle coordonnées polaires
@distance<angle,z coordonnées cylindriques
@distance<angle1<angle2 coordonnées sphériques
et les autres je ne m'en souviens plus...Ca reviens à faire un petit analyseur de texte dans la fonction "OnUserText" de l'outil, et quelques calculs géométriques par derrière.
-
Salut Didier !
@unknownuser said:
Ce qui serait cool ça serait d'implémenter la syntaxe Autocad dans le Linetool à la place de la boite de dialogue: [...] Ca reviens à faire un petit analyseur de texte dans la fonction "OnUserText" de l'outil, et quelques calculs géométriques par derrière.
J'avais aussi pensé à faire comme ça, mais je butais sur l'esprit coincé 2D de cette méthode... La boite de dialogue sert surtout à donner le plan 3D de la ligne polaire à créer. C'est pour ça que j'ai préféré !
@unknownuser said:
@distance<angle,z coordonnées cylindriques
@distance<angle1<angle2 coordonnées sphériquesMais qu'est ce que c'est que ça !!!! Merde ! Là je sèche totalement ! Je connaissais pas du tout !
@unknownuser said:
Je n'ai pas trop réfléchi à la question mais ça serait peut-être assez facile de le faire virtuellement sur le plan XoY puis de reprojetter sur la face considérée.
Ok. faut voir ! Faut juste retrouver la bonne distance... Je vais tester, c'est une bonne idée !
Merci pour tous ces conseils Didier !
Advertisement