Bonjour, je viens de faire mes premiers pas dans le java3D, j'ai commencer par Hello3D, une simple Applet qui dessine le célébre cube en couleur 3D.
Tout marchait bien sauf que lorsque je voulais ajouter une transformation (rotation) on dirait que je n'ai rien ajouté, tout est resté sans changement.
Voici le code que j'ai testé. Le resultat devrait être un cube en rotation, mais je reçois que la face rouge...
Une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 public class Hello3D extends JApplet { /** * */ private static final long serialVersionUID = 1L; /** * @param args */ public Hello3D() { setLayout(new BorderLayout()); Canvas3D canvas = new Canvas3D(SimpleUniverse.getPreferredConfiguration()); add("Center", canvas); BranchGroup scene = createSceneGraph(); scene.compile(); SimpleUniverse universe = new SimpleUniverse(canvas); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph(scene); } private BranchGroup createSceneGraph() { BranchGroup objRoot = new BranchGroup(); Transform3D rotator = new Transform3D(); rotator.rotX(Math.PI/4.0d); Transform3D tempRotate = new Transform3D(); tempRotate.rotY(Math.PI/5.0d); tempRotate.mul(rotator); TransformGroup transforms = new TransformGroup(tempRotate); objRoot.addChild(new ColorCube(0.4)); objRoot.addChild(transforms); return objRoot; } }
Partager