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

📄 mycone.java

📁 这个就是目前我收集,以及自己写的一些java3d的原码,大部分都可以运行,适合和我一样,刚刚开始对java3D心动的菜鸟
💻 JAVA
字号:
package com.java3d.test;

import java.applet.Applet;
import java.awt.BorderLayout;

import javax.media.j3d.Alpha;
import javax.media.j3d.Appearance;
import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.Material;
import javax.media.j3d.Node;
import javax.media.j3d.RotationInterpolator;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.vecmath.Color3f;

import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.geometry.Cone;
import com.sun.j3d.utils.geometry.Primitive;
import com.sun.j3d.utils.universe.SimpleUniverse;

public class myCone extends Applet{

	/**
	 * @param args
	 */
	
	
	public void init() {

		Canvas3D canvas = new Canvas3D(SimpleUniverse
				.getPreferredConfiguration());
		setLayout(new BorderLayout());
		add("Center", canvas);
		
		SimpleUniverse u = new SimpleUniverse(canvas);
		u.getViewingPlatform().setNominalViewingTransform();
		u.addBranchGraph(getBranchGroup());

	}
	
	
	
	private BranchGroup getBranchGroup() {
		// TODO Auto-generated method stub
		BranchGroup bg = new BranchGroup();
	    bg.addChild(getTransformGroup()); 
	    bg.compile(); 
		return bg;
		
	}


	public Node getPrimitive(){

		Node node = (Node)getColorCube();
		return node;
		
	}
	

	public Cone getCone(){
		
		Appearance app = new Appearance(); 
	    Material material = new Material(); 
	    material.setEmissiveColor(new Color3f(1.0f,0.0f,0.0f)); 
	    app.setMaterial(material); 
	    Cone cone = new Cone(.5f,1.5f,app); 
		return cone;
		
	}
	
	
	public ColorCube getColorCube(){
		
		ColorCube colorCube = new ColorCube(0.4);
		return colorCube;
		
	}
	
	
	
	public TransformGroup getTransformGroup(){
		
		Transform3D tf = new Transform3D();
		//tf.rotX(Math.PI/4.0d);
		tf.rotX(-1);
		TransformGroup tfg = new TransformGroup(tf);
		tfg.addChild(getTransformGroup2());
		return tfg;
		
	}
	
	
	
	public TransformGroup getTransformGroup2(){
		
		TransformGroup tfg = new TransformGroup();
		tfg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
		Alpha rotationAlpha = new Alpha(-1, 4000);
		 
		 RotationInterpolator rotator = new RotationInterpolator(rotationAlpha, tfg);
		 BoundingSphere bounds = new BoundingSphere();
		 rotator.setSchedulingBounds(bounds);
		 
		tfg.addChild(getPrimitive());
		tfg.addChild(rotator);
		 
		 return tfg;
		 
	}
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MainFrame(new myCone(), 256, 256);
		
	}

}

⌨️ 快捷键说明

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