Accueil > Forum > > > > ajout d'objet dynamiquement en java3d
ajout d'objet dynamiquement en java3d
jeudi 4 novembre 2004 à 11:34:31 |
ajout d'objet dynamiquement en java3d

Draven
|
Voilà mon petit soucis. Je voudrais, lors d'un évènement comme le clic de la souris ou une touche pressée, ajouter une sphere à mon univers 3d. Mon problème ne reside pas dans le traitement de l'évènement mais pour ajouter dynamiquement la sphere à mon univers déjà existant. Quelqu'un aurait-il une solution à me proposer? Merci
|
|
vendredi 5 novembre 2004 à 12:48:50 |
Re : ajout d'objet dynamiquement en java3d

JBAware
|
Salut peux -tu nous montrer ton code? JB@WAre
|
|
samedi 6 novembre 2004 à 11:57:19 |
Re : ajout d'objet dynamiquement en java3d

Draven
|
Ce n'est pas le projet que je suis en train de faire mais un code que j'utilise pour tester. Inutile d'alourdir la charge avec les autres classes. Voilà le code ci-dessous va dessiner une sphere tournant indéfiniment. J'ai ajouter un bouton, lors du clic sur ce bouton je voudrais ajouter une autre sphere, ou cube ou n'importe quel autre objet en 3d.
import com.sun.j3d.utils.universe.SimpleUniverse; import com.sun.j3d.utils.geometry.Sphere; import com.sun.j3d.utils.image.TextureLoader; import javax.media.j3d.BranchGroup; import javax.media.j3d.Transform3D; import javax.media.j3d.TransformGroup; import javax.media.j3d.Canvas3D; import javax.media.j3d.Appearance; import javax.media.j3d.ColoringAttributes; import javax.media.j3d.ImageComponent; import javax.media.j3d.Texture; import javax.media.j3d.Texture2D; import javax.media.j3d.TextureAttributes; import javax.media.j3d.ImageComponent2D; import javax.media.j3d.Alpha; import javax.media.j3d.RotationInterpolator; import javax.media.j3d.BoundingSphere;
import java.lang.*; import javax.swing.*; import java.awt.*; import java.awt.event.*;
public class Terre extends JFrame { BranchGroup ObjPrinc;
public Terre() { super("Allo Houston...");
// Création des composants final JButton btnclic = new JButton("Ajouter"); // Bar de menu JMenuBar menu_bar1 = new JMenuBar(); // Ajouter un bouton sur la bar de menu menu_bar1.add(btnclic); // Ajouter la bar du menu à la frame this.setJMenuBar(menu_bar1);
// clic sur le bouton btnclic btnclic.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Ici on ajoute le code pour ajouter a l'univers 3d une sphere ou un cube ou n'importe quoi d'autre ..."); } });
getContentPane().setLayout(new BorderLayout()); // creation du canvas Canvas3D canvas = new Canvas3D(SimpleUniverse.getPreferredConfiguration()); getContentPane().add("Center",canvas); // création de la scène, regroupement des objets BranchGroup scene = createScene(); scene.compile();
// création de l'univers de la scene 3D SimpleUniverse univers = new SimpleUniverse(canvas); // on met le plan de projection en arriere par rapport à l'origine univers.getViewingPlatform().setNominalViewingTransform(); // on place la scène dans l'univers "univers" univers.addBranchGraph(scene);
//arret du programme lors du clic sur la croix setDefaultCloseOperation(EXIT_ON_CLOSE);
}
/* * * creation d'un groupement d'objet * * */ private BranchGroup createScene() { // creation du BG principal ObjPrinc = new BranchGroup(); Appearance AppTexture = AjoutTexture("earth.jpg");
// Début de l'animation TransformGroup TG = new TransformGroup(); //Donner la possibilité a l'objet de bouger TG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); ObjPrinc.addChild(TG); // Ajout de la sphere à l'objet charger de l'animation TG.addChild(new Sphere(0.4f,Sphere.GENERATE_TEXTURE_COORDS,AppTexture)); // Configuration du nombre de tour et la vitesse // ici tourne indéfiniment (-1) et prend 60 secondes pour faire un tour Alpha alpha = new Alpha(-1,60000); RotationInterpolator Rotation = new RotationInterpolator(alpha, TG); Rotation.setSchedulingBounds(new BoundingSphere()); ObjPrinc.addChild(Rotation);
return ObjPrinc; } /* * Ajout du texture sur la sphere * * */ private Appearance AjoutTexture(String NomImage) { try { Appearance Apparence = new Appearance(); // chargement d'une image pour texture TextureLoader loader = new TextureLoader(NomImage,this); ImageComponent2D image = loader.getImage(); // instanciation de l'objet texture Texture2D texture = new Texture2D(Texture.BASE_LEVEL,Texture.RGBA,image.getWidth(),image.getHeight()); texture.setImage(0, image); // ajout de la texture à l'apparence Apparence.setTexture(texture); Apparence.setTextureAttributes(new TextureAttributes());
return Apparence; } catch(NullPointerException e1) { // Creation d'une texture uni dans le cas ou le fichier image n'exciste pas Appearance Apparence = new Appearance(); ColoringAttributes bleu = new ColoringAttributes(); bleu.setColor(0.0f,0.0f,0.8f); Apparence.setColoringAttributes(bleu); return Apparence; } }
public static void main(String[] args) { Terre MaTerre = new Terre(); MaTerre.setSize(400,400); MaTerre.setVisible(true); } }
|
|
mercredi 1 décembre 2004 à 13:43:59 |
Re : ajout d'objet dynamiquement en java3d

dmaillet
|
tu peux ajouet a un TransformGroup ou a un BranchGroup un autre Branchgroup dynamiquement, si celui auquel tu ajoutes a la capacite: bg.setCapability(Node.ALLOW_CHILDREN_EXTENDS); et ensuite dynamiquement bg.addChild(bgSphere); ------------------- dams  -------------------
|
|
Cette discussion est classée dans : objet, ajout, dynamiquement, évènement, java3d
Répondre à ce message
Sujets en rapport avec ce message
[debutante][java3d] un objet dans un objet [ par ametisse ]
Salut, je suis débutante en java3d et j'aurais besoin de savoir comment on fait pour mettre des objets dans d'autres objets.En fait, je souhaite creer
collision des Objets en java3D [ par a_farsi ]
Bonjourj'ai essayer un progrmme de collision des objets en java3D (exemple appelé TickTockCOllision donné avec les exemples de bases lors de l'instala
Applet + Java3D [ par chabfive ]
Salut,J'ai réalisé une Applet qui charge un objet 3D VRML et qui permet de le visualiser. Cette Applet fonctionne très bien lorsque je l'exécute sous
java3D + Applet [ par chabfive ]
Salut, J'ai réalisé une Applet qui charge un objet 3D VRML et qui permet de le visualiser. Cette Applet fonctionne très bien lorsque je l'exécute sou
[java3d] recuperer les coordonnees d'un objet de la scene? [ par palmeras ]
Bonjour, j'aimerais savoir s'il etait possible de recuperer la position d'un objet dans la scene. Ma scene comporte un disque mo
Caster dynamiquement un objet [ par TomC ]
Bonjour à tous.Je cherche la manière de caster dynamiquement un objet.Je sais récuperer la classe de l'objet à l'aide du package java.lang.reflect :Cl
Comment créer un nom d'instance dynamiquement [ par boubadeuns ]
Bonjour a tous,Mon pb du jour.J'aimerais instancier ds une méthode un objet dont le nom est fonction d'un autre paramètre.Par exemple créer un objet
[Java3D] Appliquer un shader à un objet [ par The_Moye ]
Bonjour la populace!Une petite question concernant l'utilisation de shaders sous Java3D.En effet les tutos traitant des shaders en Java3D ne courent p
importation de .obj en java3d et animation [ par zetycoon ]
Bonjour, je n'ai pas trouver pour le moment de reponse a mes problemes (asser simple normalement).Je debute en java3d et je veux creer une animation.J
Compilation apres ajout de librairies externes [ par bibijosh ]
Bonjour,J'ai développée une appli en java web start qui contient une représentation 3D faite avec java3D. Jusque là tout va bien, ca s'execute nickel.
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|