java3d毕业设计源代码.doc
- 文档编号:30579103
- 上传时间:2023-08-17
- 格式:DOC
- 页数:32
- 大小:200.08KB
java3d毕业设计源代码.doc
《java3d毕业设计源代码.doc》由会员分享,可在线阅读,更多相关《java3d毕业设计源代码.doc(32页珍藏版)》请在冰豆网上搜索。
importjava.applet.Applet;
importjava.awt.*;
import.URL;
importjava.awt.image.*;
importjavax.imageio.*;
importjava.io.*;
importjava.awt.event.*;
importcom.sun.j3d.utils.applet.MainFrame;
importcom.sun.j3d.utils.universe.*;
importcom.sun.j3d.utils.image.TextureLoader;
importcom.sun.j3d.utils.geometry.*;
importjavax.media.j3d.*;
importjavax.vecmath.*;
importjava.awt.GraphicsConfiguration;
importcom.sun.j3d.utils.behaviors.mouse.*;
importjava.awt.Font;
importjava.awt.geom.QuadCurve2D;//加入3D文字的包
importcom.sun.j3d.loaders.objectfile.ObjectFile;//(导入3dmax文件)
importcom.sun.j3d.loaders.ParsingErrorException;
importcom.sun.j3d.loaders.IncorrectFormatException;
importcom.sun.j3d.loaders.Scene;
publicclassbiyeshejiextendsApplet{
publicBranchGroupcreateSceneGraph(){
//建立场景的根分支节点
BranchGroupsceneRoot=newBranchGroup();
//建立场景的范围
BoundingSpherebounds=newBoundingSphere(newPoint3d(0.0,0.0,0.0),100.0);
//加入背景图片
URLurl=getClass().getClassLoader().getResource("img/13.jpg");
BufferedImagebi=null;
try{
bi=ImageIO.read(url);
}catch(IOExceptionex){
ex.printStackTrace();
}
ImageComponent2Dimage=newImageComponent2D(ImageComponent2D.FORMAT_RGB,bi);
Backgroundbg=newBackground(image);
bg.setApplicationBounds(bounds);
sceneRoot.addChild(bg);
//添加平行光到根分支节点
Color3fdirectionalColor=newColor3f(1.f,1.f,1.f);
Vector3fvec=newVector3f(-0.5f,0.f,0.5f);
DirectionalLightdirectionalLight=newDirectionalLight(directionalColor,vec);
directionalLight.setInfluencingBounds(bounds);
sceneRoot.addChild(directionalLight);
Color3fdirectionalColor1=newColor3f(1.f,1.f,1.f);
Vector3fvec1=newVector3f(-0.5f,0.f,-0.5f);
DirectionalLightdirectionalLight1=newDirectionalLight(directionalColor1,vec1);
directionalLight1.setInfluencingBounds(bounds);
sceneRoot.addChild(directionalLight1);
Color3fdirectionalColor2=newColor3f(1.f,1.f,1.f);
Vector3fvec2=newVector3f(0.5f,0.f,0.5f);
DirectionalLightdirectionalLight2=newDirectionalLight(directionalColor2,vec2);
directionalLight2.setInfluencingBounds(bounds);
sceneRoot.addChild(directionalLight2);
Color3fdirectionalColor3=newColor3f(1.f,1.f,1.f);
Vector3fvec3=newVector3f(0.5f,0.f,-0.5f);
DirectionalLightdirectionalLight3=newDirectionalLight(directionalColor3,vec3);
directionalLight3.setInfluencingBounds(bounds);
sceneRoot.addChild(directionalLight3);
//定义外观(鼓面银灰)
Appearanceapp1=newAppearance();
Materialmaterial1=newMaterial();
material1.setDiffuseColor(newColor3f(0.7f,0.7f,0.8f));
app1.setMaterial(material1);
//(鼓变黄色)
Appearanceapp2=newAppearance();
Materialmaterial2=newMaterial();
material2.setDiffuseColor(newColor3f(1.0f,1.0f,0.0f));
app2.setMaterial(material2);
//(架子灰色)
Appearanceapp3=newAppearance();
Materialmaterial3=newMaterial();
material3.setDiffuseColor(newColor3f(0.2f,0.2f,0.2f));
app3.setMaterial(material3);
//(白色)
Appearanceapp4=newAppearance();
Materialmaterial4=newMaterial();
material4.setDiffuseColor(newColor3f(1.0f,1.0f,1.0f));
app4.setMaterial(material4);
//(红色)
Appearanceapp5=newAppearance();
Materialmaterial5=newMaterial();
material5.setDiffuseColor(newColor3f(1.0f,0.0f,0.0f));
app5.setMaterial(material5);
//(白色)
Appearanceapp6=newAppearance();
Materialmaterial6=newMaterial();
material6.setDiffuseColor(newColor3f(1.0f,1.0f,1.0f));
app6.setMaterial(material6);
//(铜色)
Appearanceapp7=newAppearance();
Materialmaterial7=newMaterial();
material7.setDiffuseColor(newColor3f(0.579f,0.397f,0.205f));
app7.setMaterial(material7);
//(黑色)
Appearanceapp8=newAppearance();
Materialmaterial8=newMaterial();
material8.setDiffuseColor(newColor3f(0.0f,0.0f,0.0f));
app8.setMaterial(material8);
//创建一个变换组叶节点,并添加到根分支点(不变)
TransformGroupobjTrans1=newTransformGroup();
objTrans1.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans1.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
//创建一个变换组叶节点,并添加到根分支点(鼠标可动)
TransformGroupobjTrans2=newTransformGroup();
objTrans2.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans2.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
Transform3DyAxis=newTransform3D();
yAxis.rotX(Math.PI/6.0);
objTrans2.setTransform(yAxis);
sceneRoot.addChild(objTrans2);
TransformGroupobjTrans3=newTransformGroup();
objTrans3.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans3.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
Transform3DyAxis1=newTransform3D();
yAxis1.rotX(Math.PI/8.0);
yAxis1.setTranslation(newVector3f(-0.05f,-0.11f,0.0f));
objTrans3.setTransform(yAxis1);
objTrans2.addChild(objTrans3);
//铜鼓1选转
TransformGroupobjTrans4=newTransformGroup();
objTrans4.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans4.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
Transform3DyAxis2=newTransform3D();
yAxis2.rotY(Math.PI/4.0);
yAxis2.setTranslation(newVector3f(0.05f,0.0f,-0.3f));
objTrans4.setTransform(yAxis2);
objTrans2.addChild(objTrans4);
//椅子
TransformGroupobjTrans5=newTransformGroup();
objTrans5.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans5.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
Transform3DyAxis3=newTransform3D();
yAxis3.setTranslation(newVector3f(-0.1f,0.0f,0.0f));
objTrans5.setTransform(yAxis3);
objTrans2.addChild(objTrans5);
TransformGroupobjTrans7=newTransformGroup();
objTrans3.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans3.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
Transform3DyAxis5=newTransform3D();
yAxis5.rotZ(Math.PI/6);
objTrans7.setTransform(yAxis5);
TransformGroupobjTrans6=newTransformGroup();
Transform3DyAxis4=newTransform3D();
yAxis4.setScale(0.14);
yAxis4.setTranslation(newVector3f(0.f,0.05f,0.4f));
objTrans6.setTransform(yAxis4);
objTrans7.addChild(objTrans6);
objTrans4.addChild(objTrans7);
TransformGroupobjTrans8=newTransformGroup();
objTrans8.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans8.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
Transform3DyAxis8=newTransform3D();
yAxis8.rotY(Math.PI/1.7);
objTrans8.setTransform(yAxis8);
TransformGroupobjTrans9=newTransformGroup();
Transform3DyAxis9=newTransform3D();
yAxis9.setScale(0.14);
yAxis9.setTranslation(newVector3f(-0.25f,0.0f,-0.05f));
objTrans9.setTransform(yAxis9);
objTrans9.addChild(objTrans8);
objTrans2.addChild(objTrans9);
//鼓1变色
TransformGroupobjTrans10=newTransformGroup();
objTrans10.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans10.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objTrans2.addChild(objTrans10);
//鼓5变色
TransformGroupobjTrans11=newTransformGroup();
objTrans11.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans11.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objTrans2.addChild(objTrans11);
//加入文字
Shape3Dtext2D=newText2D("欢迎来到海南大学音乐殿堂",newColor3f(1f,1f,0f),"楷体",20,Font.BOLD);
text2D.setBounds(bounds);
Alphaalpha1=newAlpha(-1,Alpha.INCREASING_ENABLE+Alpha.DECREASING_ENABLE,0,0,0,0,0,8000,0,5000);
PositionInterpolatorposInt1=newPositionInterpolator(alpha1,objTrans1);
posInt1.setSchedulingBounds(bounds);
posInt1.setStartPosition(-1.0f);
Transform3Dt1=newTransform3D();
t1.setTranslation(newVector3f(0.55f,0.4f,0.0f));
TransformGroupg=newTransformGroup(t1);
sceneRoot.addChild(g);
objTrans1.addChild(text2D);
g.addChild(objTrans1);
sceneRoot.addChild(posInt1);
//鼓1变色
Color3fyuanse1=newColor3f(0.7f,0.7f,0.8f);
Color3fbianse1=newColor3f(0.512f,0.941f,0.04f);
Appearanceapp10=newAppearance();
Materialmat10=newMaterial();
mat10.setCapability(Material.ALLOW_COMPONENT_WRITE);
mat10.setShininess(128);
app10.setMaterial(mat10);
Alphaalpha10=newAlpha(-1,Alpha.INCREASING_ENABLE+Alpha.DECREASING_ENABLE,1300,0,0,0,300,0,0,2400);
ColorInterpolatorcolInt1=newColorInterpolator(alpha10,mat10);
colInt1.setStartColor(yuanse1);
colInt1.setEndColor(bianse1);
colInt1.setSchedulingBounds(bounds);
objTrans10.addChild(colInt1);
//鼓5变色
Color3fyuanse2=newColor3f(0.7f,0.7f,0.8f);
Color3fbianse2=newColor3f(0.512f,0.941f,0.04f);
Appearanceapp11=newAppearance();
Materialmat11=newMaterial();
mat11.setCapability(Material.ALLOW_COMPONENT_WRITE);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java3d 毕业设计 源代码