Thursday, June 7, 2012

Polynomial Equations - [Proje]

Herkese merhaba! Çok uzun bir aradan sonra tekrar birlikteyiz. Gerek derslerin yoğunluğu, gerekse projelerin fazlalığı nedeniyle bloğa pek fazla yazı yazamamıştım. Ancak önümüzdeki günlerde blogla daha fazla ilgilenmeyi planlıyorum. Bugün sizlere OpenGL üzerinde 2 kişi birlikte geliştirdiğimiz, üniversite 3. sınıfta "SE 313" kodlu, "Bilgisayar Grafiği ve Görsel Programlama" dersinde Java programlama dili, OpenGL ve Glut kütüphanelerini kullanarak yazdığımız 2 ve 3 boyutlu polinom denklemleri çizdiren programı tanıtacağım. Programız kullanıcının girdiği ve seçtiği değerlere göre oluşan polinom denklemin grafiğini ekrana çizdiriyor. Programı yazarken belli limitler koydum mesela 2 ve 3 bilinmeyenli ve maximum 3.dereceden denklemleri çizdirebiliyoruz. Ancak kaynak kodlarda yapacağınız ufak değişiklikler sonucu bu sınırları genişletip, kısabilirsiniz. Şimdi projemi sizlere resimler eşliğinde daha detaylı bir şekilde açıklayacağım.


Programı ilk defa çalıştırdığımızda yukarıdaki gibi bir ekran karşımıza çıkıyor. Burada öncelikle denklemin kaç bilinmeyenli olduğuna karar verip, kaçıncı dereceden olacağını seçiyoruz. Daha sonra "GENERATE EQUATION" butonuna basıp denklemin program tarafından ekrana çizdirilmesini sağlıyoruz. Denklem ekrana çizdirilirken aynı zamanda "Equation Panel" adını verdiğimiz panelde de denklem elemanları yeniden oluşturuluyor.




Yukarıdaki resimde ise "Equation Panel" adını verdiğimiz paneli görmektesiniz. Buradaki değişkenlerle oynayarak grafikteki değişiklikleri anında gözlemleyebilirsiniz. Girdiğimiz değerin "-" ya da "+" olmasını seçebilirsiniz.



Yukarıdaki resimde ise 3 bilinmeyenli 0.dereceden bir denklemin grafiğini görüyorsunuz. Bu denklem 3.boyutlu dünya üzerinde bir plane oluşturuyor. Aşağıdaki resimde ise, programımıza 3 bilinmeyenli 1.dereceden denklem üretmesini söylüyoruz.



Programımızda ek olarak bir kaç işlem daha yapabiliyoruz. Mesela "ALT + Mouse sol tuş"'una basılı tutarak denklemi x, y ve z düzlemlerinde döndürebiliyoruz. Sadece Mouse sol tuş'a basılı tutarsak, grafik üzerinde sağ veya sola hareket edebiliriz.




Proje genel hatları ile bu kadar. İlgilenenler projeyi daha da geliştirebilirler. Mesela program Android işletim sistemine sahip cep telefonlarına uyarlanabilir. Projeye başlamadan önce kullanıcı kitlesi olarak liseye giden öğrencileri belirlemiştim. Onlar için güzel bir uygulama olur. Ayrıca denklemleri 3 bilinmeyenli olarak sınırladık bu sınırı koymamızın nedeni, 3 bilinmeyenden sonra oluşacak denklem elemanlarının "Equation Panel"e sığmamasıydı. Siz bu panele slider ekleyerek bilinmeyen sayısındaki artış sonucu orataya çıkan görüntü sorununu rahat bir biçimde halledebilirsiniz. İlgilenenler kaynak kodu buradan indirebilir. Proje JAVA programlama dili ile yazıldığından platform bağımsızdır ve herhangi bir değişiklik yapmadan derlenip çalıştırılabilir. Ben en son Windows XP üzerinde Eclipse(Helios) aracılığı ile derleyip sorunsuz bir şekilde çalıştırdım. Sizde projeyi kendi bilgisayarınızda derleyip ya da "/bin" klasörü içindeki hali hazırda derlenmiş .class uzantılı dosyaları konsolda çalıştırabilirsiniz. Herkese iyi günler.

No comments:

Post a Comment