Aller au contenu

Géométrie 3D !!


Matt666

Messages recommandés

Salut à tous !

Question aux ferrus de géométrie (n'est ce pas, Gile )

J'ai posté un message sur un autre forum, pourriez vous y jeter un coup d'oeil ?

 

Le problème est de traduire les coordonnées d'un plan de face 3D.... Coordonnées qui équivaut à une liste de quatre points !! Je sèche totalement, là...

 

Cela me servira dans un script en Ruby, qui créé une ligne polaire, notamment pour créer une ligne polaire sur une face sélectionnée.

 

Voir ce post pour mieux comprendre le pourquoi du comment !!

 

Merci d'avance !

 

[Edité le 9/7/2008 par Matt666]

"Chacun compte pour un, et nul ne compte pour plus d'un."

Lien vers le commentaire
Partager sur d’autres sites

:mad2: :mad2: :mad2:

Pardon...

 

Copie du message de Sketchucation :

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 ???

Face sur un plan simple

http://images4.hiboox.com/images/2808/25e8c80254ae48d71cd77a5d11e54342.jpg

 

Face sur un plan un peu plus compliqué...

http://images4.hiboox.com/images/2808/d79544a2900b94e7473de4f827fc7207.jpg

 

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

"Chacun compte pour un, et nul ne compte pour plus d'un."

Lien vers le commentaire
Partager sur d’autres sites

C'est le vecteur normal.

 

Ce sont des directions du vecteur perpendiculaire.

Le premier est perpendiculaire à Z.

Quant au 4ème chiffre, ca doit être l'altitude.

 

(gile) a beaucoup parlé de cela dans la prog AutoCAD.

 

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

(gile) a beaucoup parlé de cela dans la prog AutoCAD.

Gile, si tu nous entends... ;) Je vais tacher de faire des recherches.

 

C'est le vecteur normal

:o houlà...

 

Ce sont des directions du vecteur perpendiculaire.

Le premier est perpendiculaire à Z.

Quant au 4ème chiffre, ca doit être l'altitude.

Bon je vais essayer de voir avec ça déjà !

 

Merci Tramber pour ta réponse ! :)

"Chacun compte pour un, et nul ne compte pour plus d'un."

Lien vers le commentaire
Partager sur d’autres sites

Je vais poser la question autrement, pour bien faire comprendre mon problème...

 

Quelle est l'équation pour trouver le deuxième point d'une ligne en fonction de :

- Son point de départ

- Sa longueur

- Son angle par rapport au zéro trigonométrique

- Et son inclinaison en fonction d'une face existante !!! c'est celle-ci qui me chagrine...

http://images4.hiboox.com/images/2808/90f5a7e21d5c9073d184e9aef43e8e65.jpg

 

Aaargh.

 

 

"Chacun compte pour un, et nul ne compte pour plus d'un."

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

je ne sais pas si je te serai d' un grand secours, mais comme j'essaie de me frotter à ruby ces temps ci, je te fais juste une suggestion.

 

Par rapport à ta vue de face, tu dois pouvoir te créer un autre plan(class Geom, méthode fit_planes_to_points).

Récupérer ensuite la ligne d'intersection de ce plan avec l'arête "edge" concernée sur ta face.

(class Geom méthode intersect_line_plane)

Ceci te renvoie le point 3d.

 

Mais ce n'est qu' une interprétation !

 

[Edité le 9/7/2008 par nazemrap]

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Je vais avoir du mal à répondre, je ne connais ni vraiment SU ni le langage Ruby.

Pour la plupart des objets 2d (arcs, cercles, polylignes, textes, etc...) AutoCAD fonctionne avec des Systèmes de Coordonnées Objet que j'ai mis du temps à comprendre.

Ce SCO est calculé à partir du vecteur normal (perpendiculaire) du plan de l'objet et un algorithme arbitraire (voir ici).

Ceci permet de déterminer les axes X et Y du SCO, donne une cohérence à ces systèmes et permet l'utilisation de fonction LISP comme trans.

 

Je ne sais pas si SU utilise le même processus (arbitraire) ni si Ruby a l'équivalent de la fonction trans

En gros, comment est déterminé l'axe X (0°) pour chacun des plans.

 

Si Ruby n'a pas de fonction équivalente à trans, il va falloir en faire une à l'aide de calcul vectoriel et matriciel et là, je ne me sens vraiment pas capable d'expliquer comment faire en quelques lignes.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Salut Gile !

 

Merci d'avoir répondu.

Je me doutais bien que c'était sacrément balaise ce truc... ;)

 

En plus je ne crois pas qu'il existe un équivalent de trans...

donc bon pour l'instant je vais plutot laisser tomber.

 

Après la solution de nazemrap est intéressante, et à creuser. Dès que j'aurais le temps je m'y attarderai.

 

Merci à tous !

"Chacun compte pour un, et nul ne compte pour plus d'un."

Lien vers le commentaire
Partager sur d’autres sites

Oui. il faut "simplement" trouver le vecteur, et lui donner une longueur. Mais c'est pas si simple que ça... Saloperie !!

 

Si tu veux des conseils en ruby, va voir du coté de sketchucation, ya des trucs déments... Si tu ne connais pas déjà :)

"Chacun compte pour un, et nul ne compte pour plus d'un."

Lien vers le commentaire
Partager sur d’autres sites

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é