[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00632] Re: Appearance,Textureサンプル追加
■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■ 最近当たらない ■■■■
■■■■ 全然儲からない ■■■■
■■■■ そんな、あなたに・・・ ■■■■
■■■■ ↓ ■■■■
■■■■ http://www.ncs-j.co.jp/odds.htm ■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■
> TextureTest.java (テクスチャー・マッピングのサンプル Primitive)を
>見ました。
> コンパイルして動作させた環境は、以下の環境です。
> ・WindowsNT4.0 + SP4
> ・JBuilder2.01
> ・JDK 1.2.1
> ・Java3D 1.1.2
>
> で、この空間に X軸, Y軸, Z軸 や グリッド を表示出来ないでしょうか?
> 3Dのプログラムを作る上で分かりやすいと思うので...。
private BranchGroup createSceneGraph() {
BranchGroup root = new BranchGroup();
Transform3D t3d = new Transform3D();
t3d.rotX(Math.PI / 4.0);
Transform3D roty = new Transform3D();
roty.rotY(Math.PI / 4.0);
t3d.mul(roty);
objTrans = new TransformGroup(t3d);
Appearance ap = createAppearance();
Transform3D bt3d = new Transform3D();
bt3d.set(new Vector3d(-0.4, 0.0, 0.4));
TransformGroup btrans = new TransformGroup(bt3d);
btrans.addChild(
new Box( 0.25f, 0.25f, 0.25f,
Primitive.GENERATE_TEXTURE_COORDS,
ap ) );
objTrans.addChild(btrans);
// グリッドを追加
double[] vertices = { -0.8, 0.0, -0.8,
-0.8, 0.0, 0.8,
-0.4, 0.0, -0.8,
-0.4, 0.0, 0.8,
0.0, 0.0, -0.8,
0.0, 0.0, 0.8,
0.4, 0.0, -0.8,
0.4, 0.0, 0.8,
0.8, 0.0, -0.8,
0.8, 0.0, 0.8,
-0.8, 0.0, -0.8,
0.8, 0.0, -0.8,
-0.8, 0.0, -0.4,
0.8, 0.0, -0.4,
-0.8, 0.0, 0.0,
0.8, 0.0, 0.0,
-0.8, 0.0, 0.4,
0.8, 0.0, 0.4,
-0.8, 0.0, 0.8,
0.8, 0.0, 0.8 };
LineArray geom = new LineArray( vertices.length, GeometryArray.COORDINATES);
geom.setCoordinates(0, vertices);
Shape3D grid = new Shape3D(geom);
objTrans.addChild(grid);
// ここまで
Transform3D cyt3d = new Transform3D();
cyt3d.set(new Vector3d(-0.4, 0.0, -0.4));
TransformGroup cytrans = new TransformGroup(cyt3d);
cytrans.addChild(
new Cylinder( 0.3f, 0.6f, Primitive.GENERATE_TEXTURE_COORDS, ap) );
objTrans.addChild(cytrans);
Transform3D cnt3d = new Transform3D();
cnt3d.set(new Vector3d(0.4, 0.0, 0.4));
TransformGroup cntrans = new TransformGroup(cnt3d);
cntrans.addChild(
new Cone( 0.3f, 0.6f, Primitive.GENERATE_TEXTURE_COORDS, ap) );
objTrans.addChild(cntrans);
Transform3D st3d = new Transform3D();
st3d.set(new Vector3d(0.4, 0.0, -0.4));
TransformGroup strans = new TransformGroup(st3d);
strans.addChild(
new Sphere( 0.3f, Primitive.GENERATE_TEXTURE_COORDS, ap) );
objTrans.addChild(strans);
root.addChild(objTrans);
return root;
}
こんな感じでよろしいでしょうか。:)
--
えんどう やすゆき <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/ (Java互助会ホームページ)