Root > Documents > Programlama > WPF 3D Hareketli Cube
Cyber-Warrior.Org \ Doküman \ Programlama > WPF 3D Hareketli Cube
Madde
  Yazar : S!LV3R
  Date : 05.06.2011 19:33:39
 
# WPF 3D Hareketli Cube
 
Daha önceki konumuzda 3D dünyasini tanimlayip bir giris yapmistik. Simdi de geçen sefer ki konumuzda olusturdugumuz küpümüze nasil hareket kazandirabilecegimizi inceleyelim.

Önce bir WPF projesi açalim ve adim adim ilerleyelim.

WPF’in gelismis özelliklerinden de yararlanarak görsel olarakta penceremizi zenginlestirelim.




LinearGradientBrush tagini kullanarak iki farkli renk ve bu renklerin yansima dogrultulari belirtilerek asagidaki sekilde konumlandirdik.




Simdi yapacagimiz seye gelince öncesinde biraz açiklama yapalim isterseniz.

Küpümüze haraket vermek için WPF slider kontrollerinden yararlanacagiz.

Slider’in görevi yapilan harekete bagli olarak degerleri degistirmek ve bu degerleri baska bir kontrole iletmektir.

Projemize dönelim, grid içerisine slider’larimizi uygun bir sekilde yerlestirelim.



Bakalim nasil bir görünüm kazandirdi.




Evet, sliderlarimiz gördügünüz gibi en sag ve en alt kisimda yerini aldi.

Slider kontrollerimizi olusturdugumuza göre küpün hareketleri için transform olaylarina geçebiliriz.

Penceremizin üst tarafina asagidaki kodu yazacagiz.




Hatirlarsaniz önceki konumuzda 3 boyutlu bir görünüm elde etmek için x,y,z koordinat eksenlerinden bahsetmistik.

Hareketli bir küp için Z posizyonunda 4 durum söz konusudur:

* Saga çevirme
* Sola Çevirme
* Yukari döndürme
* Asagi döndürme

3D noktalar

* (-1,1,1)
* (-1,-1,1)
* (1,-1,1)
* (1,1,1)

Yapisal Koordinatlar

* (0,0)
* (0,1)
* (1,1)
* (1,0)

Hareket

* üst sol
* alt sol
* alt sag
* üst sag

Slider kontrolleri sayesinde x ekseninde sag ve sol, y ekseninde asagi ve yukari döndürme hareketlerinin olacagini belirtecegiz.

Transform3D kontrollerinden yararlanarak çevirme hareketlerini eksenlere baglayacagiz.




Kodlarimizi inceleyecek olursak,

Axis="1,0,0" ile x eksenine yani penceremizin en sag kösesindeki slider’imiza "sliX" baglantisi yaptik. Ayni sekilde Axis="0,1,0" y eksenine de yani pencerenin en alt kösesine "sliY" baglantisini gerçeklestirdik.

Simdiye kadar yazdigimiz kodlarla görünümde herhangi bir degisiklige sebep olmadik. Artik küpü olusturma asamasina geçebiliriz.



Bundan sonra izleyecegimiz yol önceki konuda olusturdugumuz küpün yapisi benzer bir sekilde devam ediyor. Fakat burada küpün alti yüzeyi için tek seferde tüm position’lar ve TriangleIndices özelliklerini girebiliriz.




Bu degerleri ezberlemeye gerek yoktur. Küpün Z=4 için 6 farkli pozisyon ve idisleri bu sekilde girilir.

DiffuseMaterial kullanarakta küpün rengini belirledik. Projemizi derleyip çalistirdigimizda asagidaki gibi bir ekran görüntüsü ile karsiriz.




Projeyi
buradan indirerek detayli bir sekilde inceleyebilirsiniz.

Herkese iyi çalismalar...
   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©