Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Découpe d'un 'objet 3D' sous GLScene [ Divers / Aide et documentation ] (Champy33)

jeudi 2 octobre 2008 à 21:40:42 | Découpe d'un 'objet 3D' sous GLScene

Champy33

Bonjour à tous et à toutes

Je me suis lancé dans la fabrication bénévole d'un logiciel qui servira à faire des plans de meubles au sein de l'association à laquelle j'appartiens (site : http://LesCopeaux.fr). Pour ce faire, je pense utiliser GLScene avec Delphi 7. Je l'ai déjà utilisé à un petit niveau, avec ses fonctions basiques et sans connaître trop de galères. Cependant, mon problème concerne le 'clipping' ('découpe' en français) d'un volume donné.
Imaginez un parallélepipède 'normal' auquel on souhaiterait enlever une partie, pour découper une rainure rectangulaire par exemple.
On se retrouve normalement avec un volume aux formes complexes, composé de plusieurs parallélépipèdes qu'il faut ré-assembler entre eux. Ca, c'est la solution 'besogneuse'.
Le problème, c'est qu'il existe mille manières d'usiner un bout de bois et je me vois mal en train d'implémenter 'à la main' la multitude des assemblages résultants...
Supposant que je ne suis pas le premier à connaître ce problème, j'aimerais donc, soit trouver une (des) fonction(s) qui simplifie(nt) mon travail, soit obtenir des conseils de programmation dans cette optique.

Merci beaucoup.
Champy

PS : Un détail : J'habite au milieu des vignes bordelaises et toute contribution constructive sera récompensée. En nature, évidemment... :)


vendredi 3 octobre 2008 à 07:19:48 | Re : Découpe d'un 'objet 3D' sous GLScene

WhiteHippo

Membre Club
Bonjour

Je pense que ce n'est pas que le terme "clipping" soit correct. Ce que tu souhaites faire ressemble plutot à du "csg" ( [ Lien ]). qui ne doit pas être implementé sous GLScene. Tu peux cependant utiliser OpenGL sous Delphi 7 sans passer par GLScene et utiliser alors la bibliothèque de OpenCSG ( [ Lien ])

Cordialement.

"L'imagination est plus importante que le savoir." Albert Einstein

vendredi 3 octobre 2008 à 07:38:59 | Re : Découpe d'un 'objet 3D' sous GLScene

Champy33

Merci WhiteHippo.
 
Vous avez raison pour le terme 'clipping' qui est mieux adapté au dessin en 2D, mais je ne savais pas trop comment décrire mon souhait.
L'important, c'est que je me sois fait comprendre... :)

Je vais étudier vos liens de plus près ce soir.

Amicalement, Champy

samedi 4 octobre 2008 à 00:14:49 | Re : Découpe d'un 'objet 3D' sous GLScene

Champy33

J'ai consulté et téléchargé les fichiers que vous m'avez précédemment indiqués. Cependant, je pense que je ne m'en sortirai pas, car tout est écrit en C++ et l'ensemble des utilitaires (librairies et autres) me semble un peu trop complexe à utiliser. De plus, il n'y a presque aucune doc, ni aucun exemples concernant l'utilisation de ces librairies. Où peut-être ne l'ai-je pas trouvée...
Il existe un volet CGS avec GLScene que je n'ai pas encore décortiqué. Je crois que je vais commencer par cet élément, qui me semble plus accessible pour me familiariser avec ce domaine.

Merci
Champy

samedi 4 octobre 2008 à 02:27:36 | Re : Découpe d'un 'objet 3D' sous GLScene

f0xi

Membre Club Administrateur CodeS-SourceS
avec glscene il faut regarder du coté des unions/divisions de formes.

en gros, les operations booléenne sur objets 3D






samedi 4 octobre 2008 à 14:01:55 | Re : Découpe d'un 'objet 3D' sous GLScene

Champy33

Merci fOxi
En effet, c'est bien sur ce sujet que je compte m'étendre.
Un peu de doc serait quand même la bienvenue... :)

Champy


samedi 4 octobre 2008 à 14:27:14 | Re : Découpe d'un 'objet 3D' sous GLScene

WhiteHippo

Membre Club
Malheureusement, GLScene est avare en documentation. Les sujets dits classiques sont déjà peu documentés, alors les spécifiques ... 

Cordialement.

"L'imagination est plus importante que le savoir." Albert Einstein

vendredi 17 octobre 2008 à 15:00:24 | Re : Découpe d'un 'objet 3D' sous GLScene

louloute04

Bonjour,

moi j'ai utilisé des plans de clipping dans GlScene, mais ce n'était pas pour découper des objets mais pour limiter une zone de dessin d'un graphe. Je ne sais pas si ça marche pour ton cas :


