PDA

Voir la version complète : Format 3D : liste de points et leurs voisins



Pilou
02/02/2008, 19h33
Bonjour à tous,
ça fait un sacré bout de temps que je n'ai pas mis le nez ici... peu me reconnaîtront !

Je viens vers vous car pour les besoins d'un projet, je dois importer dans un logiciel la liste des points d'un maillage ainsi que la liste des points voisins pour chaque point du maillage (le but sera d'appliquer un algorithme par la suite).

J'ai effectué quelques recherches, mais je n'ai pas trouvé mon bonheur... le plus proche de ce que je veux est le VRML ou encore le X3D car ils proposent la liste des points sous forme de texte (et non en codage binaire comme la plupart des formats comme le c4d, 3ds, ...) mais on n'a pas accès aux voisins de chaque sommet...

Je sollicite donc votre connaissance des formats 3D pour savoir quel format répondrait à mes attentes.

Merci beaucoup d'avance,

Pilou

Jean-Laurent
02/02/2008, 21h14
D'autres me contrediront j'espère mais je ne pense pas qu'un format te donne de manière claire "les voisins" de chaque point.
Mais je peux me tromper. :oops:

J'ai jeté un petit coup d'œil et la présentation des points dans le menu "structure" dépend en grande partie de la géométrie du maillage et de la façon dont il a été construit.
Ensuite en export XML, VRML etc... on trouve bien les points, les polygones formés à partir d'eux mais par les voisins directs.
Il me semble que dans un code si pour chaque point il fallait donner tous les voisins certaines informations seraient redondantes.

Le plus simple serait que tu précises sous quelle forme exactement il te faut ces voisins. Et d'appliquer un algorithme sur les points donnés pour les obtenir.
Paspas qui a visiblement beaucoup travaillé sur les points ces derniers temps devrait pouvoir récupérer les points voisins d'un mesh en coffee sans trop de problème. :mrgreen:

Mais peut-être que quelqu'un de plus compétent à une réponse plus simple.

legloups
02/02/2008, 21h15
:odile: Au risque de dire un c.... tu as pensé à l'exporter .mesh pour ogre3d, il te permet d'avoir accès aux points, mais je ne sais pas si cela répond à ta question jamais fait le test...
Autrement en utilisation externe, il faudrait voir du côté du xml ou directX.... qui sont aussi des format que tu peux reprendre assez facilement à la main...

En ce qui concerne le vrml, vu que ce sont les points qui délimitent tes polys, il existe peut-être un système...

Je vais me renseigner tiens... :wink:

edit : grillé par JL :oops:

base80
03/02/2008, 13h23
Un petit xpresso peux le faire. Mais je comprend pas le "point voisin"

La liste de point s'exporte en xml directement de cinema4d sans passer par xpresso. Cinema4d Xml export
Mais c'est plutot le bordel comme format.


sinon dans "Structure" il y a export ascii data

ca donne ça pour un cube
Point X Y Z
0 -100 -100 -100
1 -100 100 -100
2 100 -100 -100
3 100 100 -100
4 100 -100 100
5 100 100 100
6 -100 -100 100
7 -100 100 100

Jean-Laurent
03/02/2008, 14h15
Un petit xpresso peux le faire. Mais je comprend pas le "point voisin"


C'est les points qui sont reliés au point considéré par une arrête.
Chaque point d'un cube a par exemple 3 voisins.

Le point -100 -100 -100 a pour voisins les points -100 -100 100 ; 100 -100 -100 et -100 100 -100 .

Donc ici le point 0 a pour voisin les points 6, 2 et 1.

Mais il faudrait savoir sous qu'elle forme Pilou a envi de récupérer "les voisins". :?:

Red
03/02/2008, 19h40
Dans "structure", menu "mode", tu peux aussi obtenir les infos des polygones, c'est ça qui te permettra de retrouver les points "voisins"...

C'est mieux de passer par là que par un format externe, qui en plus d'être un peu complexes pour définir une simple géométrie, ne gèrent pas forcément les points et polygones de la même manière que c4d. (exemple le DXF qui impose une triangulation du maillage...)

L-op
03/02/2008, 23h08
Un petit xpresso peux le faire. Mais je comprend pas le "point voisin"

La liste de point s'exporte en xml directement de cinema4d sans passer par xpresso. Cinema4d Xml export
Mais c'est plutot le bordel comme format.


sinon dans "Structure" il y a export ascii data

ca donne ça pour un cube
Point X Y Z
0 -100 -100 -100
1 -100 100 -100
2 100 -100 -100
3 100 100 -100
4 100 -100 100
5 100 100 100
6 -100 -100 100
7 -100 100 100




???

Comment qu'on fait sa ?

Put*** , si c'est comme je pense , ca voudrait dire que je me suis fait chier a rentrer 1700 coordonnée a la main , pour faire une carte en relief :arg:

base80
03/02/2008, 23h23
import et export ascii (dans le panneau structure dans son menu)

Pilou
05/02/2008, 17h18
Merci à tous pour votre aide, l'aimabilité est toujours au goût du jour à ce que je vois ;)

Je vais synthétiser si d'autres sont interessés :

- Passer par le menu "structure" donnent les points, mais pas les arètes ou triangles, donc pas les voisins de chaque point. EDIT : erreur, en fait comme l'a dit et redit Red, on peut avoir les polygones également.

- Comme l'a dit Base, le XML est plutôt fouilli donc ne convient pas pour mon utilisation.

- Par contre, j'ai trouvé un format qui répond à mes attentes : le .OFF qui donne au tout début le nombre de points, de faces, d'arètes puis la liste des points (leurs coordonnées, un point par ligne) et ensuite la liste des faces et des arètes.
Pour avoir les voisins de chaque point, il suffit donc d'effectuer une recherche dans les triangles.

Voilà, d'autres formats auraient pu convenir (notamment le .GTS obtenu à partir d'un .STL, ou le .mesh sous certaines conditions, ...) mais celui-ci semble le plus accessible.

Merci à tous ! :love:

Red
05/02/2008, 23h58
- Passer par le menu "structure" donnent les points, mais pas les arètes ou triangles, donc pas les voisins de chaque point.


Je me répète...



Dans "structure", menu "mode", tu peux aussi obtenir les infos des polygones, c'est ça qui te permettra de retrouver les points "voisins"...

C'est mieux de passer par là que par un format externe, qui en plus d'être un peu complexes pour définir une simple géométrie, ne gèrent pas forcément les points et polygones de la même manière que c4d. (exemple le DXF qui impose une triangulation du maillage...)

Pilou
06/02/2008, 17h04
Oops excuse moi Red, j'avais essayé ta solution mais je n'avais pas trouvé ce mode polygone... autant pour moi ;)

(Cependant, le .OFF reste plus clair que les données ASCII pour l'utilisation que je vais en faire... mais bon, ça valait le coup de le savoir)