// Java 3Dテスト用アプレット // ColorTest.java // Copyright (c) 1999 ENDO Yasuyuki // mailto:yasuyuki@javaopen.org // http://www.javaopen.org/j3dbook/index.html import java.applet.*; import java.awt.*; import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.applet.MainFrame; import com.sun.j3d.utils.universe.SimpleUniverse; public class ColorTest extends Applet { public ColorTest() { GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); Canvas3D canvas = new Canvas3D(config); this.setLayout(new BorderLayout()); this.add(canvas, BorderLayout.CENTER); SimpleUniverse universe = new SimpleUniverse(canvas); universe.getViewingPlatform().setNominalViewingTransform(); BranchGroup scene = createSceneGraph(); universe.addBranchGraph(scene); } private BranchGroup createSceneGraph() { BranchGroup root = new BranchGroup(); Point3d[] vertices = new Point3d[6]; vertices[0] = new Point3d(-0.9, 0.0, 0.0); vertices[1] = new Point3d(-0.6, -0.4, 0.0); vertices[2] = new Point3d(-0.2, 0.3, 0.0); vertices[3] = new Point3d(0.1, 0.0, 0.0); vertices[4] = new Point3d(0.3, -0.4, 0.0); vertices[5] = new Point3d(0.6, 0.1, 0.0); TriangleArray geometry = new TriangleArray( vertices.length, GeometryArray.COORDINATES | GeometryArray.COLOR_3); geometry.setCoordinates(0, vertices); Color3f red = new Color3f(1.0f, 0.0f, 0.0f); Color3f blue = new Color3f(0.0f, 0.0f, 1.0f); geometry.setColor(0, red); geometry.setColor(1, red); geometry.setColor(2, red); geometry.setColor(3, blue); geometry.setColor(4, blue); geometry.setColor(5, blue); Shape3D shape = new Shape3D(geometry); root.addChild(shape); return root; } public static void main(String[] args) { ColorTest applet = new ColorTest(); MainFrame frame = new MainFrame(applet, 500, 500); } }