A
B
C
Ç
D
E
F
G
Ğ
H
I
İ
J
K
L
M
N
O
P
R
S
Ş
T
U
Ü
V
Y
Z
Q
W
X
+ İçerik Ekle
WPF, 3D, Hareketli, Cube
WPF 3D Hareketli Cube

WPF 3D Hareketli Cube Daha önceki konumuzda 3D dünyasını tanımlayıp bir giriş yapmıştık. Şimdi de geçen sefer ki konumuzda oluşturduğumuz küpümüze nasıl hareket kazandırabileceğimizi inceleyelim.

Önce bir WPF projesi açalım ve adım adım ilerleyelim.

WPF’in gelişmiş özelliklerinden de yararlanarak görsel olarakta penceremizi zenginleştirelim.




LinearGradientBrush tagını kullanarak iki farklı renk ve bu renklerin yansıma doğrultuları belirtilerek aşağıdaki şekilde konumlandırdık.




Şimdi yapacağımız şeye gelince öncesinde biraz açıklama yapalım isterseniz.

Küpümüze haraket vermek için WPF slider kontrollerinden yararlanacağız.

Slider’in görevi yapılan harekete bağlı olarak değerleri değiştirmek ve bu değerleri başka bir kontrole iletmektir.

Projemize dönelim, grid içerisine slider’larımızı uygun bir şekilde yerleştirelim.






Bakalım nasıl bir görünüm kazandırdı.




Evet, sliderlarımız gördüğünüz gibi en sağ ve en alt kısımda yerini aldı.

Slider kontrollerimizi oluşturduğumuza göre küpün hareketleri için transform olaylarına geçebiliriz.

Penceremizin üst tarafına aşağıdaki kodu yazacağız.




Hatırlarsanız önceki konumuzda 3 boyutlu bir görünüm elde etmek için x,y,z koordinat eksenlerinden bahsetmiştik.

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

* Sağa çevirme
* Sola Çevirme
* Yukarı döndürme
* Aşağı döndürme

3D noktalar

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

Yapısal Koordinatlar

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

Hareket

* üst sol
* alt sol
* alt sağ
* üst sağ

Slider kontrolleri sayesinde x ekseninde sağ ve sol, y ekseninde aşağı ve yukarı döndürme hareketlerinin olacağını belirteceğiz.

Transform3D kontrollerinden yararlanarak çevirme hareketlerini eksenlere bağlayacağız.




Kodlarımızı inceleyecek olursak,

Axis="1,0,0" ile x eksenine yani penceremizin en sağ köşesindeki slider’ımıza "sliX" bağlantısı yaptık. Aynı şekilde Axis="0,1,0" y eksenine de yani pencerenin en alt köşesine "sliY" bağlantısını gerçekleştirdik.

Şimdiye kadar yazdığımız kodlarla görünümde herhangi bir değişikliğe sebep olmadık. Artık küpü oluşturma aşamasına geçebiliriz.



Bundan sonra izleyeceğimiz yol önceki konuda oluşturduğumuz küpün yapısı benzer bir şekilde devam ediyor. Fakat burada küpün altı yüzeyi için tek seferde tüm position’lar ve TriangleIndices özelliklerini girebiliriz.




Bu değerleri ezberlemeye gerek yoktur. Küpün Z=4 için 6 farklı pozisyon ve idisleri bu şekilde girilir.

DiffuseMaterial kullanarakta küpün rengini belirledik. Projemizi derleyip çalıştırdığımızda aşağıdaki gibi bir ekran görüntüsü ile karşırız.




Projeyi 
buradan
indirerek detaylı bir şekilde inceleyebilirsiniz. Herkese iyi çalışmalar...