Programmation 3D

Résolu
cs_papse Messages postés 51 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 8 mars 2011 - 8 mai 2008 à 04:07
cs_papse Messages postés 51 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 8 mars 2011 - 18 mai 2008 à 23:50
Bonjour à tous

vous verez un code ci-dessous que je veux exécuter sur JBuilder 2006
mais il ya un messsage d'erreur qui me dit que :

le package
com.sun.j3d.utils n'est pas detecté
le package
com.sun.j3d.utils.geometry
n'est pas detecté

le package
com.sun.j3d.utils.universe
n'est pas detecté
le package
javax.media.j3d.
n'est pas detecté


Quelqu'un peu me dire comment on peut ajouter ces classes s'il est possible
de les ajouter sur JBuider ou une solution qui peut me permettre d'exécuter
ce programme.
Merci d'avance pour votre aide

<code class="java_comment2">
</code>/
<code class="java_comment2">/
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.ColorCube;
import
com.sun.j3d.utils.universe.*;
import
javax.media.j3d.*;

public
class
ColorCube3D
extends
Applet
{


public
ColorCube3D
()
{

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
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/


//
Construction
du
cube
couleur

objSpin.
addChild
(
new
ColorCube
(
0
.
4
));
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 frame
=
new
MainFrame
(
new
ColorCube3D
(),
256
,
256
);
}

}
</code>

6 réponses

cs_papse Messages postés 51 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 8 mars 2011
8 mai 2008 à 16:01
[auteur/GOUESSEJ/684669.aspx Waooouuuuu!                  gouessej]





Merci de ton aide je crois que j'ai trouvé finalement ce qu'il faut faire dans le site que tu m'a indique et ça marche

Et merci encore de plus
3
Utilisateur anonyme
8 mai 2008 à 18:46
De rien, c'est le but. Bon courage.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
3
Utilisateur anonyme
8 mai 2008 à 11:11
Bonjour

Tu dois installer Java 3D. Essaie ça :
http://dn.codegear.com/article/20951

Je ne peux pas faire plus pour toi, j'utilise plutôt Eclipse comme IDE et JOGL pour la 3D.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
cs_papse Messages postés 51 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 8 mars 2011
8 mai 2008 à 12:08
Bonjour  [auteur/GOUESSEJ/684669.aspx gouessej]

Merci qu'a meme de ta reponse mais j'ai deja intaller java3D et Jdk 5 de plus ossi dans le meme repertoire et les classes sont tjs absentes

Est ce que eclipse permet de concevoir de visuellement de interfaces graphiques sinon ya t'il otre?
 Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
8 mai 2008 à 12:16
Comment ça les classes sont toujours absentes? As-tu suivi la procédure d'installation automatique de Java 3D? Je pense qu'il faut juste au pire que tu précises dans JBuilder où trouver le ou les JARs de Java 3D pour qu'il accepte de s'en servir. Installe plutôt JDK 1.6 update 5. Il me semble qu'il y a un outil RAD dans Eclipse qui permet de concevoir des interfaces graphiques visuellement mais je ne sais pas ce qu'il vaut, je sais que Netbeans dispose aussi de ce genre d'outil. Moi, je code tout en dur, je ne me sers pas de ça. Sache quand même qu'il faut bidouiller un peu pour mélanger des composants Swing avec Java 3D, regarde bien sur le site de Java 3D, c'est expliqué.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
cs_papse Messages postés 51 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 8 mars 2011
18 mai 2008 à 23:50
Bonjour [auteur/GOUESSEJ/684669.aspx gouessej]

je vais te deranger avec une nouvelle question

je
suis élève ingénieur et 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 appelé 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 graphique) de mon application.

Pouvez vous me dire comment faire de telle sorte que la scène soit
affichée sur l'interface graphique de mon application au lieu sur une  autre
fenetre (frame)

Merci d'avance de votre aide

code de la scène :

package pac;

/**
 * Title:

 *
 * Description:

 *
 * Copyright: Copyright (c) 2008

 *
 * Company:

 *
 * @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);
  }
}
0
Rejoignez-nous