Respond needs javascript to run. To find out more click here
C# » Sayfa 9 » Serdar Demir
RSS
 

Archive for the ‘C#’ Category

C# da 3D Küp Çizimi Döndürme Örnek Uygulaması

01 Oca

Bilgisayar grafikleri dersi ödevi olarak yapmış olduğumuz bir uygulama modelleme programlarındaki gibi cismin üstten alttan sağdan ve persfektif görünüşü elimizden geldiğince yapmaya çalıştım.

Sadece bir doğruyu belli bir açıda döndürdüğümüz zaman yeni noktaların x ve y noktalarını bulan formulu kullanarak yapılmış bir program. Diğer görünümleri elde etmek için sadece normal görünüşün 90 derece döndürerek diğer görünüşleri elde edebiliyoruz

Programın kaynak kodlarını da ekledim inceleyebilirsiniz.

İnDir

 

WPF de 3 Boyutlu Küp Çizimi

25 Ara

WPF ile ilgili ilk projem bu. Açıkça söylemeliyim ki ödev olmasaydı herhalde hiç başlayamazdım. Bazen ödevler bir işe yarayabiliyorlar. Öncelikle söyliyeyim, WPF bildiğimiz Windows Form’ larını oluşturmaya benzemiyor. Yani başlamak isteyenler köklü değişikliklere hazırlıklı olmalılar. Eğer yeniliğe(ya da öğrenmeye) açık biriyseniz bence deneyin derim. Normalde Windows Form’ ları ile yapamadığım birçok şeyi WPF sayesinde gerçekleştirebiliyorum.

WPF nin en bütük farkı; GDI+ yerine DirectX kullanması diyebiliriz. Bu da WPF programlarını grafik öğeleri içeren uygulamalarda öne çıkarıyor. Bizim ödev de Grafik ile alakalı bir ders olduğu için bende WPF kullanayım dedim. (Ayrıca; diğeriyle de uğraşacak vaktim yoktu).

Bu uygulama ekrana bir 3 boyutlu küp çizdirip o küpü X,Y,Z eksenleri etrafında döndürme, öteleme, simetrisini alma, boyutlandırma gibi işlemleri yaptırıyor. Küp 4 farklı açıdan görünüyor(3Ds Max gibi). Lafı fazla uzatmayayım. Bitirdiğim projemi size sunayım. RAR şifresi yoktur.

http://rapidshare.com/files/325855561/3b_kup_wpf.rar

 
1 Comment

Posted in C#, Projelerim

 

C# ta operator tanımlama ve operatörlerin aşırı yüklenmesi

20 Ara

OPERATORLERİN AŞIRI YÜKLENMESİ

aşırı yükleme nedir öncelikle onu açıklayalım  örneğin c gibi dillerde her işlem için ayrı metodlar mevcuttu farklı isimlerde c# ise bu fonksiyonları tek bir ad altında toplayarak aldıgı parametlere göre gerekli fonksiyonu çağırıyordu aşağıdaki resimde gördüğümüz gibi drawpolygon metodu hem point dizisi hemde pointf dizisi alıyor bu c# ın metodları aşırı yüklemeyi desteklemsi ile mümkün oluyor aksi halde farklı bir isimde kullanacaktık

C# OPERATOR TANIMLAMA

public static operatorum operator +(operatorum a, operatorum b)

{

return new operatorum (a.x+b.x,b.y+a.y);

}
public static operatorum operator -(operatorum a, operatorum b)

{

return new operatorum(a.x - b.x, a.y - b.y);

}
  • Yapısı public static [kurucu fonksiyon ile aynı isim] operator anahtar kelimesi kullanacağımız operator ve alacağı parametreler ve return ile geri döndüreceğimiz deger
operatorum yeni = new operatorum(2, 3);

operatorum yeni2 = new operatorum(1,2);

operatorum yeni3 = new operatorum(1, 2);

operatorum uc = new operatorum();

uc = yeni + yeni2+yeni3-yeni-yeni2-yeni3;

MessageBox.Show(uc.x.ToString()+uc.y.ToString());
  • Program nesnelerimiz üzerinde artık toplama ve çıkartma işlemini gerçekleştirebiliriz.

istersek – operatoru ile class içerisinde yeni bir nesne daha oluşturarak verdiğimiz degerlerin negatifini alabiliriz.

operatorum uc = new operatorum();

uc.x=-a.x;
uc.y=-a.y;
return uc;

c# da arttırma ve azaltma operatörü olarak ++ , — kullanılır. Fakat ufak bir nokta var biz hem i++ hemde ++i şeklinde kullanabiliyorduk peki operator nasıl tanımlayaacğız ?

public static operatorum operator ++(operatorum a)

{

a.x++;

a.y++;

return a;

}

tanımlama bu şekilde

operatorum yeni = new operatorum(2,3);

yeni.x++;

MessageBox.Show(yeni.x.ToString());

programın çıktısı 3 olacaktır gelelim diger kullanım ++yeni.x kullanmamız gerekecek

Şimdi operatorlerin kullanımı ile ilgili ayrıntılı bir program yazalım;

 
No Comments

Posted in C#, Makaleler