import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.universe.SimpleUniverse;
import com.sun.j3d.utils.geometry.*;
public class ch extends TransformGroup{
public Material material3;
public TransformGroup transformGroup4;
public Transform3D transform3D4;
public ch( ){
Material material1 = [[new]] Material( );
material1.setDiffuseColor( 1.0f, 1.0f, 1.0f );
Appearance appearance1 = new Appearance( );
appearance1.setMaterial( material1 );
Material material2 = new Material( );
material2.setDiffuseColor( 1.0f, 0.0f, 0.0f );
Appearance appearance2 = new Appearance( );
appearance2.setMaterial( material2 );
material3 = new Material( );
material3.setDiffuseColor( 0.0f, 0.0f, 0.0f );
Appearance appearance3 = new Appearance( );
appearance3.setMaterial( material3 );
Material material4 = new Material( );
material4.setDiffuseColor( 1.0f, 1.0f, 0.0f );
Appearance appearance4 = new Appearance( );
appearance4.setMaterial( material4 );
Sphere head = new Sphere( 0.3f, Sphere.GENERATE_NORMALS, appearance1 );
Cone body = new Cone( 0.33f, 1.1f,Cone.GENERATE_NORMALS, appearance2 );
Sphere leftEye = new Sphere ( 0.035f, Sphere.GENERATE_NORMALS, appearance3 );
Sphere rightEye = new Sphere ( 0.035f, Sphere.GENERATE_NORMALS, appearance3 );
Cone topBeak = new Cone ( 0.2f, 0.3f, Cone.GENERATE_NORMALS, appearance4 );
Cone bottomBeak = new Cone ( 0.2f, 0.2f, Cone.GENERATE_NORMALS,appearance4 );
/*・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ トサカと胴体の座標変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・*/
TransformGroup transformGroup1 = new TransformGroup( );
// TransformGroupクラスのインスタンスを生成
Transform3D transform3D1 = new Transform3D( );
// Transform3Dクラスのインスタンスを生成
Vector3d vector3d1 = new Vector3d( 0.0, -0.05, 0.0 );
// Vector3dクラスのインスタンスを生成
transform3D1.setTranslation( vector3d1 );
// 「transform3D1」の座標情報として「vector3d1」を設定
transformGroup1.setTransform( transform3D1 );
// 「transformGroup1」の座標変換として「transform3D1」を設定
transformGroup1.addChild( body );
// 「body」を「transformGroup1」に追加
/*・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 左目の座標変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・*/
TransformGroup transformGroup2 = new TransformGroup( );
// TransformGroupクラスのインスタンスを生成
Transform3D transform3D2 = new Transform3D( );
// Transform3Dクラスのインスタンスを生成
Vector3d vector3d2 = new Vector3d( 0.15, 0.04, 0.3 );
// Vector3dクラスのインスタンスを生成
transform3D2.setTranslation( vector3d2 );
// 「transform3D2」の座標情報として「vector3D2」を設定
transformGroup2.setTransform( transform3D2 );
// 「transformGroup2」の座標変換として「transform3D2」を設定
transformGroup2.addChild( leftEye );
// 「leftEye」を「transformGroup2」に追加
TransformGroup transformGroup3 = new TransformGroup( );
Transform3D transform3D3 = new Transform3D( );
Vector3d vector3d3 = new Vector3d( -0.15, 0.04, 0.3 );
transform3D3.setTranslation( vector3d3 );
transformGroup3.setTransform( transform3D3 );
transformGroup3.addChild( rightEye );
/*・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 上クチバシの座標変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・*/
transformGroup4 = new TransformGroup( );
// TransformGroupクラスのインスタンスを生成
transform3D4 = new Transform3D( );
// Transform3Dクラスのインスタンスを生成
Vector3d vector3d4 = new Vector3d( 0.0, 0.05, 0.14 );
// Vector3dクラスのインスタンスを生成
transform3D4.setTranslation( vector3d4 );
// 「transform3D4」の座標情報として「vector3d4」を設定
transformGroup4.setTransform( transform3D4 );
// 「transformGroup4」の座標変換として「transgform3D4」を設定
transformGroup4.addChild( topBeak );
// 「topBeak」を「transformGroup4」に追加
TransformGroup transformGroup5 = new TransformGroup( );
// TransformGroupクラスのインスタンスを生成
Transform3D transform3D5_1 = new Transform3D( );
// Transform3Dクラスのインスタンスを生成
Vector3d vector3d5 = new Vector3d( 0.0, -0.2, 0.11 );
// Vector3dクラスのインスタンスを生成
transform3D5_1.setTranslation( vector3d5 );
// 「transform3D5_1」の座標情報として「vector3d5」を設定
Transform3D transform3D5_2 = new Transform3D( );
// Transform3Dクラスのインスタンスを生成
transform3D5_2.rotX( Math.PI );
// 「transform3D5_2」の座標変換として回転を設定
transform3D5_1.mul( transform3D5_2 );
// 「transform3D5_1」の座標変換と「transform3D5_2」の座標変換を合成
transformGroup5.setTransform( transform3D5_1 );
// 「transformGroup5」の座標変換として「transform3D5_1」を設定
transformGroup5.addChild( bottomBeak );
// 「bottomBeak」を「transfornGroup5」に追加
/*・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 部品の統合 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・*/
this.addChild( head );
this.addChild( transformGroup1 );
this.addChild( transformGroup2 );
this.addChild( transformGroup3 );
this.addChild( transformGroup4 );
this.addChild( transformGroup5 );
}
}
最終更新:2010年10月02日 13:55