⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rotation3d.java

📁 Java 多媒体技术(附源码) Java 3D API JavaSound API 各种格式的多媒体数据文件 JBuilder开发环境
💻 JAVA
字号:
package rotation3d;import java.applet.Applet;import java.awt.BorderLayout;import java.awt.*;import java.awt.event.*;import java.awt.GraphicsConfiguration;import com.sun.j3d.utils.applet.MainFrame;import com.sun.j3d.utils.geometry.ColorCube;import com.sun.j3d.utils.universe.*;import javax.media.j3d.*;import javax.vecmath.*;/** * <p>Title: 3D形体旋转演示</p> * <p>Description: 创建3D形体并使之以Y坐标轴旋转</p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: 中国农业大学计算机系</p> * @author 彭波 * @version 1.0 */public class Rotation3D extends Applet {  boolean isStandalone = false;    private SimpleUniverse u = null;    public BranchGroup createSceneGraph() {  // 定义创建3D场景图方法	BranchGroup objRoot = new BranchGroup();	TransformGroup objTrans = new TransformGroup();	objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);	objRoot.addChild(objTrans);	objTrans.addChild(new ColorCube(0.4));  // 创建三维立方体	Transform3D yAxis = new Transform3D();	Alpha rotationAlpha = new Alpha(-1, 4000);	RotationInterpolator rotator =          // 创建旋转变量	    new RotationInterpolator(rotationAlpha, objTrans, yAxis,				     0.0f, (float) Math.PI*2.0f);	BoundingSphere bounds =	    new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);	rotator.setSchedulingBounds(bounds);	objRoot.addChild(rotator);        objRoot.compile();	return objRoot;    }    public Rotation3D() {    }    public void init() {	setLayout(new BorderLayout());        GraphicsConfiguration config =           SimpleUniverse.getPreferredConfiguration();	Canvas3D c = new Canvas3D(config);	add("Center", c);	BranchGroup scene = createSceneGraph();	u = new SimpleUniverse(c);        u.getViewingPlatform().setNominalViewingTransform();	u.addBranchGraph(scene);    }    public void destroy() {	u.cleanup();    }  //Main method  public static void main(String[] args) {    Rotation3D applet = new Rotation3D();    applet.isStandalone = true;    Frame frame;    frame = new Frame() {      protected void processWindowEvent(WindowEvent e) {        super.processWindowEvent(e);        if (e.getID() == WindowEvent.WINDOW_CLOSING) {          System.exit(0);        }      }      public synchronized void setTitle(String title) {        super.setTitle(title);        enableEvents(AWTEvent.WINDOW_EVENT_MASK);      }    };    frame.setTitle("3D形体旋转演示");    frame.add(applet, BorderLayout.CENTER);    applet.init();    applet.start();    frame.setSize(300,300);    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();    frame.setLocation((d.width - frame.getSize().width) / 2, (d.height - frame.getSize().height) / 2);    frame.setVisible(true);  }}

⌨️ 快捷键说明

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