「java球自转」球自转的方向

博主:adminadmin 2022-11-29 01:07:06 48

今天给各位分享java球自转的知识,其中也会对球自转的方向进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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

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);

direction.normalize();

lightD1.setDirection(direction);

lightD1.setColor(color1);

objRoot.addChild(lightD1);

//初始化

pointinit();

//添加运输组

TransformGroup trans=new TransformGroup();

trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);

trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);

objRoot.addChild(trans);

Shape3D shape=new Shape3D();

QuadArray qArray=new QuadArray(30000,QuadArray.COORDINATES|QuadArray.COLOR_3);

qArray.setCoordinates(0,vert);

qArray.setColors(0,color);

PolygonAttributes pa=new PolygonAttributes();

pa.setCullFace(PolygonAttributes.CULL_NONE);

shape.setGeometry(qArray);

Appearance app=new Appearance();

app.setPolygonAttributes(pa);

shape.setAppearance(app);

trans.addChild(shape);

//添加鼠标事件

MouseRotate rotate=new MouseRotate();

rotate.setTransformGroup(trans);

objRoot.addChild(rotate);

rotate.setSchedulingBounds(bounds);

MouseZoom zoom=new MouseZoom();

zoom.setTransformGroup(trans);

objRoot.addChild(zoom);

zoom.setSchedulingBounds(bounds);

MouseTranslate translate=new MouseTranslate();

translate.setTransformGroup(trans);

objRoot.addChild(translate);

translate.setSchedulingBounds(bounds);

objRoot.compile();

return objRoot;

}

public void pointinit(){

int i=0;

for(double a=0;a=2*Math.PI;a+=0.09){

for(double b=0;b=Math.PI;b+=0.1){

vert[i]=(float)Math.sin(b)*(float)cos(a);i++;

vert[i]=(float)Math.sin(a)*(float)sin(b);i++;

vert[i]=(float)Math.cos(b);i++;

vert[i]=(float)Math.sin(b)*(float)cos(a+0.1);i++;

vert[i]=(float)Math.sin(a+0.1)*(float)sin(b);i++;

vert[i]=(float)Math.cos(b+0.1);i++;

vert[i]=(float)Math.sin(b+0.1)*(float)cos(a+0.1);i++;

vert[i]=(float)Math.sin(a+0.1)*(float)sin(b+0.1);i++;

vert[i]=(float)Math.cos(b+0.1);i++;

vert[i]=(float)Math.sin(b+0.1)*(float)cos(a);i++;

vert[i]=(float)Math.sin(a)*(float)sin(b+0.1);i++;

vert[i]=(float)Math.cos(b+0.1);i++;

}

}

for(i=0;i30000;i++){

color[i]=new Color3f(0.4f,0.0f,0.5f);

}

}

public Ball11(){

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){

long time1=System.nanoTime();

new MainFrame(new Ball11(),400,400);

long time2=System.nanoTime();

System.out.println("用时为: "+(time2-time1)/1000000000.0 + " 秒");

}

}

JAVA 模拟小球自由落体和平抛运动

这个绝对可以的,我都试过了。请采纳,谢谢。

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

public class BallThread extends Applet implements Runnable{

Thread red, blue;

Graphics redPen, bluePen;

int t=0;

public void init(){

red = new Thread(this);

blue = new Thread(this);

redPen = getGraphics();

bluePen = getGraphics();

redPen.setColor(Color.red);

bluePen.setColor(Color.blue);

}

public void start(){

red.start();

blue.start();

}

public void run(){

while(true){

t=t+1;

if(Thread.currentThread()==red){

if(t100)t=0;

redPen.clearRect(0,0,110,400);

redPen.fillOval(50,(int)(1.0/2*t*9.8),15,15);

try{

red.sleep(40);

}catch(InterruptedException e){}

}else if(Thread.currentThread()==blue){

bluePen.clearRect(120,0,900,500);

bluePen.fillOval(120+7*t,(int)(1.0/2*t*9.8),15,15);

try{

blue.sleep(40);

}catch(InterruptedException e){}

}

}

}

}

JAVA球的分类跟玩法

JAVA球的分类跟玩法:在给物质进行分类时,采用交叉分类法能从不同角度对物质进行较全面的分析,给物质分类时由于标准不同往往会出现交叉分类法。

JAVA有三大分类,分别为:J2ME、J2SE、J2EE。Java ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。

功能应用:

JAVA3D可用在三维动画、三维游戏、机械CAD等领域。 可以用来编写三维形体,但和 VRML不同,JAVA3D没有基本形体,不过我们可以利用JAVA3D所带的UTILITY生成一些基本形体如立方体、球、圆锥等。

我们也可以直接调用一些软件如ALIAS、LIGHTWARE、3DS MAX生成的形体,也可以直接调用VRML2.0生成的形体。

可以和VRML一样,使形体带有颜色、贴图。

可以产生形体的运动、变化,动态地改变观测点的位置及视角。

可以具有交互作用,如点击形体时会使程序发出一个信号从而产生一定的变化。

可以充分利用JAVA语言的强大功能,编写出复杂的三维应用程序。

JAVA3D具有VRML所没有的形体碰撞检查功能。

关于java球自转和球自转的方向的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-29,除非注明,否则均为首码项目网原创文章,转载请注明出处。