Code - j3D - Drehender Würfel

Webdesigner's
Verfügbare Informationen zu "Code - j3D - Drehender Würfel"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Snowball
  • Forum: Webdesigner's
  • Forenbeschreibung: Das Hilfe Forum für alle Webdesigner
  • aus dem Unterforum: Tutorial JavaApplet
  • Antworten: 1
  • Forum gestartet am: Freitag 20.07.2007
  • Sprache: deutsch
  • Link zum Originaltopic: Code - j3D - Drehender Würfel
  • Letzte Antwort: vor 16 Jahren, 6 Monaten, 22 Tagen, 1 Stunde, 26 Minuten
  • Alle Beiträge und Antworten zu "Code - j3D - Drehender Würfel"

    Re: Code - j3D - Drehender Würfel

    Snowball - 06.10.2007, 00:29

    Code - j3D - Drehender Würfel
    Die applikation soll einen ich drehenden würfel zeigen, die informationen dazu stehen im code:

    Code: import java.awt.BorderLayout;
    import java.awt.event.*;
    import java.awt.GraphicsConfiguration;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    import javax.swing.JFrame;
    import com.sun.j3d.utils.universe.*;
    import com.sun.j3d.utils.geometry.ColorCube;

    public class d3 extends JFrame
    {
      public static void main(String[] args)
      {
        /* Beispielprogramm starten                                       */
        d3 w17 = new d3();

        /* WindowListener hinzufuegen                                     */
        w17.addWindowListener(new WindowAdapter()
        {
          public void windowClosing(WindowEvent e)
          {
            /* Beim Schliessen des Fenster beenden                        */
            System.exit(0);
          };
        });
      }

      public d3()
      {
        /* Erzeugung von Canvas3D                                         */
        GraphicsConfiguration config =
                                SimpleUniverse.getPreferredConfiguration();
        Canvas3D canvas3D = new Canvas3D(config);

        /* Canvas3D zu Frame hinzufuegen                                  */
        this.getContentPane().add(canvas3D,new BorderLayout().CENTER);

        /* Erzeugung eines SimpleUnviverse-Objektes                       */
        SimpleUniverse simpleU = new SimpleUniverse(canvas3D);

        /** Anpassung des SimpleUniverse-Objektes:
         *  getViewingPlatform gibt die ViewingPlatfrom zurueck. Auf diese
         *  wird die Methode setNominal ViewingTransform angewandt, welche
         *  den Augpunkt auf (0,0,2.41) festlegt.
         *  Man schaut in negativer z-Richtung.
         **/
        simpleU.getViewingPlatform().setNominalViewingTransform();

        /* Erzeugung des Content Branch-Graphen                           */
        BranchGroup scene = createSceneGraph();

        /* Content Branch-Graphen kompilieren                             */
        scene.compile();

        /* Content Branch-Graph dem SimpleUniverse-Objekt hinzufuegen     */
        simpleU.addBranchGraph(scene);

        /* Titel des Frames setzen                                        */
        this.setTitle(this.getClass().getName());

        /* Groesse des Frames setzen                                      */
        this.setSize(300,300);

        /* Frame anzeigen                                                 */
        this.show();
      }

      private BranchGroup createSceneGraph()
      {
        /* Wurzel des Content Branch-Graphen erzeugen                     */
        BranchGroup objRoot = new BranchGroup();

        /* 1. Erzeugung einer Ziel-TransformGroup                         */
        TransformGroup objSpin = new TransformGroup();

        /* a) Setzen des ALLOW_TRANSFORM_WRITE Flags                      */
        objSpin.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);

        /** Zu dieser Gruppe wird jetzt der Wuerfel hinzugefuegt
         *  Damit ist klar auf welches Objekt die Transformation
         *  anzuwenden ist
         **/
        objSpin.addChild(new ColorCube(0.4));


        /** 2. Erzeugung eines Alpha-Objektes
         *  -1 bedeutet, das die Drehung unendlich ausgefuehrt wird
         *  4000 entspricht 4000 milliSekunden = 4 Sekunden fuer eine
         *  Drehung
         */
        Alpha rotationAlpha = new Alpha(-1, 4000);

        /* 3. Erzeugung des Interpolator-Objektes                         */
        RotationInterpolator rotator =
               new RotationInterpolator(rotationAlpha, objSpin);

        /** 4. Erzeugung einer Scheduling Region
         *  Ein BoundingSphere spezifiziert ein Gebiet (Kugel), in dem
         *  ein Verhalten aktiv ist. Standardausrichtung ist der Ursprung
         *  mit einem Radius von 1.
         */
        BoundingSphere bounds = new BoundingSphere();
        /* Scheduling Region dem Interpolator zuordnen                    */
        rotator.setSchedulingBounds(bounds);

        /* 5. Interpolator zu "Kind" der TransformGroup machen            */
        objSpin.addChild(rotator);

        objRoot.addChild(objSpin);

        return objRoot;
      }
    }



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Webdesigner's

    XNA - Codeschnipsel - Tilemap bewegen - gepostet von Snowball am Donnerstag 01.11.2007



    Ähnliche Beiträge wie "Code - j3D - Drehender Würfel"

    Code für Buttons - Anonymous (Mittwoch 30.11.2005)
    28. Spieltag - zepy02 (Freitag 01.02.2013)
    code - Elchi (Dienstag 21.08.2007)
    Frage:Freunde Code - Anonymous (Dienstag 29.11.2005)
    Rafft euch auf, holt die Würfel aus dem Schrank! - Eric (Samstag 02.06.2007)
    De Davinci Code Sakrileg - marvpunk (Mittwoch 07.06.2006)
    Ubuntu beim Summer of Code 2007 - gnomed (Montag 18.06.2007)
    Code Red! - Amazing Red (Donnerstag 09.02.2006)
    Wie findet ihr The Da Vinci Code - Sakrileg - Spirit (Freitag 14.07.2006)
    Sakrileg - The DaVinci Code - kaykay (Dienstag 11.07.2006)