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

📄 picturebox.java

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

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

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.Texture;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.vecmath.Color3f;
import javax.vecmath.Point3d;

import com.java3d.test.mySphere;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.behaviors.vp.OrbitBehavior;
import com.sun.j3d.utils.geometry.Box;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.geometry.Primitive;
import com.sun.j3d.utils.image.TextureLoader;
import com.sun.j3d.utils.universe.SimpleUniverse;
import com.sun.j3d.utils.universe.ViewingPlatform;

public class pictureBox extends Applet {

	private SimpleUniverse universe;
	private BranchGroup scene;
	private Canvas3D canvas;
	private BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0,
			0.0), 1000.0);

	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MainFrame(new pictureBox(), 256, 256);
	}

	public void setupView() {
		/** Add some view related things to view branch side 
		 of scene graph */
		// add mouse interaction to the ViewingPlatform
		OrbitBehavior orbit = new OrbitBehavior(canvas,
				OrbitBehavior.REVERSE_ALL | OrbitBehavior.STOP_ZOOM);
		orbit.setSchedulingBounds(bounds);

		ViewingPlatform viewingPlatform = universe.getViewingPlatform();
		// This will move the ViewPlatform back a bit so the
		// objects in the scene can be viewed.
		viewingPlatform.setNominalViewingTransform();
		viewingPlatform.setViewPlatformBehavior(orbit);

	}

	public void init() {

		BranchGroup scene = getBranchGroup();

		setLayout(new BorderLayout());
		GraphicsConfiguration config = SimpleUniverse
				.getPreferredConfiguration();
		canvas = new Canvas3D(config);
		add("Center", canvas);

		// Create a simple scene and attach it to the virtual universe
		universe = new SimpleUniverse(canvas);

		setupView();

		universe.addBranchGraph(scene);
	}

	
	public void destroy() {
		
		universe.removeAllLocales();

	}

	
	public BranchGroup getBranchGroup() {

		BranchGroup objRoot = null;
		Appearance ap = null;
		Material material = null;
		objRoot = new BranchGroup();
		Transform3D tf = new Transform3D();
		//tf.rotY(Math.PI / 3);
		TransformGroup objTrans = new TransformGroup(tf);
		ap = new Appearance();
		//material = new Material();
		//material.setEmissiveColor(new Color3f(0.0f, 1.0f, 0.0f));
		//ap.setMaterial(material);
		
		
		TextureLoader loader = new TextureLoader("E:\\workplace\\java3d\\src\\com\\java3d\\test\\01.jpg","", new Container());
		Texture texture = loader.getTexture();
		//texture.setBoundaryModeS(Texture.CLAMP_TO_EDGE);
		//texture.setBoundaryModeT(Texture.CLAMP_TO_EDGE);
		ap.setTexture(texture);
		Box box = new Box(.5f, .5f, .5f, Primitive.GENERATE_TEXTURE_COORDS, ap);
		
		objTrans.addChild(box);
		objRoot.addChild(objTrans);
		objRoot.compile();
		return objRoot;
	}

}

⌨️ 快捷键说明

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