import javax.media.j3d.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.Box;
import javax.vecmath.*;
import java.awt.*;
import javax.swing.*;
public class ex59
{
public static void main(String[] args)
{
ex59 test = new ex59();
}
public ex59()
{
JFrame frame = new JFrame();
frame.setSize(1000,1000);
frame.setTitle("ex59");
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(100,100,500,500);
cp.add(canvas);
SimpleUniverse universe = new SimpleUniverse(canvas);
frame.setVisible(true);
ViewingPlatform camera = universe.getViewingPlatform();
camera.setNominalViewingTransform();
Color3f light_color = new Color3f(1.3f,1.3f,1.3f);
Vector3f light_direction = new Vector3f(0.2f,-0.3f,-1.0f);
DirectionalLight light = new DirectionalLight(light_color,light_direction);
BoundingSphere bounds = new BoundingSphere();
light.setInfluencingBounds(bounds);
BranchGroup group2 = new BranchGroup();
group2.addChild(light);
universe.addBranchGraph(group2);
Appearance appearance = new Appearance();
Material material = new Material();
material.setDiffuseColor(0.9f,0.75f,0.75f);
appearance.setMaterial(material);
Box box = new Box(0.3f,0.3f,0.3f,appearance);
BranchGroup group1 = new BranchGroup();
TransformGroup transform_group = new TransformGroup();
transform_group.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
transform_group.addChild(box);
group1.addChild(transform_group);
universe.addBranchGraph(group1);
Transform3D transform1 = new Transform3D();
Transform3D transform2 = new Transform3D();
transform1.rotX(Math.PI/6);
transform2.rotY(Math.PI/4);
transform1.mul(transform2);
transform_group.setTransform(transform1);
}
}
最終更新:2010年01月07日 10:51