Code - j3D - 3D Text

Webdesigner's
Verfügbare Informationen zu "Code - j3D - 3D Text"

  • 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 - 3D Text
  • Letzte Antwort: vor 16 Jahren, 6 Monaten, 22 Tagen, 7 Minuten
  • Alle Beiträge und Antworten zu "Code - j3D - 3D Text"

    Re: Code - j3D - 3D Text

    Snowball - 06.10.2007, 00:49

    Code - j3D - 3D Text
    Code: import java.awt.BorderLayout;
    import java.awt.event.*;
    import java.awt.Font;
    import java.awt.GraphicsConfiguration;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    import javax.swing.JFrame;
    import com.sun.j3d.utils.universe.*;

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

        /* WindowListener hinzufuegen                                     */
        t34.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();

        /** Objekt etwas in negativer Z-Achse verschieben, damit
         *  man alle Buchstaben sieht
         **/
        Transform3D t3d = new Transform3D();
        t3d.setTranslation(new Vector3f(0.0f, 0.0f, -12.0f));
        TransformGroup objMove = new TransformGroup(t3d);

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

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

        /* 1. Erzeugung eines Font3D-Objektes von einem AWT-Font          */
        Font3D font3d = new Font3D(new Font("Arial",Font.BOLD,1),
                                   new FontExtrusion());

        /** 2. Erzeugung eines Text3D-Objektes fuer einen String,
         *  der mit Font3D an einem Referenzpunkt erzeugt wird
         **/
        Text3D text3d = new Text3D(font3d,
                                    "Webdesigners!",
                                    new Point3f(-0.6f,0f,0f));

        /** 3. Text3D-Objekt von einem Shape3D-Objekt referenzieren
         *  und zu SceneGraph hinzufuegen
         **/
        objSpin.addChild(new Shape3D(text3d));

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

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

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

        /* SceneGraph-Hierarchie erstellen                                */
        objSpin.addChild(rotator);
        objMove.addChild(objSpin);
        objRoot.addChild(objMove);

        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 - Move_Background - gepostet von Snowball am Sonntag 28.10.2007



    Ähnliche Beiträge wie "Code - j3D - 3D Text"

    Bilder in einem Text einfügen - drohne (Donnerstag 09.08.2007)
    Code für Buttons - Anonymous (Mittwoch 30.11.2005)
    28. Spieltag - zepy02 (Freitag 01.02.2013)
    Text für Einladung - melek1 (Dienstag 06.03.2007)
    code - Elchi (Dienstag 21.08.2007)
    Text SB - dagober7 (Montag 29.01.2007)
    Ein dummer spruch im Theater Text - Charly (Samstag 12.08.2006)
    Hier ein text für euch - dan the fan (Dienstag 25.04.2006)
    Frage:Freunde Code - Anonymous (Dienstag 29.11.2005)
    De Davinci Code Sakrileg - marvpunk (Mittwoch 07.06.2006)