java3D的问题…我要利用java3d绘制一个地球可以自转的动画…

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:32:08
各位java高手你们好…我希望利用java3d绘制一个地球可以自转,并能做到以下的动作…
1.利用java3D写一个3D球,球的表面贴着地图的纹理,变成一颗3D的地球…
2.地球会自动的旋转…
3.建立一个模仿太阳光去照着地球…
3.地球可以手动利用滑鼠旋转…
4.地球可以利用滑鼠缩放(放大缩小)…
请给我完整的程式码…麻烦大家了…希望大家可以帮我…
请大家给我JAVA3D的程式码…来SHOW这个效果唷!谢谢

import java.applet.Applet;
import java.awt.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import static java.lang.Math.*;
import com.sun.j3d.utils.behaviors.mouse.*;
public class Ball11 extends Applet
{
private float vert[]=new float[30000];
private Color3f color[]=new Color3f[30000];
public BranchGroup createSceneGraph(){
BranchGroup objRoot=new BranchGroup();//分支组
BoundingSphere bounds=new BoundingSphere(new Point3d(),100.0);
Color3f bgColor=new Color3f(1.0f,1.0f,1.0f);
Background bg=new Background(bgColor);//背景颜色
bg.setApplicationBounds(bounds);//背景范围
objRoot.addChild(bg);

//添加平行光
DirectionalLight lightD1=new DirectionalLight();
lightD1.setInfluencingBounds(new BoundingSphere());
Vector3f direction=new Vector3f(2.5f,8.0f,-1.0f);
Color3f color1=new Color3f(1.0f,0.0f,0.0f);