アットウィキロゴ

JAVA13 13

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 ex13
{
public static void main(String[] args)
{
ex13 test = new ex13();
}

public ex13()
{
JFrame frame = new JFrame();
frame.setSize(500,500);
frame.setTitle("ex13");
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);
SimpleUniverse universe = new SimpleUniverse(canvas);
frame.setVisible(true);
ViewingPlatform camera = universe.getViewingPlatform();
camera.setNominalViewingTransform();

Color3f light_color = new Color3f(1.0f,1.0f,1.0f);
Vector3f light_direction = new Vector3f(0.2f,-0.2f,-0.6f);
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を生成
BranchGroup group1 = new BranchGroup();

//TransformGroupを生成
TransformGroup transform_group = new TransformGroup();
  
//座標変換の上書きを許可
transform_group.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);

//TransformGroupにBoxを登録
transform_group.addChild(box);

//BranchGroupにTransformGroupを登録
group1.addChild(transform_group);

//最後に、SimpleUniverseにBranchGroupを登録
universe.addBranchGraph(group1);

//============================================================================
//平行移動します。
//============================================================================

//平行移動のためのベクトル生成。今回は右へ0.4動かす。
Vector3f vector1 = new Vector3f(0.4f,0.0f,0.0f);

//Transform3Dを生成
Transform3D transform1 = new Transform3D();

//Transform3Dに、平行移動としてvectorを登録。
transform1.setTranslation(vector1);

//TransformGroupにTransform3Dを登録。
transform_group.setTransform(transform1);


}

}
最終更新:2010年01月06日 17:55