import java.applet.Applet;
import java.awt.*;
import com.sun.j3d.utils.applet.MainFrame;
import java.awt.BorderLayout;
import com.sun.j3d.utils.universe.SimpleUniverse;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.behaviors.mouse.*;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.image.TextureLoader;
public class box extends Applet
{
BranchGroup createSceneGraph()
{
Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
Color3f gray = new Color3f(0.4f, 0.4f, 0.4f);
BranchGroup objRoot=new BranchGroup();
BoundingSphere bounds=new BoundingSphere(new Point3d(0,0,0),100);
DirectionalLight lightB=new DirectionalLight(new Color3f(1.0f,0.0f,0.0f),new Vector3f(0.0f,0.0f,-1.0f));
lightB.setInfluencingBounds(new BoundingSphere());
objRoot.addChild(lightB);
Appearance ap=new Appearance();
ColoringAttributes ca=new ColoringAttributes();
TransparencyAttributes ta=new TransparencyAttributes();
ta.setTransparency(0.2f);
ta.setTransparencyMode(TransparencyAttributes.BLENDED);
ca.setColor(1f,1f,1f);
ap.setTransparencyAttributes(ta);
ap.setColoringAttributes(ca);
Box box=new Box(0.6f,0.5f,0.1f,ap);
Transform3D t3d=new Transform3D();
TransformGroup trans=new TransformGroup();
trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
trans.addChild(box);
Appearance app1=new Appearance();
TextureLoader tex = new TextureLoader("mm.jpg", this);
app1.setTexture(tex.getTexture());
app1.setMaterial(new Material(gray, black, gray, white, 1.0f));
Box QC = new Box(0.55f,0.45f,0.05f,Primitive.GENERATE_NORMALS|Primitive.GENERATE_TEXTURE_COORDS,app1);
trans.addChild(QC);
objRoot.addChild(trans);
MouseRotate behavior=new MouseRotate();
behavior.setTransformGroup(trans);
behavior.setSchedulingBounds(bounds);
objRoot.addChild(behavior);
MouseZoom behaviorZ=new MouseZoom(MouseBehavior.INVERT_INPUT);
behaviorZ.setTransformGroup(trans);
behaviorZ.setSchedulingBounds(bounds);
objRoot.addChild(behaviorZ);
return objRoot;
}
public box ()
{
setLayout(new BorderLayout());
GraphicsConfiguration config=SimpleUniverse.getPreferredConfiguration();
Canvas3D c=new Canvas3D(config);
add("Center",c);
BranchGroup scene=createSceneGraph();
SimpleUniverse u= new SimpleUniverse(c);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
}
public static void main(String args [])
{
new MainFrame(new box(),800,600);
}
}
java3d applet 入门小案例


ythaichan
- 粉丝: 1
- 资源: 10
最新资源
- 基础算法-python爬楼梯问题
- 某音Web端参数X-Bogus获取算法(逆向分析)
- 头歌答案 C语言程序设计实践 实验二 数据类型与基本操作(1)
- java高校实习生管理系统设计和实现springboot+vue毕业设计源码+数据库mysql代码.rar
- springboot+vue.js辽B代驾管理系统java毕业设计源码+数据库代码.rar
- OceanBase OBCA初级考试认证资料
- java可信捐赠管理系统的设计与开发springboot+vue毕业设计源码+数据库代码.rar
- vue基于Springboot的网上宠物店系统的设计与实现java毕业设计源码+数据库代码.rar
- OceanBase OBCA 部分题目
- vue基于springboot的七彩云南文化旅游网站的设计与实现java毕业设计源码代码+数据库.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


