アットウィキロゴ

JAVA0217

import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import java.util.Timer;


public class game0217 implements Runnable{

SimpleUniverse universe;
BranchGroup group1;
TransformGroup transform_group1;
Transform3D transform1;

public static void main(String[] args)
{
game0217 test = new game0217();
}

public game0217() {

JFrame frame = new JFrame();
frame.setSize(250,250);
frame.setTitle("pro0216");  
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel cp = new JPanel();
cp.setLayout(null);  
frame.add(cp);
GraphicsConfiguration g_config = SimpleUniverse.getPreferredConfiguration();  
Canvas3D canvas = new Canvas3D(g_config);  
canvas.setBounds(0,0,250,250);
cp.add(canvas);  
universe = new SimpleUniverse(canvas);  
group1 = new BranchGroup();

ColorCube cube = new ColorCube(0.4f);
transform_group1 = new TransformGroup();
transform_group1.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
transform_group1.addChild(cube);
transform1 = new Transform3D();
group1.addChild(transform_group1);  
universe.addBranchGraph(group1);      

ViewingPlatform vp = universe.getViewingPlatform();  
TransformGroup Camera = vp.getViewPlatformTransform();
Transform3D view_pos = new Transform3D();
Vector3f pos_vec = new Vector3f(1.4f,1.4f,1.4f);
view_pos.setTranslation(pos_vec);
Transform3D view_dir = new Transform3D();
Transform3D view_dir2 = new Transform3D();
view_dir.rotY(Math.PI/4);
view_dir2.rotX(-Math.PI/4 + 0.1f);
view_dir.mul(view_dir2);
view_pos.mul(view_dir);
Camera.setTransform(view_pos);
frame.setVisible(true);



Thread th=new Thread(this);
th.start();

}

public void run() {
int t;
float x;
t=0;

while(t<100){
x=t*0.01f;
transform1.set(new Vector3d(x, 0.0, -x));
transform_group1.setTransform(transform1);  
try{
Thread.sleep(100);
}catch(InterruptedException e){}
t=t+1;
}

}
}
最終更新:2011年02月15日 02:31