Professional Documents
Culture Documents
Script Papan Catur 3D
Script Papan Catur 3D
Script Papan Catur 3D
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.Box;
import com.sun.j3d.utils.geometry.Sphere;
import java.awt.*;
import javax.media.j3d.*;
import javax.swing.*;
import javax.vecmath.*;
TransformGroup kayu1;
TransformGroup kayu2;
TransformGroup kayu3;
TransformGroup kayu4;
TransformGroup balok1;
TransformGroup balok2;
TransformGroup balok3;
TransformGroup balok4;
TransformGroup balok5;
TransformGroup balok6;
TransformGroup balok7;
TransformGroup balok8;
TransformGroup balok9;
TransformGroup balok10;
TransformGroup balok11;
TransformGroup balok12;
TransformGroup balok13;
TransformGroup balok14;
TransformGroup balok15;
TransformGroup balok16;
TransformGroup balok17;
TransformGroup balok18;
TransformGroup balok19;
TransformGroup balok20;
TransformGroup balok21;
TransformGroup balok22;
TransformGroup balok23;
TransformGroup balok24;
TransformGroup balok25;
TransformGroup balok26;
TransformGroup balok27;
TransformGroup balok28;
TransformGroup balok29;
TransformGroup balok30;
TransformGroup balok31;
TransformGroup balok32;
TransformGroup balok33;
TransformGroup balok34;
TransformGroup balok35;
TransformGroup balok36;
TransformGroup balok37;
TransformGroup balok38;
TransformGroup balok39;
TransformGroup balok40;
TransformGroup balok41;
TransformGroup balok42;
TransformGroup balok43;
TransformGroup balok44;
TransformGroup balok45;
TransformGroup balok46;
TransformGroup balok47;
TransformGroup balok48;
TransformGroup balok49;
TransformGroup balok50;
TransformGroup balok51;
TransformGroup balok52;
TransformGroup balok53;
TransformGroup balok54;
TransformGroup balok55;
TransformGroup balok56;
TransformGroup balok57;
TransformGroup balok58;
TransformGroup balok59;
TransformGroup balok60;
TransformGroup balok61;
TransformGroup balok62;
TransformGroup balok63;
TransformGroup balok64;
//objek transformasi
Transform3D trans = new Transform3D();
//vektor
public Catur(){
setLayout(new BorderLayout());
//membuat canvas
add("Center",canvas);
//membuat universe
simUniverse.getViewingPlatform().setNominalViewingTransform();
simUniverse.addBranchGraph(scene);
//mix warna
appearance.setMaterial(material);
return appearance;
}
//untuk membuat objek pinggiran papan
void kayu1(){
//menentukan letak/posisi
trans.set(vector);
//ditransformasikan
kayu1.setTransform(trans);
//menambahkan child
kayu1.addChild(k1);
trans.set(vector);
kayu2.setTransform(trans);
kayu2.addChild(k2);
trans.set(vector);
kayu3.setTransform(trans);
kayu3.addChild(k3);
trans.set(vector);
kayu4.setTransform(trans);
kayu4.addChild(k4);
//1-4
trans.set(vector);
balok1.setTransform(trans);
balok1.addChild(b1);
trans.set(vector);
balok2.setTransform(trans);
balok2.addChild(b2);
trans.set(vector);
balok3.setTransform(trans);
balok3.addChild(b3);
balok4 = new TransformGroup();
trans.set(vector);
balok4.setTransform(trans);
balok4.addChild(b4);
//5-8
trans.set(vector);
balok5.setTransform(trans);
balok5.addChild(b5);
trans.set(vector);
balok6.setTransform(trans);
balok6.addChild(b6);
trans.set(vector);
balok7.setTransform(trans);
trans.set(vector);
balok8.setTransform(trans);
balok8.addChild(b8);
//9-12
trans.set(vector);
balok9.setTransform(trans);
balok9.addChild(b9);
trans.set(vector);
balok10.setTransform(trans);
balok10.addChild(b10);
trans.set(vector);
balok11.setTransform(trans);
trans.set(vector);
balok12.setTransform(trans);
balok12.addChild(b12);
//13-16
trans.set(vector);
balok13.setTransform(trans);
balok13.addChild(b13);
trans.set(vector);
balok14.setTransform(trans);
balok14.addChild(b14);
trans.set(vector);
balok15.setTransform(trans);
Box b15 = new Box(0.5f,0.3f,0.5f,apr(1.0f, 1.0f, 1.0f));
balok15.addChild(b15);
trans.set(vector);
balok16.setTransform(trans);
balok16.addChild(b16);
//17-20
trans.set(vector);
balok17.setTransform(trans);
balok17.addChild(b17);
trans.set(vector);
balok18.setTransform(trans);
balok18.addChild(b18);
trans.set(vector);
balok19.setTransform(trans);
balok19.addChild(b19);
trans.set(vector);
balok20.setTransform(trans);
balok20.addChild(b20);
//21-24
trans.set(vector);
balok21.setTransform(trans);
balok21.addChild(b21);
trans.set(vector);
balok22.setTransform(trans);
balok22.addChild(b22);
balok23.setTransform(trans);
balok23.addChild(b23);
trans.set(vector);
balok24.setTransform(trans);
balok24.addChild(b24);
//25-28
trans.set(vector);
balok25.setTransform(trans);
balok25.addChild(b25);
trans.set(vector);
balok26.setTransform(trans);
balok26.addChild(b26);
trans.set(vector);
balok27.setTransform(trans);
balok27.addChild(b27);
trans.set(vector);
balok28.setTransform(trans);
balok28.addChild(b28);
//29-32
trans.set(vector);
balok29.setTransform(trans);
balok29.addChild(b29);
trans.set(vector);
balok30.setTransform(trans);
balok30.addChild(b30);
balok31 = new TransformGroup();
trans.set(vector);
balok31.setTransform(trans);
balok31.addChild(b31);
trans.set(vector);
balok32.setTransform(trans);
balok32.addChild(b32);
//33-36
trans.set(vector);
balok33.setTransform(trans);
balok33.addChild(b33);
trans.set(vector);
balok34.setTransform(trans);
trans.set(vector);
balok35.setTransform(trans);
balok35.addChild(b35);
trans.set(vector);
balok36.setTransform(trans);
balok36.addChild(b36);
//37-40
trans.set(vector);
balok37.setTransform(trans);
balok37.addChild(b37);
trans.set(vector);
balok38.setTransform(trans);
Box b38 = new Box(0.5f,0.3f,0.5f,apr(0.0f, 0.0f, 0.0f));
balok38.addChild(b38);
trans.set(vector);
balok39.setTransform(trans);
balok39.addChild(b39);
trans.set(vector);
balok40.setTransform(trans);
balok40.addChild(b40);
//41-44
trans.set(vector);
balok41.setTransform(trans);
balok41.addChild(b41);
trans.set(vector);
balok42.setTransform(trans);
balok42.addChild(b42);
trans.set(vector);
balok43.setTransform(trans);
balok43.addChild(b43);
trans.set(vector);
balok44.setTransform(trans);
balok44.addChild(b44);
//45-48
trans.set(vector);
balok45.setTransform(trans);
balok45.addChild(b45);
balok46.setTransform(trans);
balok46.addChild(b46);
trans.set(vector);
balok47.setTransform(trans);
balok47.addChild(b47);
trans.set(vector);
balok48.setTransform(trans);
balok48.addChild(b48);
//49-52
trans.set(vector);
balok49.setTransform(trans);
balok49.addChild(b49);
balok50 = new TransformGroup();
trans.set(vector);
balok50.setTransform(trans);
balok50.addChild(b50);
trans.set(vector);
balok51.setTransform(trans);
balok51.addChild(b51);
trans.set(vector);
balok52.setTransform(trans);
balok52.addChild(b52);
//52-56
trans.set(vector);
balok53.setTransform(trans);
balok53.addChild(b53);
balok54 = new TransformGroup();
trans.set(vector);
balok54.setTransform(trans);
balok54.addChild(b54);
trans.set(vector);
balok55.setTransform(trans);
balok55.addChild(b55);
trans.set(vector);
balok56.setTransform(trans);
balok56.addChild(b56);
//57-60
trans.set(vector);
balok57.setTransform(trans);
trans.set(vector);
balok58.setTransform(trans);
balok58.addChild(b58);
trans.set(vector);
balok59.setTransform(trans);
balok59.addChild(b59);
trans.set(vector);
balok60.setTransform(trans);
balok60.addChild(b60);
//61-64
trans.set(vector);
balok61.setTransform(trans);
Box b61 = new Box(0.5f,0.3f,0.5f,apr(0.0f, 0.0f, 0.0f));
balok61.addChild(b61);
trans.set(vector);
balok62.setTransform(trans);
balok62.addChild(b62);
trans.set(vector);
balok63.setTransform(trans);
balok63.addChild(b63);
trans.set(vector);
balok64.setTransform(trans);
balok64.addChild(b64);
BranchGroup buatScene(){
//sebagai root
//membuat transformasi
scaleTrans.set(1/6.0f);
objScale.setTransform(scaleTrans);
objRoot.addChild(objScale);
//objek transformasi
objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans);
kayu1();
objTrans.addChild(kayu1);
objTrans.addChild(kayu2);
objTrans.addChild(kayu3);
objTrans.addChild(kayu4);
objTrans.addChild(balok1);
objTrans.addChild(balok2);
objTrans.addChild(balok3);
objTrans.addChild(balok4);
objTrans.addChild(balok5);
objTrans.addChild(balok6);
objTrans.addChild(balok7);
objTrans.addChild(balok8);
objTrans.addChild(balok9);
objTrans.addChild(balok10);
objTrans.addChild(balok11);
objTrans.addChild(balok12);
objTrans.addChild(balok13);
objTrans.addChild(balok14);
objTrans.addChild(balok15);
objTrans.addChild(balok16);
objTrans.addChild(balok17);
objTrans.addChild(balok18);
objTrans.addChild(balok19);
objTrans.addChild(balok20);
objTrans.addChild(balok21);
objTrans.addChild(balok22);
objTrans.addChild(balok23);
objTrans.addChild(balok24);
objTrans.addChild(balok25);
objTrans.addChild(balok26);
objTrans.addChild(balok27);
objTrans.addChild(balok28);
objTrans.addChild(balok29);
objTrans.addChild(balok30);
objTrans.addChild(balok31);
objTrans.addChild(balok32);
objTrans.addChild(balok33);
objTrans.addChild(balok34);
objTrans.addChild(balok35);
objTrans.addChild(balok36);
objTrans.addChild(balok37);
objTrans.addChild(balok38);
objTrans.addChild(balok39);
objTrans.addChild(balok40);
objTrans.addChild(balok41);
objTrans.addChild(balok42);
objTrans.addChild(balok43);
objTrans.addChild(balok44);
objTrans.addChild(balok45);
objTrans.addChild(balok46);
objTrans.addChild(balok47);
objTrans.addChild(balok48);
objTrans.addChild(balok49);
objTrans.addChild(balok50);
objTrans.addChild(balok51);
objTrans.addChild(balok52);
objTrans.addChild(balok53);
objTrans.addChild(balok54);
objTrans.addChild(balok55);
objTrans.addChild(balok56);
objTrans.addChild(balok57);
objTrans.addChild(balok58);
objTrans.addChild(balok59);
objTrans.addChild(balok60);
objTrans.addChild(balok61);
objTrans.addChild(balok62);
objTrans.addChild(balok63);
objTrans.addChild(balok64);
BoundingSphere bounds = new BoundingSphere(new Point3d(), 50);
bg.setApplicationBounds(bounds);
objTrans.addChild(bg);
//feedback mouse
mr.setTransformGroup(objTrans);
mr.setSchedulingBounds(bounds);
mr.setFactor(0.007);
objTrans.addChild(mr);
//pengaturan terang
//pencahayaan
ambientLightNode.setInfluencingBounds(bounds);
objRoot.addChild(ambientLightNode);
light1.setInfluencingBounds(bounds);
objRoot.addChild(light1);
return objRoot;
frame.setLocationRelativeTo(null);
}
}