BUS XBOX 3D
Source code :
import com.sun.j3d.utils.behaviors.keyboard.KeyNavigatorBehavior;
import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.image.TextureLoader;
import com.sun.j3d.utils.universe.PlatformGeometry;
import com.sun.j3d.utils.universe.SimpleUniverse;
import java.applet.AudioClip;
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import javax.media.j3d.*;
import javax.swing.JApplet;
import javax.vecmath.Color3f;
import javax.vecmath.Point3d;
import javax.vecmath.Point3f;
import javax.vecmath.Vector3f;
import sun.applet.AppletAudioClip;
public class progres_2 extends JApplet {
TransformGroup Awan;
TransformGroup Matahari;
TransformGroup Gedung;
TransformGroup Bus;
TransformGroup jendela_gedung;
Transform3D Trans = new Transform3D();
Vector3f Vector = new Vector3f();
public progres_2() {
setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3D = new Canvas3D(config);
add("Center", canvas3D);
SimpleUniverse simU = new SimpleUniverse(canvas3D);
BranchGroup scene = createSceneGraph();
simU.getViewingPlatform().setNominalViewingTransform();
simU.addBranchGraph(scene);
}
Appearance apr(float r, float g, float b) {
Color3f Red = new Color3f(r, g, b);
Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
Color3f white = new Color3f(0.0f, 0.0f, 0.0f);
//mix warna
Material material = new Material(Red, black, Red, white, 0);
Appearance appearance = new Appearance();
appearance.setMaterial(material);
return appearance;
}
TransformGroup putar(double d1, double d2) {
Transform3D rotate = new Transform3D();
Transform3D temprotate = new Transform3D();
rotate.rotX(Math.PI / d1);
temprotate.rotY(Math.PI / d2);
rotate.mul(temprotate);
TransformGroup objRotate = new TransformGroup(rotate);
return objRotate;
}
//AWAN PERTAMA
void Awan_pertama1() {
Awan = new TransformGroup();
Vector.set(-2.9f, 2.3f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.2f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_pertama2() {
Awan = new TransformGroup();
Vector.set(-2.7f, 2.3f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.3f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_pertama3() {
Awan = new TransformGroup();
Vector.set(-2.4f, 2.3f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.4f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_pertama4() {
Awan = new TransformGroup();
Vector.set(-1.9f, 2.3f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.2f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_pertama5() {
Awan = new TransformGroup();
Vector.set(-2.1f, 2.3f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.3f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
//AWAN KEDUA
void Awan_kedua1() {
Awan = new TransformGroup();
Vector.set(-5.0f, 2.0f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.2f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_kedua2() {
Awan = new TransformGroup();
Vector.set(-4.8f, 2.0f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.3f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_kedua3() {
Awan = new TransformGroup();
Vector.set(-4.5f, 2.0f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.4f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_kedua4() {
Awan = new TransformGroup();
Vector.set(-3.9f, 2.0f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.2f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_kedua5() {
Awan = new TransformGroup();
Vector.set(-4.1f, 2.0f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.3f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
//AWAN KETIGA
void Awan_ketiga1() {
Awan = new TransformGroup();
Vector.set(-1.0f, 2.1f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.2f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_ketiga2() {
Awan = new TransformGroup();
Vector.set(-0.8f, 2.1f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.3f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_ketiga3() {
Awan = new TransformGroup();
Vector.set(-0.5f, 2.1f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.4f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_ketiga4() {
Awan = new TransformGroup();
Vector.set(0.1f, 2.1f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.2f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_ketiga5() {
Awan = new TransformGroup();
Vector.set(-0.1f, 2.1f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.3f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
//AWAN KEEMPAT
void Awan_keempat1() {
Awan = new TransformGroup();
Vector.set(-1.0f, 1.8f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.2f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_keempat2() {
Awan = new TransformGroup();
Vector.set(-0.8f, 1.8f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.3f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_keempat3() {
Awan = new TransformGroup();
Vector.set(-0.5f, 1.8f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.4f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_keempat4() {
Awan = new TransformGroup();
Vector.set(0.1f, 1.8f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.2f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
void Awan_keempat5() {
Awan = new TransformGroup();
Vector.set(-0.1f, 1.8f, 0.0f);
Trans.set(Vector);
Awan.setTransform(Trans);
Sphere awan = new Sphere(0.3f, 1, 90, apr(7.0f, 9.9f, 9.0f));
Awan.addChild(awan);
}
//MENGGAMBAR MATAHARI
void matahari() {
Matahari = new TransformGroup();
Vector.set(4.3f, 2.2f, -0.0f);
Trans.set(Vector);
Matahari.setTransform(Trans);
Sphere matahari = new Sphere(0.5f, 7, 90, apr(9.9f, 0.9f, 0.0f));
Matahari.addChild(matahari);
}
//Menggambar Gedung Pertama
void Gedung_pertma_1() {
Gedung = new TransformGroup();
Vector.set(3.2f, -0.35f, 0.0f);
Trans.set(Vector);
Gedung.setTransform(Trans);
Box Kotak1 = new Box(1.47f, 0.55f, 0.3f, apr(0.0f, 0.9f, 9.8f));
Gedung.addChild(Kotak1);
}
void Gedung_pertma_2() {
Gedung = new TransformGroup();
Vector.set(3.199f, 0.5f, 0.0f);
Trans.set(Vector);
Gedung.setTransform(Trans);
Box Kotak1 = new Box(1.0f, 0.37f, 0.3f, apr(0.0f, 0.9f, 9.8f));
Gedung.addChild(Kotak1);
}
void Gedung_pertma_3() {
Gedung = new TransformGroup();
Vector.set(3.199f, 1.2f, -3.63f);
Trans.set(Vector);
Gedung.setTransform(Trans);
Box Kotak1 = new Box(0.4f, 0.37f, 0.5f, apr(0.0f, 0.9f, 9.8f));
Gedung.addChild(Kotak1);
}
//Menggambar Gedung Kedua
void Gedung_kedua_1() {
Gedung = new TransformGroup();
Vector.set(-0.5f, -0.18f, 1.63f);
Trans.set(Vector);
Gedung.setTransform(Trans);
Box Kotak1 = new Box(0.7f, 0.99f, 0.5f, apr(0.0f, 0.9f, 9.8f));
Gedung.addChild(Kotak1);
}
//Menggambar Gedung Ketiga
void Gedung_ketiga_1() {
Gedung = new TransformGroup();
Vector.set(4.0f, 0.1f, 2.63f);
Trans.set(Vector);
Gedung.setTransform(Trans);
Box Kotak1 = new Box(1.26f, 1.0f, 0.5f, apr(0.0f, 0.9f, 9.8f));
Gedung.addChild(Kotak1);
}
//Menggambar Jendela Gedung Pertama
void Jendela_Gedung_pertama1() {
jendela_gedung = new TransformGroup();
Vector.set(-3.82f, 1.3f, -2.6f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.23f, 0.23f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_pertama2() {
jendela_gedung = new TransformGroup();
Vector.set(-3.8f, 0.5f, 0.1f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_pertama3() {
jendela_gedung = new TransformGroup();
Vector.set(-3.2f, 0.5f, 0.1f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_pertama4() {
jendela_gedung = new TransformGroup();
Vector.set(-2.6f, 0.5f, 0.1f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_pertama5() {
jendela_gedung = new TransformGroup();
Vector.set(-4.36f, -0.10f, 0.1f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_pertama6() {
jendela_gedung = new TransformGroup();
Vector.set(-3.8f, -0.10f, 0.1f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_pertama7() {
jendela_gedung = new TransformGroup();
Vector.set(-3.2f, -0.10f, 0.1f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_pertama8() {
jendela_gedung = new TransformGroup();
Vector.set(-2.6f, -0.10f, 0.1f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_pertama9() {
jendela_gedung = new TransformGroup();
Vector.set(-2.0f, -0.10f, 0.1f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
//Menggambar Jendela Gedung Kedua
void Jendela_Gedung_kedua1() {
jendela_gedung = new TransformGroup();
Vector.set(-0.17f, 0.73f, 7.0f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.1f, 0.1f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_kedua2() {
jendela_gedung = new TransformGroup();
Vector.set(0.069f, 0.73f, 7.0f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.1f, 0.1f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_kedua3() {
jendela_gedung = new TransformGroup();
Vector.set(0.56f, 0.92f, -0.2f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.17f, 0.18f, 2.9f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_kedua4() {
jendela_gedung = new TransformGroup();
Vector.set(-0.17f, 0.48f, 7.0f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.1f, 0.1f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_kedua5() {
jendela_gedung = new TransformGroup();
Vector.set(0.069f, 0.48f, 7.0f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.1f, 0.1f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_kedua6() {
jendela_gedung = new TransformGroup();
Vector.set(0.56f, 0.49f, -0.2f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.17f, 0.17f, 2.9f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
//Menggambar Jendela Gedung Ketiga
void Jendela_Gedung_ketiga1() {
jendela_gedung = new TransformGroup();
Vector.set(3.1f, 0.4f, -2.3f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_ketiga2() {
jendela_gedung = new TransformGroup();
Vector.set(3.7f, 0.4f, -2.3f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_ketiga3() {
jendela_gedung = new TransformGroup();
Vector.set(4.3f, 0.4f, -2.3f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_ketiga4() {
jendela_gedung = new TransformGroup();
Vector.set(4.9f, 0.4f, -2.3f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_ketiga5() {
jendela_gedung = new TransformGroup();
Vector.set(3.1f, -0.1f, -2.3f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_ketiga6() {
jendela_gedung = new TransformGroup();
Vector.set(3.7f, -0.1f, -2.3f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_ketiga7() {
jendela_gedung = new TransformGroup();
Vector.set(4.3f, -0.1f, -2.3f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
void Jendela_Gedung_ketiga8() {
jendela_gedung = new TransformGroup();
Vector.set(4.9f, -0.1f, -2.3f);
Trans.set(Vector);
jendela_gedung.setTransform(Trans);
Box Kotak1 = new Box(0.2f, 0.2f, 0.3f, apr(0.0f, 0.0f, 0.0f));
jendela_gedung.addChild(Kotak1);
}
//Menggambar Bus Xbox 3D
// Badan Bus Kiri
void Badan_bus() {
Bus = new TransformGroup();
Vector.set(0.5f, -5.1f, -0.0f);
Trans.set(Vector);
Bus.setTransform(Trans);
Box Kotak1 = new Box(2.1f, 0.37f, 0.66f, apr(9.9f, 0.9f, 0.0f));
Bus.addChild(Kotak1);
}
//Roda kiri
void RodaDepan() {
Bus = new TransformGroup();
Vector.set(0.2f, 5.4f, -1.41f);
Trans.set(Vector);
Bus.setTransform(Trans);
Cylinder Lingkaran1 = new Cylinder(0.34f, 0.3f, 1, 50, 50, apr(0.9f, 0.9f, 0.9f));
Bus.addChild(Lingkaran1);
}
void Rodabelakang1() {
Bus = new TransformGroup();
Vector.set(-1.4f, 5.4f, -0.94f);
Trans.set(Vector);
Bus.setTransform(Trans);
Cylinder Lingkaran1 = new Cylinder(0.34f, 0.3f, 1, 50, 50, apr(0.9f, 0.9f, 0.9f));
Bus.addChild(Lingkaran1);
}
void Rodabelakang2() {
Bus = new TransformGroup();
Vector.set(-2.2f, 5.4f, -0.70f);
Trans.set(Vector);
Bus.setTransform(Trans);
Cylinder Lingkaran1 = new Cylinder(0.34f, 0.3f, 1, 50, 50, apr(0.9f, 0.9f, 0.9f));
Bus.addChild(Lingkaran1);
}
// Roda Kanan
void Roda_kanan_depan() {
Bus = new TransformGroup();
Vector.set(0.26f, 4.6f, -1.45f);
Trans.set(Vector);
Bus.setTransform(Trans);
Cylinder Lingkaran1 = new Cylinder(0.34f, 0.3f, 1, 50, 50, apr(0.9f, 0.9f, 0.9f));
Bus.addChild(Lingkaran1);
}
void Roda_kanan_belakang1() {
Bus = new TransformGroup();
Vector.set(-1.39f, 4.6f, -0.99f);
Trans.set(Vector);
Bus.setTransform(Trans);
Cylinder Lingkaran1 = new Cylinder(0.34f, 0.3f, 1, 50, 50, apr(0.9f, 0.9f, 0.9f));
Bus.addChild(Lingkaran1);
}
void Roda_kanan_belakang2() {
Bus = new TransformGroup();
Vector.set(-2.2f, 4.6f, -0.70f);
Trans.set(Vector);
Bus.setTransform(Trans);
Cylinder Lingkaran1 = new Cylinder(0.34f, 0.3f, 1, 50, 50, apr(0.9f, 0.9f, 0.9f));
Bus.addChild(Lingkaran1);
}
// Menggambar Jendela BuS
void Jendela_bus_kiri1() {
Bus = new TransformGroup();
Vector.set(1.1f, -0.3f, 5.22f);
Trans.set(Vector);
Bus.setTransform(Trans);
Box Kotak1 = new Box(1.3f, 0.28f, 0.3f, apr(0.0f, 4.0f, 0.0f));
Bus.addChild(Kotak1);
}
void Jendela_bus_kiri2() {
Bus = new TransformGroup();
Vector.set(-0.8f, -0.3f, 5.22f);
Trans.set(Vector);
Bus.setTransform(Trans);
Box Kotak1 = new Box(0.41f, 0.28f, 0.3f, apr(0.0f, 4.0f, 0.0f));
Bus.addChild(Kotak1);
}
void Jendela_bus_kiri3() {
Bus = new TransformGroup();
Vector.set(-0.98f, -0.7f, 5.22f);
Trans.set(Vector);
Bus.setTransform(Trans);
Box Kotak1 = new Box(0.23f, 0.4f, 0.3f, apr(0.0f, 4.0f, 0.0f));
Bus.addChild(Kotak1);
}
void Jendela_bus_kiri4() {
Bus = new TransformGroup();
Vector.set(-1.49f, -1.12f, 5.1f);
Trans.set(Vector);
Bus.setTransform(Trans);
Box Kotak1 = new Box(0.1f, 0.2f, 0.3f, apr(4.9f, 4.0f, 0.0f));
Bus.addChild(Kotak1);
}
void Jendela_bus_kiri5() {
Bus = new TransformGroup();
Vector.set(-1.49f, -0.12f, 5.21f);
Trans.set(Vector);
Bus.setTransform(Trans);
Box Kotak1 = new Box(0.1f, 0.2f, 0.3f, apr(4.9f, 4.0f, 0.0f));
Bus.addChild(Kotak1);
}
BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup();
TransformGroup objScale = new TransformGroup();
Transform3D scaleTrans = new Transform3D();
scaleTrans.set(1 / 5.5f);
objScale.setTransform(scaleTrans);
objRoot.addChild(objScale);
//memanggil awan pertama
TransformGroup objTrans1 = new TransformGroup();
objTrans1.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans1.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans1);
Awan_pertama1();
objTrans1.addChild(Awan);
Awan_pertama2();
objTrans1.addChild(Awan);
Awan_pertama3();
objTrans1.addChild(Awan);
Awan_pertama4();
objTrans1.addChild(Awan);
Awan_pertama5();
objTrans1.addChild(Awan);
//memanggil awan kedua
TransformGroup objTrans2 = new TransformGroup();
objTrans2.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans2.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans2);
Awan_kedua1();
objTrans2.addChild(Awan);
Awan_kedua2();
objTrans2.addChild(Awan);
Awan_kedua3();
objTrans2.addChild(Awan);
Awan_kedua5();
objTrans2.addChild(Awan);
Awan_kedua4();
objTrans2.addChild(Awan);
//memanggil awan ketiga
TransformGroup objTrans3 = new TransformGroup();
objTrans3.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans3.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans3);
Awan_ketiga1();
objTrans3.addChild(Awan);
Awan_ketiga2();
objTrans3.addChild(Awan);
Awan_ketiga3();
objTrans3.addChild(Awan);
Awan_ketiga5();
objTrans3.addChild(Awan);
Awan_ketiga4();
objTrans3.addChild(Awan);
//memanggil awan keempat
TransformGroup objTrans4 = new TransformGroup();
objTrans4.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans4.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans4);
Awan_keempat1();
objTrans4.addChild(Awan);
Awan_keempat2();
objTrans4.addChild(Awan);
Awan_keempat3();
objTrans4.addChild(Awan);
Awan_keempat5();
objTrans4.addChild(Awan);
Awan_keempat4();
objTrans4.addChild(Awan);
//memanggil matahari
TransformGroup objTrans5 = new TransformGroup();
objTrans5.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans5.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans5);
matahari();
objTrans5.addChild(Matahari);
//memanggil Gedung Pertama
TransformGroup objTrans6 = new TransformGroup();
TransformGroup putar1 = putar(91.0f, 1.0f);
TransformGroup putar2 = putar(91.0f, 1.0f);
TransformGroup putar3 = putar(39.0f, 1.9f);
objTrans6.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans6.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans6);
Gedung_pertma_1();
putar1.addChild(Gedung);
objTrans6.addChild(putar1);
Gedung_pertma_2();
putar2.addChild(Gedung);
objTrans6.addChild(putar2);
Gedung_pertma_3();
putar3.addChild(Gedung);
objTrans6.addChild(putar3);
//memanggil Gedung Kedua
TransformGroup objTrans7 = new TransformGroup();
TransformGroup putar4 = putar(-1.0f, 0.95f);
objTrans7.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans7.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans7);
Gedung_kedua_1();
putar4.addChild(Gedung);
objTrans7.addChild(putar4);
//memanggil Gedung Ketiga
TransformGroup objTrans8 = new TransformGroup();
TransformGroup putar5 = putar(-1.0f, -0.5f);
objTrans8.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans8.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans8);
Gedung_ketiga_1();
putar5.addChild(Gedung);
objTrans8.addChild(putar5);
//memanggil Jendela Gedung Pertama
TransformGroup objTrans9 = new TransformGroup();
TransformGroup putar6 = putar(91.0f, 0.5f);
TransformGroup putar7 = putar(91.0f, 0.5f);
TransformGroup putar8 = putar(91.0f, 0.5f);
TransformGroup putar9 = putar(91.0f, 0.5f);
TransformGroup putar10 = putar(91.0f, 0.5f);
TransformGroup putar11 = putar(91.0f, 0.5f);
TransformGroup putar12 = putar(91.0f, 0.5f);
TransformGroup putar13 = putar(91.0f, 0.5f);
TransformGroup putar14 = putar(91.0f, 0.5f);
objTrans9.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans9.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans9);
Jendela_Gedung_pertama1();
putar6.addChild(jendela_gedung);
objTrans9.addChild(putar6);
Jendela_Gedung_pertama2();
putar7.addChild(jendela_gedung);
objTrans9.addChild(putar7);
Jendela_Gedung_pertama3();
putar8.addChild(jendela_gedung);
objTrans9.addChild(putar8);
Jendela_Gedung_pertama4();
putar9.addChild(jendela_gedung);
objTrans9.addChild(putar9);
Jendela_Gedung_pertama5();
putar10.addChild(jendela_gedung);
objTrans9.addChild(putar10);
Jendela_Gedung_pertama6();
putar11.addChild(jendela_gedung);
objTrans9.addChild(putar11);
Jendela_Gedung_pertama7();
putar12.addChild(jendela_gedung);
objTrans9.addChild(putar12);
Jendela_Gedung_pertama8();
putar13.addChild(jendela_gedung);
objTrans9.addChild(putar13);
Jendela_Gedung_pertama9();
putar14.addChild(jendela_gedung);
objTrans9.addChild(putar14);
//memanggil Jendela Gedung Kedua
TransformGroup objTrans10 = new TransformGroup();
TransformGroup putar15 = putar(91.0f, 0.5f);
TransformGroup putar16 = putar(91.0f, 0.5f);
TransformGroup putar17 = putar(91.0f, 0.5f);
TransformGroup putar18 = putar(91.0f, 0.5f);
TransformGroup putar19 = putar(91.0f, 0.5f);
TransformGroup putar20 = putar(91.0f, 0.5f);
objTrans10.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans10.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans10);
Jendela_Gedung_kedua1();
putar15.addChild(jendela_gedung);
objTrans10.addChild(putar15);
Jendela_Gedung_kedua2();
putar16.addChild(jendela_gedung);
objTrans10.addChild(putar16);
Jendela_Gedung_kedua3();
putar17.addChild(jendela_gedung);
objTrans10.addChild(putar17);
Jendela_Gedung_kedua4();
putar18.addChild(jendela_gedung);
objTrans10.addChild(putar18);
Jendela_Gedung_kedua5();
putar19.addChild(jendela_gedung);
objTrans10.addChild(putar19);
Jendela_Gedung_kedua6();
putar20.addChild(jendela_gedung);
objTrans10.addChild(putar20);
//memanggil Jendela Gedung Ketiga
TransformGroup objTrans11 = new TransformGroup();
TransformGroup putar21 = putar(91.0f, 0.5f);
TransformGroup putar22 = putar(91.0f, 0.5f);
TransformGroup putar23 = putar(91.0f, 0.5f);
TransformGroup putar24 = putar(91.0f, 0.5f);
TransformGroup putar25 = putar(91.0f, 0.5f);
TransformGroup putar26 = putar(91.0f, 0.5f);
TransformGroup putar27 = putar(91.0f, 0.5f);
TransformGroup putar28 = putar(91.0f, 0.5f);
objTrans11.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans11.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans11);
Jendela_Gedung_ketiga1();
putar21.addChild(jendela_gedung);
objTrans11.addChild(putar21);
Jendela_Gedung_ketiga2();
putar22.addChild(jendela_gedung);
objTrans11.addChild(putar22);
Jendela_Gedung_ketiga3();
putar23.addChild(jendela_gedung);
objTrans11.addChild(putar23);
Jendela_Gedung_ketiga4();
putar24.addChild(jendela_gedung);
objTrans11.addChild(putar24);
Jendela_Gedung_ketiga5();
putar25.addChild(jendela_gedung);
objTrans11.addChild(putar25);
Jendela_Gedung_ketiga6();
putar26.addChild(jendela_gedung);
objTrans11.addChild(putar26);
Jendela_Gedung_ketiga7();
putar27.addChild(jendela_gedung);
objTrans11.addChild(putar27);
Jendela_Gedung_ketiga8();
putar28.addChild(jendela_gedung);
objTrans11.addChild(putar28);
// Memanggil Bus Xbox 3D
//memanggil bandan bus
TransformGroup objTrans12 = new TransformGroup();
TransformGroup putar29 = putar(-2.2f, 0.5f);
TransformGroup putar30 = putar(2.0f, 1.1f);
TransformGroup putar31 = putar(2.0f, 1.1f);
TransformGroup putar32 = putar(2.0f, 1.1f);
TransformGroup putar33 = putar(2.0f, 1.1f);
TransformGroup putar34 = putar(2.0f, 1.1f);
TransformGroup putar35 = putar(2.0f, 1.1f);
TransformGroup putar36 = putar(91.0f, 0.5f);
TransformGroup putar37 = putar(91.0f, 0.5f);
TransformGroup putar38 = putar(91.0f, 0.5f);
TransformGroup putar39 = putar(91.0f, 0.5f);
TransformGroup putar40 = putar(91.0f, 0.5f);
TransformGroup putar41 = putar(89.0f, 0.5f);
TransformGroup putar42 = putar(91.0f, 0.5f);
objTrans12.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans12.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans12);
Badan_bus();
putar29.addChild(Bus);
objTrans12.addChild(putar29);
RodaDepan();
putar30.addChild(Bus);
objTrans12.addChild(putar30);
Rodabelakang1();
putar31.addChild(Bus);
objTrans12.addChild(putar31);
Rodabelakang2();
putar32.addChild(Bus);
objTrans12.addChild(putar32);
Roda_kanan_depan();
putar33.addChild(Bus);
objTrans12.addChild(putar33);
Roda_kanan_belakang1();
putar34.addChild(Bus);
objTrans12.addChild(putar34);
Roda_kanan_belakang2();
putar35.addChild(Bus);
objTrans12.addChild(putar35);
// jendela bus
Jendela_bus_kiri1();
putar36.addChild(Bus);
objTrans12.addChild(putar36);
Jendela_bus_kiri2();
putar37.addChild(Bus);
objTrans12.addChild(putar37);
Jendela_bus_kiri3();
putar38.addChild(Bus);
objTrans12.addChild(putar38);
Jendela_bus_kiri4();
putar39.addChild(Bus);
objTrans12.addChild(putar39);
Jendela_bus_kiri5();
putar40.addChild(Bus);
objTrans12.addChild(putar40);
// membuat background belakang
TransformGroup objTrans19 = new TransformGroup();
objTrans19.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans19.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objScale.addChild(objTrans19);
BoundingSphere bounds = new BoundingSphere(new Point3d(), 100.0);
Background bg = new Background(new Color3f(19.5f, 10.5f, 0.5f));
bg.setApplicationBounds(bounds);
objTrans19.addChild(bg);
//mengatur pencahayaan
Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
AmbientLight ambienLightNode = new AmbientLight(ambientColor);
ambienLightNode.setInfluencingBounds(bounds);
objRoot.addChild(ambienLightNode);
Color3f lightcolor = new Color3f(1.0f, 1.0f, 1.0f);
Vector3f lightDirection = new Vector3f(-0.2f, -0.5f, -0.5f);
DirectionalLight light1 = new DirectionalLight(lightcolor, lightDirection);
light1.setInfluencingBounds(bounds);
objRoot.addChild(light1);
return objRoot;
}
public static void main(String[] a) {
Frame fra = new MainFrame(new progres_2(), 1350, 690);
}
}