Les commandes de clipping sont en OpenGl directement donc pour les activer il faut ajouter un Objet DirectOpenGl. Concretement il faut "entourer" l'objet qu'on veut "couper" entre deux objets DirectOpenGl : le premier aura pour tache d'activer le clipping et le second de le désactiver lorsqu'il n'est plus necessaire.

Exemple :

  SceneObjects
    + Cube1
    + Cube2
    + BeginClipping (TGlDirectOpenGl)
    + Sphere
    + ... (tous les objets subissant le clipping)
    + EndClipping (TGLDirectOpenGL)
    + Suite des objets ...


Que vont faire BeginClipping et EndClipping ? Il suffit de leur implémenter OnRender comme suit :


procedure TForm1.BeginClippingRender(Sender: TObject;
  var rci: TRenderContextInfo);

begin
  glClipPlane (GL_CLIP_PLANE0, @clip0);
  glEnable(GL_CLIP_PLANE0);
end;

procedure TForm1.EndClippingRender(Sender: TObject;
  var rci: TRenderContextInfo);
begin
  glDisable(GL_CLIP_PLANE0);
end;


Il ne reste plus qu'a définir les coordonnées du plan de clipping comme par exemple :

clip0 : Array [0..3] Of double = (-1.0, 0.0, 0.0, 1 / 2.0);

Les 4 paramètres sont les coordonnées de l'équation du plan :

Ax + By + Cz + D = 0

Voila.

Note : on peut définir plusieurs plan de clipping si necessaire.

var
  clip0 : Array [0..3] Of double = (-1.0, 0.0, 0.0, 1 / 2.0);
  clip1 : Array [0..3] Of double = (1.0, 0.0, 0.0, 1 / 2.0);

begin
  glClipPlane (GL_CLIP_PLANE0, @clip0);
  glClipPlane (GL_CLIP_PLANE0, @clip1);
  glEnable(GL_CLIP_PLANE0);
  glEnable(GL_CLIP_PLANE1);


vendredi 17 octobre 2008 à 19:35:10 | Re : Découpe d'un 'objet 3D' sous GLScene

Champy33

Merci Louloute

Je vais essayer tout ça...

Champy




Cette discussion est classé dans : problème, objet, découpe, 3d, glscene


Répondre à ce message

Sujets en rapport avec ce message

problème avec l'objet XMLDoc [ par csweety13 ] Bonjour,j'ai un soucis avec l'objet de Delphi le XMLDoc.j'ai inscrit la ligne suivante : XMLFic := LoadXMLDocument(Nom_Fic);qui me charge dans mon o Problème sur une collection d'objet... [ par Wulfgar ] Salut, Voila, j'aimerais juste comment -si c'est possible- redimensionner une collection d'objet dynamiquement sans utiliser des pointeurs... Merci GLScene et bugs [ par Lennemi ] Salut,J'ai remarque un probleme avec GLScene, parfois certain object inclus dans le composant TGLScene ont tendance a agresser l'utilisateur avec l'év POO : problème d'héritage [ par thierryC ] Bonjour, Dans un programme en Delphi6, j'ai le souci suivant : une classe A contient un objet de type Classe B ; dans cette classe B, je crée un obje Coller une image dans un objet tdbimage [ par famjerom ] J'ai créé une base de donnée SQL SERVER. Une table contient une image (type image ou varbinary) affichée à l'aide de l'objet VCL TDBImage de Delphi 20 Problème avec le composant GLscene.... [ par astrosug44 ] Bonjour, j'ai dévellopé un programme d'astronomie en delphi 7, dans ce prog j'utilise le composant GLscene. Sur certain PC le prog fonctionne parfaite Contour 2D d'un objet 3D [ par User8 ] Bonjour,Je suis à la recherche d'un algo qui me permettrait d'obtenir un contour 2D d'un objet 3D suivant une vue donnée...je m'explique.J'ai un objet coordonnées d'un objet 3D [ par aureliensm ] Bonjour,dans une fenêtre GLFW, je charge un objet 3ds en faisant Model.LoadFromFile('nom du fichier'); qui se ne nomme model et qui est de type T3DMod déplacement d'une image dans un objet Timage [ par ninaleo ] Bonsoir tout le monde    J'ai un petit problème pour lequel je ne trouve pas  de solution évidente et j'aimerais vous le soumettre.    J'ai un objet T liste d'object [ par la tuque ] Bonjour,j'ai un petit problème je veux créer un liste d'objet que j'ai créer .type  TCarte = class(tobject)    Valeur:integer;    Sorte:String;  priva


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.