Örnek Tez Bilgi Formu - Dr. Aybars UĞUR

advertisement
EGE ÜNİVERSİTESİ
MÜHENDİSLİK FAKÜLTESİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
LİSANS TEZİ BİLGİ FORMU
1. TEZ PROJESİNE İLİŞKİN GENEL BİLGİLER
1.1 Tezin Adı
Grafik Yazılımlarına Yönelik Bir Çatının Tasarlanması ve Gerçekleştirimi
1.2 Tez Danışmanı ve Yürütücüleri
Danışman
Yürüten
: Yrd. Doç. Dr Aybars UĞUR
: Onur Dayıbaşı
e-posta : dayibasi@bilmuh.ege.edu.tr
1.3 Tezin Konusu


Bilgisayar Grafikleri
Yazılım Mühendisliği
1.4 Tezin Yürütülmesinde İşbirliği Yapılacak Kuruluş veya Şirketler
1.5 Tezin Başlangıç ve Bitiş Tarihleri (Ay/Yıl)
Ekim 2001 – Haziran 2002
Danışmanı
İmzası
2. TEZ PROJESİ GEREKÇELERİ ve PLANI
2.1 Tez Projesinin Amacı
Tez projesinin amacı, bilgisayar grafikleri alanında yazılım geliştiren kişilere temel
oluşturacak bir Çatı "Framework" tasarlamak ve gerçekleştirimini yapmaktır.
Bu amaçla, bilgisayar grafikleri donanımları, yazılımları, programlama dilleri ve
yazılım geliştirme araçları incelenecektir. İnceleme ve araştırmanın ardından bilgisayar
grafiklerindeki temel kavramlar anlatılacak ve örnek programlar geliştirilecektir. Yazılımlar
değişik işletim sistemleri ve programlama dilleri üzerinde farklı API'ler kullanılarak yazılacak
ve karşılaştırılacaklardır.
Bilgisayar grafikleri alanındaki incelenen programlar ve yazılımlar, algoritmik açıdan
sınıflara ayrılacak ve alt alanlarına göre hangi kavramların ağırlıklı olarak kullanıldığı
belirlenecektir.
Değişik tiplerde grafik yazılımları için, aynı tipte uygulamaların hazırlanmasını,
geliştirilmesini sağlayacak bir “Framework” tasarımı ve gerçekleştirimi yapılacaktır.
Bilgisayar Grafiklerinde yazılım geliştiren kişilerin yararlanabilecekleri bir web
sayfası hazırlanacaktır.
2.2 Tez Projesinin Önemi
Bu tez projesinde geliştirilecek olan “Framework”, bilgisayar grafiklerinde yazılım
geliştirme sürecini hızlandıracak, yazılım geliştirmeyi kolaylaştırarak maliyetleri düşürecek,
yazılım kalitesini arttıracaktır. Grafik yazılım geliştiricilerinin yazılım geliştirme sürecini
kısaltarak daha kısa sürede ve daha az sorunlarla karşılaşarak hedefe ulaşmalarını
sağlayacaktır.
Bilgisayar grafiklerinde yazılım geliştiren kişilere kaynaklık edecek, etkin yazılımlar
geliştirmelerini sağlayacaktır. Hazırlanacak “Tutorial”, deneyimsiz programcıların kod
yazmalarını kolaylaştıracaktır.
Bilgisayar grafiklerinde yazılım geliştiren kişilerin geliştirecekleri uygulamalarda,
yazılım geliştiricinin düzeyine ve yazılımın türüne bağlı olarak en etkin donanımları, en etkin
"Api"leri ve en etkin yöntemleri seçebilmelerini sağlayacaktır.
Böylece, bilgisayar grafikleri gibi hızlı gelişen bir alanda, sayıları giderek artan ve
sürümleri çıkan çok sayıda donanımın ve yazılım geliştirme aracının bulunduğu günümüzde,
yazılım geliştirme alanındaki önemli bir boşluk doldurulmuş olacaktır.
2.3 Kullanılacak Materyal ve Yöntemler


