Showing posts with label OpenGL. Show all posts
Showing posts with label OpenGL. Show all posts

Friday, January 16, 2015

Introduction to Spectral Mesh Analysis Toward a simple implementation in C++

Hi reader, as I said before I want to share what I have done and learned from the Vision & Robotics master program. This post includes the our semester project. Actually, the code was given to all the students and the professor wanted us to improve his code and apply 'Spectral Mesh Analysis' on it. You can find more information from the project link that is end of the post. If you have any question free to shoot. I'm just putting here the graphical user interface and how to use the program that is already inside of the project report.

6.1 Framework choice

Because of the constraints that the project must be developed using C++ under Qt IDE, we used the Qt Widgets that are mature and feature rich user interface elements suitable for mostly static user interfaces. Besides, since Qt Widget are native C++ elements it is easier to merge UI with the application logic. The application UI is connected to all other parts of the application through the class Logic. The logic handles all the data interchange between the UI and algorithms. So it is possible to split the application in separate parts.

6.2 Basic elements of UI

The UI is straightforward and easy to use. There are two main parts – openGL screen and sidebar. It is possible to extract many cases of the application usage from the task:

  • Load of the file
  • Adjust the camera properties
  • Adjust the light properties
  • Adjust the displaying mode
  • Calculate Laplacian Matrix and set new colors according to it
  • Find the shortest path from one node to another

Sunday, September 2, 2012

Mandelbrot Kümesi ve Fraktal Simülasyonu - [Proje]

Yaklaşık 2 hafta önce izlemiş olduğum BBC Science tarafından hazırlanmış "The Secret Life of Chaos" (Kaos'un Gizli Yaşamı) belgeseli ile daha önceden fikir sahibi olduğum fakat vakit nedeniyle pek üzerine düşünemediğim bir konu olan fraktallar ile ilgili araştırma hevesim tekrar gün yüzüne çıktı. Fraktal, matematikte çoğunlukla kendine benzeme özelliği gösteren karmaşık geometrik şekillerin ortak adıdır. Daha basit tanımıyla, kendi kendini sonsuza kadar tekrar eden şekiller olarakta görebiliriz.

"The Secret Life of Chaos" belgeselinde bahsi geçen fraktal kümelerinden birisi de "Mandelbrot kümesi"dir. Mandelbrot kümesi, Benoit Mandelbrot'un ikinci derece kompleks değişkenli polinomların dinamiklerini açıklamak için geliştirdiği ve incelediği kümedir. Mandelbrot kümesi, karmaşık düzlemin bir fraktal alt kümesidir.

Bugünkü yazımda bahsedeceğim konu ise, Mandelbrot kümesinin, Java programlama dili ve OpenGL kütüphanesi kullanılarak hazırlanmış simülasyonudur. Programı yazarken kullandığım algoritmanın pseudocode hali buradaki linkte mevcuttur.

Programın kullanımı çok basit. Öncelikle Grafik ve Ayarlar Paneli olmak üzere 2 kısımdan oluşan programda, Grafik kısmına farenin mercek(zoom) görevi görebilen tekerlek kısmı ile fraktalın istediğiniz bölgesine yakınlaştırma ya da uzaklaştırma yapabilirsiniz.

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.

Sunday, February 26, 2012

OpenGL'de Doğruları Kullanarak Ekrana Harf Yazdırmak

Herkese merhaba, bugünkü yazımda Java üzerinde OpenGL programlamaya giriş yapmayı planlıyorum. Basit bir program yazıp, bu programı çok fazla detaya girmeden açıklayacağım. Programımız OpenGL içinde hazır bulunan "glVertex2f" fonksiyonunu kullanarak ismimizin baş harfini ekrana yazdıracak. Bu programın amacı, hem OpenGL'deki koordinat sistemini kavramak hem de "glVertex2f" fonksiyonunun kullanımını görmek ve anlamak. Yazıyı daha fazla uzatmadan kodumuzu veriyorum.

Saturday, February 25, 2012

Eclipse İçine OpenGL Kurulumu

Herkese merhaba, geçmiş yazılarımdan birinde Visual Studio 2010 içine OpenGL kurulumunu anlatmıştım. Bu yazımda ise Eclipse içine OpenGL kurulumundan bahsedeceğim. Öncelikle sistemimize uygun ve ihtiyacımız olan JOGL kütüphanesini buradan indiriyoruz. Şuan üzerinde çalıştığım sistem 32-bit Windows XP olduğu için ben "jogamp-windows-i586.7z" kütüphanesini indirdim. İndirdiğimiz dosyayı WinRAR programı ile açabilirsiniz. Arşivi açtıktan sonra, "jogamp-windows-i586 > jar" klasörü içindeki "gluegen-rt.jar" ve "jogl.all.jar" dosyalarını Eclipse içindeki projemize ekleyeceğiz. İlk olarak Eclipse'i açıp, menuden "File > New > Java Project" seçeneğini seçip, açılan pencereden projemize isim koyup "Finish" butonuna basacağız.

Thursday, February 16, 2012

Visual Studio 2010 İçine OpenGL Kurulumu

Herkese merhaba, bugün sizlere, bu dönem ilk dersine girdiğim "SE 313" kodlu, "Bilgisayar Grafiği ve Görsel Programlama" adlı ders için gerekli olan OpenGL kurulumunun Visual Studio 2010 içine nasıl yapılacağını anlatacağım. Öncelikle ihtiyacımız olan glut-3.7.6-bin dosyasını buradan indiriyoruz. Daha sonra Visual Studio 2010’nun kurulu olduğu dizine gidiyoruz. VC klasörü içinde ki,  include klasörü içine GL diye klasör oluşturuyoruz. İndirdiğimiz dosya içinde ki glut.h dosyasını GL içine  atıyoruz. Daha sonra ise yine VC içinde ki lib klasörüne glut32.lib dosyasını atıyoruz.  Sıra geldi .dll dosyasına. glut32.dll dosyasını ise Windows/system32 klasörü içerisine atıyoruz. Şimdi sıra geldi test projesi oluşturmaya. Visual Studio 2010'u açtıktan sonra ilk önce, menülerden File > New > Project'i seçerek, proje penceresini açıyoruz, ardından bu pencereden Empty Project seçeneğini seçip projemize bir isim veriyoruz.