Java3D ile Grafik Programlama 8 - 9

Oğuz~#>

Kıdemli Üye
5 Tem 2009
4,772
16
Bursa
Not: Bu yaziyi baya uzun bir süre önce(1 sene önce) java.sun.com sitesindeki bir bu tutoriallı açıklamaya çalıştım. Java3D o günden bugüne baya yenilikler gerçekleşti. Ama dökümanın genel anlamını kaybetmedigi düşünerek yayınlıyorum. Tabiki çevirideki eksikliklerden ve anlam bozukluklarından dolayı affola
Kod:
import java.applet.Applet;  import java.awt.BorderLayout;  import java.awt.Frame;  import java.awt.event.*;  import com.sun.j3d.utils.applet.MainFrame;  import com.sun.j3d.utils.universe.*;  import com.sun.j3d.utils.geometry.Cone;  import javax.media.j3d.*;  import javax.vecmath.*;  public class ConeYoyo{  private BranchGroup yoyoBG;   public ConeYoyo() {  //yoyoBG BranchGroup nesnesi oluşturulur.  yoyoBG = new BranchGroup();    //translate ve rotate olmak üzere iki   //tranform3D nesnesi oluşturulur.  //apperance nesnesi oluşturulur.  Transform3D rotate = new Transform3D();  Transform3D translate = new Transform3D();  Appearance yoyoAppear = new Appearance();   //rotate Tranform3D  z ekseninde 90 derece döndürülür   //ve yoyoTGR1 Transformgroup nesnesine eklenir.  rotate.rotZ(Math.PI/2.0d);  TransformGroup yoyoTGR1 = new TransformGroup(rotate);   //translate Tranform3D  x ekseninde 0.1  taşınır   //ve yoyoTGR1 Transformgroup nesnesine eklenir.  translate.set(new Vector3f(0.1f, 0.0f, 0.0f));  TransformGroup yoyoTGT1 = new TransformGroup(translate);   //Cone nesnesi(width,height) olarak eklenir.  Cone cone1 = new Cone(0.6f, 0.2f);  cone1.setAppearance(yoyoAppear);//Appear görüntüsü verilir.   yoyoBG.addChild(yoyoTGT1);//yoyoBranchGroup a TrasformGroup Translate1 eklenir  yoyoTGT1.addChild(yoyoTGR1);//yoyoBrnachGroup a TrasformGroup Rotate1 eklenir  yoyoTGR1.addChild(cone1);//TransformGroup Rotation cone1 nesnesi eklenir.  //Aynı işlemler mirrorlamak için diğer tarafı içinde uygulanır.  translate.set(new Vector3f(-0.1f, 0.0f, 0.0f));  TransformGroup yoyoTGT2 = new TransformGroup(translate);   rotate.rotZ(-Math.PI/2.0d);  TransformGroup yoyoTGR2 = new TransformGroup(rotate);   Cone cone2 = new Cone(0.6f, 0.2f);  cone2.setAppearance(yoyoAppear);  yoyoBG.addChild(yoyoTGT2);  yoyoTGT2.addChild(yoyoTGR2);  yoyoTGR2.addChild(cone2);   yoyoBG.compile();   } // end of ConeYoyo constructor   public BranchGroup getBG(){ 	 return yoyoBG;  }   } // end of class ConeYoyo

java3d_8_1.gif


java3d_8_2.gif


Kaynak Kod: HelloJava3Da.java , ConeYoyo.java



Java3D ile Grafik Programlama 9




Programı yazan Onur Dayıbaşı
Program com.sun.j3d.utils.geometry.*; içerisinde bulunan hazır geometrilerin nasıl kullanılacağını gösteriyor.
Kod:
import java.applet.Applet;  import java.awt.BorderLayout;  import java.awt.Frame;  import java.awt.event.*;  import com.sun.j3d.utils.applet.MainFrame;  import com.sun.j3d.utils.universe.*;  import com.sun.j3d.utils.geometry.*;  import javax.media.j3d.*;  import javax.vecmath.*;   public class HelloJava3Da extends Applet {   public HelloJava3Da() {  setLayout(new BorderLayout());  Canvas3D canvas3D = new Canvas3D(null);   add("Center", canvas3D);  BranchGroup scene = createSceneGraph();  scene.compile();  SimpleUniverse simpleU = new SimpleUniverse(canvas3D);  simpleU.getViewingPlatform().setNominalViewingTransform();  simpleU.addBranchGraph(scene);  }      public BranchGroup createSceneGraph() {  BranchGroup objRoot = new BranchGroup();   Transform3D T3Dcone = new Transform3D();  Transform3D T3DSphere = new Transform3D();  Transform3D T3DCylinder = new Transform3D();   T3Dcone.set(new Vector3f(0.7f, 0.0f, 0.0f));  T3DSphere.set(new Vector3f(0.0f, 0.0f, 0.0f));  T3DCylinder.set(new Vector3f(-0.7f, 0.0f, 0.0f));    TransformGroup TGcone = new TransformGroup(T3Dcone);  TransformGroup TGSphere = new TransformGroup(T3DSphere);  TransformGroup TGCylinder = new TransformGroup(T3DCylinder);    //Cone nesnesi geometrisi ve appearence oluşturulur  Appearance coneAppear = new Appearance();  Cone cone1 = new Cone(0.2f, 0.6f);  cone1.setAppearance(coneAppear);   //Sphere nesnesi geometrisi ve appearence oluşturulur  Appearance sphereAppear = new Appearance();  Sphere sphere1 = new Sphere(0.3f);  sphere1.setAppearance(sphereAppear);   //Cylinder nesnesi geometrisi ve appearence oluşturulur  Appearance cylinderAppear = new Appearance();  Cylinder cylinder1 = new Cylinder(0.2f, 0.6f);  cylinder1.setAppearance(cylinderAppear);    objRoot.addChild(TGcone);  objRoot.addChild(TGSphere);  objRoot.addChild(TGCylinder);     TGcone.addChild(cone1);   TGSphere.addChild(sphere1);   TGCylinder.addChild(cylinder1);      return objRoot;  }    public static **** main(String[] args) {  Frame frame = new MainFrame(new HelloJava3Da(), 256, 256);  } }
java3d_9.gif
Kaynak Kod: HelloJava3Da_.java

 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.