Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1312 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Programmation 3D

 

Sujet(s) à lire :
    - Visual C++
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programmation 3D

n°1736317
Papse
respect & confiance
Posté le 23-05-2008 à 15:43:41  profilanswer
 

Bonjour à  tous
 
 j'ai un mini projet qui consiste à développer une application faisant des figures 3D (cube cylindre pyramide et cône )
 
Je le fait en Java en créant l'interface graphique de l'application sur une frame et j'ai mis le code qui permet de créer la scéne 3D dans une classe (voir le code ci dessous)
j'ai apapelé la classe de la scène pour le tracé dans un jbouton comme suit
 
public void jButton4_actionPerformed(ActionEvent e) {
        Frame Frame2 = new MainFrame(new Box3D(), 900, 650);      
    }
 
En executant ça marche mais mon probleme est que la scéne est affichée dans une autre Frame qu'il crée ; alors que  moi je veux que la scène soit affichée dans le Frame (l'interface) de mon application.
Pouvez vous me dire comment faire de telle sorte que la scène soit affichée sur l'interface de mon application au lieu sur une  autre fenetre (frame)
 
Merci d'avance de votre aide
 
code de la scène :
 
package pac;
 
/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2008</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
 
// Etape 1 :
// Importation des packages Java 2
import java.applet.Applet;
import java.awt.*;
 
// Etape 2 :
// Importation des packages Java 3D
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
 
public class Box3D extends Applet {
 
  public Box3D() {
    this.setLayout(new BorderLayout());
 
    // Etape 3 :
    // Creation du Canvas 3D
    Canvas3D canvas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
    this.add(canvas3D, BorderLayout.CENTER);
 
    // Etape 4 :
    // Creation d'un objet SimpleUniverse
    SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
 
    // Etape 5 :
    // Positionnement du point d'observation pour avoir une vue correcte de la
    // scene 3D
    simpleU.getViewingPlatform().setNominalViewingTransform();
 
    // Etape 6 :
    // Creation de la scene 3D qui contient tous les objets 3D que l'on veut visualiser
    BranchGroup scene = createSceneGraph();
 
    // Etape 7 :
    // Compilation de la scene 3D
    scene.compile();
 
    // Etape 8:
    // Attachement de la scene 3D a l'objet SimpleUniverse
    simpleU.addBranchGraph(scene);
  }
 
  /**
   * Creation de la scene 3D qui contient tous les objets 3D
   * @return scene 3D
   */
  public BranchGroup createSceneGraph() {
    // Creation de l'objet parent qui contiendra tous les autres objets 3D
    BranchGroup parent = new BranchGroup();
 
    /************ Partie de code concernant l'animation du cube *************/
    /* Elle sera expliquee en details dans les chapitres relatifs aux
       transformations geometriques et aux animations */
    TransformGroup objSpin = new TransformGroup();
    objSpin.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    Alpha rotationAlpha = new Alpha(-1, 4000);
    RotationInterpolator rotator =
    new RotationInterpolator(rotationAlpha, objSpin);
    BoundingSphere bounds = new BoundingSphere();
    rotator.setSchedulingBounds(bounds);
    objSpin.addChild(rotator);
    /*************** Fin de la partie relative a l'animation ***************/
 
    // Arriere plan en blanc
    Background background = new Background(1, 1, 1);
    background.setApplicationBounds(new BoundingBox());
    parent.addChild(background);
 
     // Construction du parallelepipede
    objSpin.addChild(new Box(0.5f, 0.5f, 0.5f, null));
    parent.addChild(objSpin);
 
    return parent;
  }
 
  /**
   * Etape 9 :
   * Methode main() nous permettant d'utiliser cette classe comme une applet
   * ou une application.
   * @param args
   */
  public static void main(String[] args) {
    Frame Frame2 = new MainFrame(new Box3D(), 900, 650);
  }
}

mood
Publicité
Posté le 23-05-2008 à 15:43:41  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Programmation 3D

 

Sujets relatifs
[Matlab] Construction de graphesRecherche programmeur 3D
Outil ou langage orienté simulation avec rendu 2D/3D[C# Compact Framework 2.0] Planification d'un job (Windows Mobile)
Programmation d'un .batOù trouver des Developpeur PHP Programmation Orientée Objet ?
Débuter en programmation[batch] Gérer le prompt d'un .bat par programmation
programmation sous PL7 JuniorProgrammation "par couches"
Plus de sujets relatifs à : Programmation 3D


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR