simplecube.java

来自「JAVA网络三维技术3D的设计与实现」· Java 代码 · 共 66 行

JAVA
66
字号
package Java3DApplet;
import javax.media.j3d.*;
import javax.vecmath.*;
import java.applet.*;
import java.awt.*;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;

public class SimpleCube {
  public SimpleCube() {
    try {
      jbInit();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }

  public static BranchGroup createSceneGraph( ){
    BranchGroup branch = new BranchGroup( );

    // Make a changeable 3D transform
    TransformGroup trans = new TransformGroup( );
    trans.setCapability( TransformGroup.ALLOW_TRANSFORM_WRITE );
    branch.addChild( trans );

    // Make a shape
    ColorCube demo = new ColorCube( 0.4 );
    trans.addChild( demo );
    // Make a behavor to spin the shape
    Alpha spinAlpha = new Alpha( -1, 4000 );
    RotationInterpolator spinner =
    new RotationInterpolator( spinAlpha, trans );
    spinner.setSchedulingBounds(
    new BoundingSphere( new Point3d( ), 1000.0 ) );
    trans.addChild( spinner );

    return branch;
}

  public static void main( String[] args ) {


    //SimpleCube sc = new SimpleCube();//
      Frame frame = new Frame( );
      frame.setSize( 640, 480 );
      frame.setLayout( new BorderLayout( ) );

      Canvas3D canvas = new Canvas3D( null );
      frame.add( "Center", canvas );

      SimpleUniverse univ = new SimpleUniverse( canvas );
      univ.getViewingPlatform( ).setNominalViewingTransform( );

     // BranchGroup scene = createSceneGraph( );
      BranchGroup scene = createSceneGraph( );
      scene.compile( );
      univ.addBranchGraph( scene );

      frame.show( );
}

  private void jbInit() throws Exception {
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?