Kullanılacak Materyal (donanım, yazılım, işletim sistemi, programlama dili, API vs.)
Donanım
İşletim Sistemi
Programlama Dili
API
Ortam 1
PC (Grafik Hızlandırıcı kart ile)
Win98/NT
VC ++, Java
Direct3D, OpenGL, Java2D, Java3D
Donanım
İşletim Sistemi
Programlama Dili
API
Ortam 2
Sun İş İstasyonu
Solaris
C++, Java
OpenGL, Open Inventor, Java2D, Java3D
Kullanılacak Yöntemler
Bilgisayar grafiklerindeki temel ve yeni algoritmalar (görünen yüzeyleri belirleme yöntemleri,
B-rep gibi üç boyutlu nesneleri temsil yöntemleri)
2.4 Tez Projesi Planı
1. ADIM
(Bilgisayar Grafiklerine Ait Temel Kavramların Araştırılması ve İncelenmesi, Konulara
İlişkin Küçük Uygulamalar Geliştirilmesi)
Bu aşamada bilgisayar grafiklerindeki temel kavramlar incelenerek anlatılacak ve
konulara ilişkin örnek programlar hazırlanacaktır.








Bilgisayar grafikleri alanının, bilgisayar grafiklerinin kullanıldığı alanların, en yeni grafik
donanım, yazılım ve yöntemlerinin araştırılması. Yazılımlar konusunda, işletim
sistemlerinin, programlama dillerinin ve "API"lerin incelenmesi.
2D ekranda “Primitive”ler çizmek için bilinmesi gereken temel 2D “raster” grafik
kavramlarının ve algoritmalarının mantıksal olarak açıklanması.
2D “Primitive”lerin özelliklerinin anlatılması.
2D geometrik dönüşümlerin (taşıma, boyutlandırma, döndürme, vb.) mantıksal olarak
nasıl gerçekleştiğinin anlatılması.
3 Boyutlu dünyaların nasıl iki boyuta aktarıldığı, hangi aşamalardan geçtiğinin
anlatılması.
Yapısal ve hiyerarşik modellemenin nasıl yapıldığının anlatılması.
Kullanıcı Arayüzü ve Etkileşim için gerekli sınıf ve metotların anlatılması.
3D nesnelerin temsilinin (representation) nasıl yapıldığının anlatılması.





3D geometrik dönüşümlerin nasıl gerçekleştiğinin anlatılması.
3D’de, görünen yüzeyleri belirleme yöntemlerinin anlatılması.
Bilgisayar grafiklerinde gerçekçi görüntüler elde etmek için kullanılan Aydınlatma
Modelleri ve Yüzey Kaplama Yöntemlerinin anlatılması
Renk modellerinin ve renk teorisinin anlatılması
Bilgisayar Animasyonları ile ilgili kavramların ve yöntemlerin anlatılması
2. ADIM
(Bilgisayar Grafiklerindeki Hazır Yazılım ve Uygulamaların Yapısal Açıdan Ayrıntılı
Olarak İncelenmesi)
Aşağıdaki türlerdeki hazır yazılımlar ayrıntılı olarak incelenecektir :
 Boyama (2D) Yazılımları (Photoshop, PaintShop, Gimp, PhotoPaint ...)
 Modelleme (3D & 2D) Yazılımları (3DS Max, AutoCad, Maya, Lightwave Modeller,
Poser, Bryce, HashMaster, CorelDraw, Adobe Illustrator ...)
 Canlandırma Yazılımları (3DS Max, Maya, Lightwave Modeler, Hash Master)
 Film Sonrası Yazılımları (Adobe Premiere, Adobe After Effects ...)
 Yayıncılık Yazılımları
 Kullanıcı Arayüzleri
 Oyun & Simulasyon Yazılımları
 Görüntü İşleme ve "Vision" Yazılımları
3. ADIM
(Yazılımlara Yönelik Grafik “Framework'ünün” Gereksinimlerinin Belirlenmesi)
4. ADIM
(Yazılımlara Yönelik Grafik Framework'lerinin Tasarlanması)
5. ADIM
(Yazılımlara Yönelik Grafik Framework'lerinin Kodlanması)
6. ADIM
(Yazılımlara Yönelik Grafik Framework'lerinin Test Edilmesi)
3. PROJENİN KAYNAĞINI OLUŞTURAN LİTERATÜR LİSTESİ
Deitel, H. M. and Deitel, P.J., 1999, Java How to Program, Third Edition, Prentice-Hall,
USA, 1355 p.
F.S.Hill, JR., 2000, Computer Graphics Using OpenGL, Second Edition, Prentice-Hall
Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner, 1999, OpenGL Programming
Guide, Third Edition, Addison-Wesley
Renata Kempf and Chris Frazier, 1999, OpenGL Reference Manual, Addison Wesley
Ron Fosner, 1998, OpenGL Programming Windows 95 and Windows NT, Addison Wesley
Download